欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

TLS证书说明 博客分类: TLS  

程序员文章站 2024-03-19 20:18:28
...
生成服务端与客户端证书库
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