JavaScriptを使用するPKI(公開キー基盤)? PKIjsおよびASN1jsライブラリで可能になりました

PKIインフラストラクチャの編成に必要なほぼすべての機能を実装する2つのライブラリ、PKIjsと補助ライブラリASN1jsを紹介します。 ライブラリは、商用製品であっても特別な制限なしにコードを使用できるようにするライセンスの下で自由に利用でき、配布されます。 これらのライブラリの完全なコードはGitHubで入手できます: PKIjs + ASN1js

導入部で読者を直接引き付けるために、上記のライブラリの機能の短いリストを示します。
  1. オブジェクト指向コード
  2. HTML5での作業(ArrayBuffer、Promises、WebCrypto(Google Chromeの「dev nightly build」を使用);
  3. 次のオブジェクトのデータを作成、検証、受信、変更する機能:
    1. X.509証明書
    2. レビューリスト(CRL)X.509
    3. 証明書リクエスト(PKCS#10)
    4. OCSPリクエスト;
    5. OCSPサーバーの応答
    6. タイムスタンプ(TSP)リクエスト
    7. TSPサーバーの応答
    8. CMS署名データ
    9. CMSエンベロープデータ

  4. JavaScriptで独自の「証明書チェーン検証エンジン」を実装します。
  5. ...その他多数! カットの下を見てください!


ライブラリとそのヘルプを使用してできることの詳細。

ASN1js


ASN1jsライブラリはASN.1 BERデータエンコーダー/デコーダー(基本エンコーディングルール)です。つまり、自動的にDERおよびCERルールセットを操作できます。 このライブラリでは、データのエンコード/デコードに加えて、ASN.1オブジェクトのわかりやすいスキームを作成したり、デコードされたASN.1 BERデータを以前に作成したスキームとさらに比較したりすることもできます。

このライブラリの一連の機能をリストします。


ライブラリには多くの例があります(GitHubを参照)。 さらに、設計された別のライブラリであるPKIjsは、ASN1jsライブラリを使用する最大の「例」かもしれません。

PKIjs


このライブラリはもともと、最も単純なものから最も複雑なものまで、PKIソリューションの本格的な構造を作成するための基礎として考えられていました。 ユーザーがそれを操作するのが便利である必要があり、データに簡単にアクセスでき、簡単に変更できる必要があります。 ライブラリには、必要なすべてのPKI関連構造(GeneralName、さまざまなタイプのX.509証明書拡張など)を操作するための50を超える「ヘルパー」があります。 ライブラリは多層構造であり、簡単に変更および補足できます。 GitHubでは、「問題」セクションでこのライブラリの現在の開発計画を確認できます。

このライブラリの一連の機能をリストします。


そして今、PKIjs + ASN1jsを使用して作成できることの少し:


これらのライブラリに関する質問については、著者として直接連絡してください。 繰り返しますが、これらのライブラリーのリポジトリーであるASN1jsおよびPKIjsを思い出します。 すべてのコメントと提案を受け付けます。

PS:2014年5月7日から追加-CMS署名付きデータ+ CSMエンベロープデータに関する情報を追加するのを忘れて、修正しました。

Source: https://habr.com/ru/post/J221857/


All Articles