Java アプリケーションで Microsoft PKCS#9 SignerInfo 属性を使用するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/2228441

質問

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からでない属性を使用して、何も問題はありません。あなただけの外部システムがそれらを使用できることに頼るべきではありません。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top