TLS证书说明

阅读更多
生成服务端与客户端证书库
keytool -genkeypair -alias server -keyalg RSA  -validity 365 -keystore server.keystore -dname "CN=127.0.0.1,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456

keytool -genkeypair -alias client -keyalg RSA  -validity 365 -keystore client.keystore -dname "CN=client,OU=icesoft,O=icesoft,L=Haidian,ST=Beijing,c=cn" -storepass 123456 -keypass 123456


从服务端与客户端证书库中导出证书
keytool -export -v -alias client -keystore client.keystore  -storepass 123456 -rfc -file client.cer

keytool -export -v -alias server -keystore server.keystore -storepass 123456  -rfc -file server.cer

server.cer 即是根CA

把服务端与客户端证书分别导入客户端与服务端信任库

keytool -import -v -alias server -file server.cer -keystore client.truststore -storepass 123456

keytool -import -v -alias client -file client.cer -keystore server.truststore -storepass 123456


将客户端与服务端证书分别导入到服务端与客户端证书库
keytool -import -v -alias client -file client.cer -keystore server.keystore -storepass 123456

keytool -import -v -alias server -file server.cer -keystore client.keystore -storepass 123456


至此 java 服务可用的jks类型的证书生成完成。

将jks证书转化为 pem 格式 nginx 可用证书过程如下

1 jks 转为 pkcs12
keytool -importkeystore -srckeystore client.keystore -destkeystore client-keystore.p12 -srcstoretype jks -deststoretype pkcs12 -deststorepass 123456 -destkeypass 123456


2 pkcs12 中提取 私钥
openssl pkcs12 -in client-keystore.p12  -nodes -nocerts -out client.key


3 pkcs12 中提取证书
openssl pkcs12 -in client-keystore.p12  -nodes -nokeys -clcerts -out client.crt

你可能感兴趣的:(TLS证书说明)