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
  • pkcs9documentName
  • pkcs9messagedigest
  • pkcs9signingtime

이들 중, pkcs9documentDescription 그리고 pkcs9documentName 에 존재하지 않습니다 PKCS#9 사양. 사용하는 Java 응용 프로그램이 있습니다 탄력 성 그리고 내 앱 이이 두 속성을 가진 디지털 서명을 만들 수 있기를 원합니다.

그래서 두 가지 질문이 있습니다. 어떻게해야합니까? 내가해야하나요?

도움이 되었습니까?

해결책

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