1

http://msdn.microsoft.com/en-us/library/system.security.cryptography.pkcs(VS.85).aspxでは、次のデジタル署名属性が定義されていることがわかります。

  • Pkcs9ContentType
  • Pkcs9ドキュメントの説明
  • Pkcs9DocumentName
  • Pkcs9MessageDigest
  • Pkcs9SigningTime

このうち、Pkcs9DocumentDescriptionPkcs9DocumentNameはPKCS#9 仕様には存在しません。Bouncy Castleを使用する Java アプリケーションがあり、この 2 つの属性を持つデジタル署名をアプリケーションで作成できるようにしたいと考えています。

それで、私は2つの質問があります:どうやってそうするのですか?私はそれをすべきですか?

4

1 に答える 1

0

次のように、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。それらを使用できる外部システムに依存するべきではありません。

于 2010-02-09T11:18:22.970 に答える