회사의 다른 모든 인증서에 서명하는 데 사용되는 "회사"자체 서명 인증서를 만들고 싶습니다. 내 목표는 그 용도로만 Java keytool
을 사용하는 것입니다.keytool을 사용하여 서버 인증서를 만드는 데 필요한 최소 단계 수
내 첫 번째 단계는 "전체 조직"신뢰을에서 기업 자체 서명 된 인증서를 생성하는 키 저장소했다 : - 서버 - 그럼
keytool -genkeypair -keystore truststore.jks -storepass changeit -alias ca -keypass changeit -dname CN=ca,OU=dev,O=myorg
, 나는 다른 만든 인증서에 그것은 자신의 서버 키 저장소, CSR을 생성하고, 마지막으로 단지 ca
자체 서명 된 인증서 이상 발생와 함께 불똥이 튄 :
keytool -genkeypair -keystore server.jks -storepass changeit -alias server -keypass changeit -dname CN=server,OU=dev,O=myorg
keytool -certreq -keystore server.jks -storepass changeit -alias server -keypass changeit -file server.csr
keytool -gencert -keystore truststore.jks -storepass changeit -alias ca -keypass changeit -infile server.csr -outfile server.cer
- 서버 키 저장소에서 서버 인증서 - 현재 로그인 :
keytool -importcert -keystore server.jks -storepass changeit -alias server -keypass changeit -file server.cer
I을 다음 오류가 발생했습니다 :
키 도구 오류 : java.lang.Exception와는 :
:극복하기 위해 응답에서 체인을 설정하지 못했습니다, 내가 신뢰에서 자체 서명 된 인증서를 내 보낸, 서버에 키 저장소에 그것을 가져
keytool -importcert -keystore server.jks -storepass changeit -alias ca -keypass changeit -file ca.cer -noprompt
마지막으로, 서버 인증서를 다시 가져 keytool -exportcert -keystore truststore.jks -storepass changeit -alias ca -keypass changeit -file ca.cer
성공적으로이 시간.
이 방법이 효과가있을 수 있지만 그 해결책이 마음에 들지 않습니다. 자체 서명 인증서를 가져 오기 전에 서명 한 서버 인증서를 가져 오기 전에.
keytool
인증서 요청을 생성하고 자체 서명 된 인증서로 서명하고 루트 인증서를 가져 오지 않고 키 저장소로 가져올 수있는 일련의 작업을 찾고 있는데 서버 인증서는 서버 저장소의 유일한 인증서 여야합니다.
이러한 목적으로 openssl
을 사용하고 싶지 않고, cacerts
을 포함시키지 않으려합니다. 가능한가?