След три години и половина разработка, беше пуснат пакетът Sequoia 1.0 , който разработва библиотека от функции и инструменти за команден ред с имплементацията на стандарта OpenPGP (RFC-4880).
В изданието беше обобщена работата по ниско ниво API , което имплементира стандартното покритие на OpenPGP, достатъчно за пълноценно използване. Кодът на проекта е написан на Rust и се разпространява под лиценз GPLv2+.
Проектът е основан от трима сътрудници на GnuPG от g10code, разработчик на плъгини за GnuPG и фирма за одит на криптосистеми. Екипът на Sequoia е известен и със създаването на ключовия сървър Hagrid, който се използва от услугата keys.openpgp.org.
Целта на новия проект беше да преработи архитектурата и да приложи нови техники за подобряване на сигурността и надеждността на кодовата база.
За да подобри сигурността, Sequoia използва не само защитени инструменти за програмиране , които използват езика Rust, но и защита от грешки на ниво API.
Например, API ви предпазва от случайно експортиране на секретен ключ , тъй като операциите по експортиране изискват изричен избор по подразбиране. По подобен начин API гарантира, че не се пропускат важни стъпки при актуализиране на цифров подпис; по подразбиране времето за създаване, хеш алгоритъмът и издателят на подписа се актуализират автоматично.
Sequoia също се опитва да се отърве от недостатъците на GnuPG , като например десинхронизацията на функционалността на инструментите от командния ред с библиотеката с функции (някои действия могат да се извършват само с помощта на помощната програма) и прекалено тясното свързване между компонентите, което затруднява извършването на промени, обфуцира кодовата база и предотвратява създаването на цялостна система за модулно тестване.
Sequoia разработва помощната програма за команден ред sq с поддръжка на подкоманди в стил Git , програмата sqv (заместител на gpgv) за проверка на отделни подписи, помощната програма sqop (Stateless OpenPGP CLI) и библиотеката sequoia-openpgp.
Има връзки за езиците C и Python. Повечето функции, описани в стандарта OpenPGP, са съвместими с криптиране, декриптиране, създаване и проверка на цифрови подписи.
Сред усъвършенстваните функции се отбелязва, че поддържа проверка с помощта на цифрови подписи, доставени отделно (отделен подпис), адаптация за интеграция с мениджъри на пакети (APT, RPM, качване и др.), Възможност за ограничаване на подписите по прагови и времеви стойности.
За опростяване на разработката, отстраняването на грешки и анализа на инциденти се предоставят инструменти за проверка на пакети, които се интегрират с анализатора и ви позволяват да анализирате визуално структурата на криптирани съобщения, цифрови подписи и ключове.
От съображения за сигурност е разрешено използването на криптографски услуги, като например копроцесори за изчисления в изолирани анклави. За по-нататъшна изолация, услугите, работещи с публични и частни ключове, са разделени на отделни процеси (взаимодействието между процесите е организирано с помощта на протокола Cap'n Proto). Например, хранилището на ключове е реализирано като отделен процес.
Има две опции за API: ниско ниво и високо ниво. Ниско нивото API възпроизвежда възможно най-точно възможностите на OpenPGP и някои свързани разширения, като например поддръжка на ECC, нотариална заверка (подпис върху подпис) и елементи от черновата на бъдещото издание на стандарта.
Наблюдава се, че според планираната функционалност, Sequoia е достигнала готовност за версия 1.0 преди година, но разработчиците са решили да не бързат и вместо това да отделят повече време за намиране на грешки и писане на пълна, висококачествена документация с връзки към информация в стандарта OpenPGP и примери за употреба.
Версия 1.0 в момента обхваща само кутията sequoia-openpgp и помощната програма sqv за проверка на цифров подпис. CLI "sq" и API-тата от високо ниво все още са в процес на финализиране и не са стабилизирани.
Ограниченията, които се планира да бъдат премахнати в бъдещи версии, включват внедряването на услуги за съхранение на частни и публични ключове, поддръжка на цифрови подписи с ясен текст и възможността да се използват регулярни изрази за определяне на доверени подписи.