openssl憑證使用設定
憑證轉移
使用Linux的openssl做設定將cer轉成crt
openssl x509 -in server.cer -out server2.crt -inform DER
crt轉成cer(DER格式)
openssl x509 -in server.crt -out server.cer -outform DER
將crt與key合併成pfx和ca
openssl pkcs12 -export -in server.crt -inkey server.key -out server.pfx -certfile ca.crt -password pass:123456
pfx轉移成pem
openssl pkcs12 -in server.pfx -out server.pem -nodes -password pass:123456
pem轉出crt
openssl x509 in server.pem -out server.crt
pem轉出key
openssl rsa -in server.pem -out server.key
pfx轉出crt跟ca
openssl pkcs12 -in server.pfx -nokeys -out server2.crt -nodes -password pass:123456
pfx轉出key
openssl pkcs12 -in server.pfx -nocerts -out server2.key -nodes -password pass:123456
crt 轉成 p7b
openssl crl2pkcs7 -nocrl -certfile server.crt -out server.p7b -certfile ca.crt
pfx轉成jks
keytool -importkeystore -srckeystore server.pfx -destkeystore server.jks -srcstoretype PKCS12 -deststoretype jks -srcstorepass 123456 -deststorepass 123456
jks轉pfx
keytool -importkeystore -srckeystore server.jks -destkeystore server2.pfx -srcstoretype jks -deststoretype PKCS12 -srcstorepass 123456 -deststorepass 123456
以下3種方式出來的檔案hash值應該都要一樣
openssl pkey -in server.key -pubout -outform pem | sha256sum
openssl x509 -in server.crt -pubkey -noout -outform pem | sha256sum
openssl req -in server.csr -pubkey -noout -outform pem | sha256sum
查看crt
openssl x509 -in server.crt -text -noout
檢查憑證
openssl verify server.crt
查看key
openssl rsa -in server.key -text -noout
檢查key
openssl rsa -noout -text -check -in server.key
檢查 server.pfx
openssl pkcs12 -info -in server.pfx
檢查 server.jks
keytool -v -list -storetype jks -keystore server.jks -storepass 123456
備註:cer是給IIS使用,crt則是apache跟nginx使用。
知識補充
cert跟crt為 certificate縮寫
windows可讀格式:cer pfx p7b,cer分der編碼(二進位)跟base64編碼(plain text)
apache跟nginx使用pem跟crt
java使用jks跟pfx
pem包含.crt跟.key
公鑰開頭為BEGIN CERTIFICATE,結束為END CERTIFICATE
私鑰開頭為BEGIN RSA PRIVATE KEY,結束為END RSA PRIVATE KEY
參閱資料:
https://ssorc.tw/7142/openssl-command-line-convert-file-for-pem-der-p7b-pfx-cer/
No Comments