tls/ssl證書生成和格式轉換

生成密鑰:
openssl genrsa -out privkey.pem 2048tomcat

生成csr申請文件:
openssl req -sha256 -new -key privkey.pem -out pubkey.pemssh

生成自簽名證書:
openssl x509 -req -days 365 -in my.csr -signkey my.key -out my.crtspa

轉換爲pfx格式:
openssl pkcs12 -export -out my.pfx -inkey my.key -in my.pemorm

PKCS7 轉 PEM:ip

openssl pkcs7 -print_certs -in my.cer -out my.pemmd5

JKS  轉 PKCS12:ssl

keytool -importkeystore -srckeystore my.jks -destkeystore my.p12 -srcstoretype JKS -deststoretype PKCS12 -srcstorepass passwordText -deststorepass passwordText -srcalias aliasText -destalias aliasText -srckeypass passwordText -destkeypass passwordText -nopromptci

PKCS12 轉 PEM:get

openssl pkcs12 -in my.p12 -out my.pem -passin pass:password_of_p12 -passout pass:password_for_pemopenssl

PEM 轉 DER:

openssl x509 -outform der -in my.pem -out my.der

PEM 轉 P7B:

openssl crl2pkcs7 -nocrl -certfile my.pem -out my.p7b -certfile ca.pem

 

去掉private key密碼:

openssl rsa -in my_encrypt.key -out my.key

申請免費證書:
https://www.letsencrypt.com

 

轉換爲tomcat所用證書格式:

openssl pkcs12 -export -in my.crt -inkey my.key -out my.pk12 -name sshkey

keytool -importkeystore -deststorepass 123455 -destkeypass 123455 -destkeystore my.keystore -srckeystore my.pk12 -srcstoretype PKCS12 -srcstorepass 123455 -alias sshkey

 

openssl pkcs12 -export -in my.crt -inkey my.key -certfile bundle.crt -out my.p12 -name sshkey

keytool -importkeystore -srckeystore my.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore my.jks -alias sshkey

 

列出jks的詳細信息:

keytool -list -v -keystore my.jks 

 

檢查證書文件是否匹配:

openssl x509 -noout -modulus -in my.crt | openssl md5
openssl rsa -noout -modulus -in my.key | openssl md5
openssl req -noout -modulus -in my.csr | openssl md5

 

檢查證書鏈是否匹配:

openssl verify -CAfile bundle.crt my.crt

 

tomcat 配置:

<Connector port="8443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true" scheme="https" secure="true" clientAuth="false" sslProtocol="TLS" keystoreFile="/usr/share/tomcat/ssl/my.keystore" keystorePass="123455" SSLVerifyClient="optional" SSLProtocol="TLSv1+TLSv1.1+TLSv1.2" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256, TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA, SSL_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_3DES_EDE_CBC_SHA" />

相關文章
相關標籤/搜索