CSR에 keyusage, regestrationID 등의 추가 필드를 추가해야합니다. Java IBM-sdk60을 사용하고 있습니다. 나는 x500 이름 API를 통해 갔고 어떤 해결책도 찾을 수 없었다. API에 대한 도움을 주시면 감사하겠습니다. 미리 감사드립니다.Java에서 추가 필드가있는 PKCS10 인증 요청 생성
2
A
답변
3
CSR (PKCS # 10) 요청에 추가 정보를 포함하는 표준 방법은 Attributes
을 추가하는 것입니다. 는 PKCS 번호에 따라 10 표준 :
속성 세트를 포함한의 목적은 두 가지이다 : 다른 특정 개체에 대한 정보 또는 엔티티 수도 나중에 요청 인증서에 의한 "도전 암호"를 제공하기 위해 폐지; 은 X.509 인증서에 포함 할 속성을 제공합니다.
: 속성의 비 한정적리스트는 PKCS #으로 부여된다 9
속성은 OID과 그 의미 OID에 따라
실제로 PKCS#9 3 개 속성을 정의 값인
당신이 찾고있는 사람이 확장 요청 경우 : extensionRequest 속성 유형은 요청자가 포함하고자하는 인증서 확장에 대한 정보 을 수행하는 데 사용 할 수있다
인증서에 있습니다.
이 코드 템플릿 (테스트하지) 당신이 속성을 포함하는 방법에 대한 몇 가지 힌트를 줄 수
CertificateExtensions exts = /* build the extensions set you want to include */
/* Wrap the extensions set into a SET OF */
OutputStream out = new ByteArrayOutputStream();
exts.encode(out);
DerValue val = new DerValue(DerValue.tag_SetOf, out.toByteArray());
PKCSAttribute extReq = new PKCSAttribute(new ObjectIdentifier("1.2.840.113549.1.9.14"), val.toByteArray());
PKCSAttributes attrs = new PKCSAttributes(new PKCSAttribute[] { extReq });
CertificationRequestInfo cri = new CertificationRequestInfo(subject, key, attrs);
CertificationRequest csr = new CertificationRequest(cri);
유의하시기 바랍니다 명시 적으로 열 속성은이 기간 동안 무시됩니다 지원이 PKCS 번호를 알린다는 CA 않는 인증서 생성
+0
고맙습니다 JCS ... 이것은 내가 찾고있는 와트입니다 ... 그리고 예 CA는 PKCS # 10 속성을 지원합니다.이 속성은 제공되는 솔루션에 대한 문제를 발견하지 못합니다 ... –
관련 문제
- 1. 보내기 HTTP 요청 (인증 요청)
- 2. Java JFrame 필드가있는 찾아보기 단추 추가
- 3. ALDB 인증 요청
- 4. Java에서 쿠키 생성 및로드
- 5. 모델에없는 추가 필드가있는 Django ModelForm
- 6. 추가 필드가있는 Entity Framework 클래스
- 7. Https 요청, Android의 인증
- 8. 요청 사양의 스텁 인증
- 9. cck 계산 필드가있는 Imagecache 동적 생성
- 10. XmlHttp 요청 기본 인증 문제
- 11. 어떻게 동적으로 생성 된 필드가있는 모델을 저장합니까?
- 12. Java에서 ASP.NET 폼 인증 사용
- 13. HTTP 인증 및 SOAP 요청
- 14. OAuth 인증 - 요청 설정 TK
- 15. Java에서 PDF 보고서 생성
- 16. Java에서 docx 생성
- 17. Java에서 PDF로 PCL 생성
- 18. Java에서 아이콘 이미지 생성
- 19. Java에서 문자 생성
- 20. 인증 체인 생성
- 21. 결과에 추가 필드가있는 SQL UNION 쿼리
- 22. 추가 필드가있는 One-Many 테이블의 클래스 디자인
- 23. Blackberry : 앱으로 채워진 필드가있는 연락처 추가
- 24. 추가 바인딩 가능한 필드가있는 ASP.NET 서버 컨트롤
- 25. Java에서 SAML 응답/어설 션 생성
- 26. Java에서 클래스 추가
- 27. Java에서 문자열을 추가 했습니까?
- 28. Java에서 인터페이스에 불변량 추가
- 29. 추가 아약스 요청
- 30. Java에서 이미 생성 된 xml로 webservice 호출하기
CSR을 생성하는 데 사용하는 API는 무엇입니까? – Jcs
안녕 JCS ... com.ibm.security.pkcs10. *;을 (를) 사용하고 있습니다. com.ibm.security.pkcsutil. *; com.ibm.security.x509.X500Name; 여기서 표준 CSR 요청은 CN, OU, O & C ... 필드로 구성됩니다. 이제 EKU (향상된 키 용도) 및 regestrationID와 같은 새 필드를 매핑해야합니다. 그 fileds를 매핑하는 방법을 찾지 못했습니다. –
String keyUsg = KeyUsageExtension.KEY_ENCIPHERMENT; byte [] der = 새 DerValue (keyUsg) .getOctetString(); KeyUsageExtension keyUsage = 새 KeyUsageExtension (true, der); DerInputStream in = 새로운 DerInputStream (keyUsage.toString(). getBytes()); PKCSAttributes attr = 새 PKCSAttributes ("IBMJCEFIPS"에서); 위의 코드 조각을 사용하여 KeyUsage 확장을 인증서 서명 요청에 추가하려고 시도했지만 다음 예외가 발생합니다. 스레드 "main"의 예외 java.io.IOException : DerValue.getOctetString, 옥텟 문자열이 아닙니다 : 12 @Jcs는 나를 도울 수 있습니다. –