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/