2014-01-21 8 views
1

JDK 7에 포함 된 keytool을 사용하여 SAN 확장이있는 인증서를 포함하는 키 저장소를 만듭니다. 인증서를 디코딩하면 SAN 확장이 표시됩니다. 그런 다음 keytool을 사용하여 CSR을 내 보내면 CSR에 SAN 정보가 누락됩니다.Java Keytool에서 CSR 생성시 SAN을 제거합니다.

무엇을 제공합니까?

업데이트 : 나는 내가 CSR의 SAN을 포함 할 경우 내가 명시 적으로 명령 거짓말에 SAN을 표시해야한다는 것을 배웠다 : 말했다

keytool -certreq -alias mycertificate -keystore mekeystore.jks -ext san=dns:mydomain.com

, I OpenSSL CA로 CSR에 서명 할 때 불필요하게 복잡해지기 때문에 SAN을 사용하는 데 익숙하지 않았습니다.

+0

입력 한 명령 목록을 제공 할 수 있습니까? CSR에 extensionRequest 속성 (예 : SAN 확장자를 포함하는 extensionRequest 속성)을 포함시킬 수도 있지만 keytool이이 기능을 지원하는지 확신하지 못합니다. – Jcs

답변

3

CSR을 내보낼 때 SAN이 포함되지 않는 것이 정상입니다. CSR을 생성 할 때 하나의 공통 이름 또는 도메인 이름 만 제공하면됩니다.

이 링크를 참조하십시오 https://support.globalsign.com/customer/portal/articles/1229769-certificate-signing-request-csr---overview

SAN 또는 주체 대체 이름은 인증 기관에서 인증서의 주문 과정에서 추가되고있다. SAN은 인증서가 아니라 CSR에 추가됩니다.

+1

인증서의 SAN이 단일 도메인 이름 인증서처럼 설치되고 있습니다. SAN이 인증서에 포함되어있는 한 서버에서 보호됩니다. –

+0

이것이 왜 '정상'인지 더 자세히 설명해 주시겠습니까? FQDN이없고 CN을 지정하지 않고 SAN이있는 IP 만 지정하면 CSR에 포함됩니다. –