開発開始から3年後、 リリースSequoia1.0が公開されました。これはOpenPGPのRust実装であり、関数とコマンドラインツールの広範なライブラリが含まれています。開発者が低レベルAPIの作業を完了した後に公開されたリリースで、完全にOpenPGP標準を実装しただけ です。
これはすべてRustで記述されており、パッケージはGPLv2 +ライセンスの下で配布されます。 Linux、FreeBSD、Windows、macOS、Android、iOSのすべての主要なプラットフォーム用のバージョンがあります。開発チームは小規模で、g10codeの3人のGnuPG開発者に基づいています。同じコマンドで、keys.openpgp.orgサービスで使用されるHagridキーサービスが作成されました 。..。パッケージが何であるかについて-カットの下で。
開発者が設定した主な目標は、アーキテクチャの完全な再設計と、コードベースのセキュリティと信頼性を向上させるための新しい手法の使用です。
セコイアの保護レベルを上げるために、Rust言語を使用した安全なプログラミングツールに加えて、APIレベルのエラー保護が適用されます。例として、デフォルトのエクスポート操作では明示的な選択が必要なため、秘密鍵の内容を誤ってエクスポートできないことがあります。さらに、APIは、デジタル署名の更新中に重要な手順を見逃さないようにします。この操作により、作成時間、ハッシュアルゴリズム、および署名発行者が更新されます。
さらに、開発者はこのプロジェクトの作成者であるため、gnuPGPの欠点に精通しています。新しいリリースでは、彼らはそれらを取り除こうとしました。たとえば、コマンドラインツールの機能と関数のライブラリとの非同期化を排除するための対策が講じられています。一部のアクションは、ユーティリティ自体のインターフェイスでのみ実行できます。さらに、コンポーネント間の結合が緊密すぎるという問題が解消されました。これが、コードベースの変更を困難にしたためです。その結果、ユニットテストの構成に混乱と複雑さが生じます。
開発者は、パッケージ検査ツールをパーサーと統合して作成しました。これらを使用すると、開発、デバッグ、およびインシデント分析を簡素化できます。さらに、ユーザーは、デジタル署名やキーなど、暗号化されたメッセージの構造を視覚的に分析する機会を得ることができます。
セコイアも開発平方コマンドラインユーティリティ Gitのスタイルのサブコマンドをサポートしているが、SQVのプログラム (の代替 GPGV切り離さ署名を検証するため)、sqopのユーティリティ (ステートレスのOpenPGP CLI)、及び セコイア・OpenPGPのライブラリ。開発者は、C言語とPython言語のバインディングを提供しています。
新しいリリースは、デジタル署名の暗号化、復号化、作成、検証など、OpenPGP標準に固有の機能の大部分をサポートしています。高度な機能については、個別に提供されるデジタル署名(分離署名)による検証のサポート、パッケージマネージャー(APT、RPM、貨物など)との統合への適応、およびしきい値と時間によって署名を制限する機能が追加されました。
2つのAPIオプションもあります。低レベルとそれに応じて高レベルです。 1つ目は、OpenPGPおよび関連する拡張機能の機能を最も正確に再現します。さらに、バッファなしのメッセージ処理、証明書およびキーのフィールドの解析およびシリアル化の呼び出しを提供します。 2番目のAPIである高レベルのAPIは、ヘルパー機能とドメイン固有の機能の両方をカバーします。これらは、公開鍵の保管およびネットワークアクセス機能です。残念ながら、高レベルのAPIはまだ開発中であり、開発の初期段階にすぎません。
興味深いことに、現在の機能のほとんどは1年前に準備ができていましたが、開発者はリリースを急いでいませんでした。彼らは、コードベースにバグがないかチェックして再チェックすることを好みました。さらに、チームは OpenPGPを参照して包括的なドキュメントを作成しました。開発者はユースケースを忘れていません。
1.0リリースには、 sequoia-openpgpクレートとsqvデジタル署名検証ユーティリティが含まれるようになりました 。そしてここにsqCLIがあります 高レベルのAPIはまだ安定化されておらず、最終化されています。近い将来、開発チームは、秘密鍵と公開鍵を格納するサービスを統合し、暗号化されていないデジタル署名のサポートを追加し、正規の式を使用して信頼できる署名を決定する機能を追加する予定です。