2

X.509v3 / PKCS#7デジタル署名にカスタム拡張機能(すでにASN1.encoded)を追加するために使用するOIDが必要です。相互運用可能かどうかは気にしません。これは私的なプロプライエタリアプリケーションです(実際には、研究プロジェクトです)。今のところ、プロプライエタリアプリケーションで使用されているOIDであるかどうかは気にしませんが、明らかにそのOIDを長期間使用することはできませんでした。

現在、私は1.2.3.4.5を使用しています。これは、使用している暗号ライブラリ(cryptlib)のテストコードに含まれています。ただし、署名の作成がクラッシュしているため、これが理由かどうかはわかりません。入力をチェックするときに、ライブラリが少なくともいくつかの無効なOIDを拒否することを私は知っています。

4

3 に答える 3

3

問題は、ASN.1OBJECTIDオブジェクトとして使用しているOIDを正しくエンコードしていないことだと思います。私はCryptlibを知っていますが、使用したことがないので、なぜクラッシュするのかわかりませんが、不適切なOID値を選択するだけでなく、コーディングが無効になるのではないかと思います。Cryptlibが提供するOID値に重要性を与えるとは思えません(おそらく、「基本的な制約」などの既知の証明書拡張のOIDに予期しない値を指定しない限り)。

http://www.imc.org/ietf-pkix/pkix-oid.asnから、PKIXがテスト用のOID範囲を定義していることに気付きました。また、でoidを(ab)使用した場合、誰も混乱しないと思います。あなた自身の(内部、非公式の)テストのためのその範囲。テストOIDは、1.3.6.1.5.5.7.13以降のものです。

「X.509v3/PKCS#7デジタル署名」についてのあなたの話に少し心配しています... X.509とPKCS#7は本当にまったく異なります。カスタムの「拡張機能」についての話から、これは作成しようとしているX.509v3証明書であり、PKCS#7署名ではないことがわかりました...それは正しいですか?

于 2010-09-11T23:35:19.330 に答える
3

ここで「公式」プライベートOIDをリクエストして、将来の衝突を防ぐことができます。

于 2010-09-13T14:07:19.693 に答える
3

@dajamesと@KenJohnsonによる(正しい)回答に加えて、 PEN OIDを登録したくない/必要がない場合は、 UUIDベースのOIDを使用することもできます(ただし、長期的にはPENの方が優れている可能性があります)。

于 2010-09-22T17:29:17.727 に答える