Java アプリケーションで Microsoft PKCS#9 SignerInfo 属性を使用するにはどうすればよいですか?
-
19-09-2019 - |
質問
で http://msdn.microsoft.com/en-us/library/system.security.cryptography.pkcs(VS.85).aspx 次のデジタル署名属性が定義されていることがわかります。
- Pkcs9ContentType
- Pkcs9DocumentDescription
- Pkcs9ドキュメント名
- Pkcs9メッセージダイジェスト
- Pkcs9署名時間
そのうち、 Pkcs9DocumentDescription そして Pkcs9ドキュメント名 には存在しません PKCS#9仕様. 。を使用する Java アプリケーションがあります 弾む城 そして、アプリでこれら 2 つの属性を持つデジタル署名を作成できるようにしたいと考えています。
そこで、2 つの質問があります。どうやってそうするのですか?そうすべきでしょうか?
解決
は、手動でそのように、OIDを使用して属性を構築する必要があります
ObjectIdentifier dnOid = new ObjectIdentifier("1.3.6.1.4.1.311.88.2.1");
ObjectIdentifier ddOid = new ObjectIdentifier("1.3.6.1.4.1.311.88.2.2");
ASN1Set nameSet = new DERSet(new ASN1Encodable[] {new DERPrintableString("name")});
ASN1Set descriptionSet = new DERSet(new ASN1Encodable[] {new DERPrintableString("description"}));
Attribute documentName = new Attribute(dnOid, nameSet);
Attribute documentDescription = new Attribute(ddOid, descriptionSet);
私は、属性値のためDERPrintableString
を使用すると、私の最高の推測であることを指摘すべきです。私は正しいタイプを示すためのドキュメントを見つけることができません。
については、のはずです。の、よく、PKCS #9
からでない属性を使用して、何も問題はありません。あなただけの外部システムがそれらを使用できることに頼るべきではありません。
所属していません StackOverflow