PKCS#12に公開されている拡張機能はありますか?
-
10-12-2019 - |
質問
PKCS#12 は、対応するXを持つ秘密鍵をまとめるための便利な方法です。.509標準化された単一ファイル形式への証明書。ただし、この仕様は1999年にRSALABSによって公開され、対称暗号化のためにRC4、RC2、およびトリプレードのみを使用しています。より多くの暗号化アルゴリズムやその他のキー導出機能を追加する、スキームには一般的な半標準拡張がありますか? OpenSSL は、AESとCamelliaのサポートを実装するために文書化されていますが、対応する標準の検索は空白の回避します。だからこれはOpenSSLに固有の何か実装のようです。誰かがこれらの拡張機能のASN.1モジュールと疑似コードを文書化しましたか?
解決
PKCS#12は他の規格からのビルディングブロックを使用しています。
推奨される暗号化モードは、PKCS#5(PBES2)からのパスワードベースの暗号化に基づいています。これは、SHA-2とAESのサポートがサポートされています。.2.1
OpenSSLがAESを使用すると、このようなものがあります。
684 30 806: SEQUENCE {
688 30 802: SEQUENCE {
692 06 11: OBJECT IDENTIFIER
: pkcs-12-pkcs-8ShroudedKeyBag (1 2 840 113549 1 12 10 1 2)
705 A0 723: [0] {
709 30 719: SEQUENCE {
713 30 73: SEQUENCE {
715 06 9: OBJECT IDENTIFIER
: pkcs5PBES2 (1 2 840 113549 1 5 13)
726 30 60: SEQUENCE {
728 30 27: SEQUENCE {
730 06 9: OBJECT IDENTIFIER
: pkcs5PBKDF2 (1 2 840 113549 1
5 12)
741 30 14: SEQUENCE {
743 04 8: OCTET STRING
: BA 6B 5B B3 47 27 C9 73
753 02 2: INTEGER 2048
: }
: }
757 30 29: SEQUENCE {
759 06 9: OBJECT IDENTIFIER
: aes128-CBC (2 16 840 1 101 3 4 1 2)
770 04 16: OCTET STRING
: 0F 79 79 0A D3 EC C0 3E 20 B8 51 85 2F 2B 6C 29
: }
: }
: }
.
ソースを読み取ることができる限り、OpenSSLはPKCS#5 PBES2を使用している場合、ゼロ終端UTF-16ではなくパスワードをASCIIとしてエンコードします。
所属していません StackOverflow