Android Studio 生成 keystore 簽名文件


Android Studio 生成 keystore 簽名文件

 

常見 SSL 證書格式 :

  • .DER .CER,文件是二進制格式,只保存證書,不保存私鑰。
  • .PEM,一般是文本格式,可保存證書,可保存私鑰。
  • .CRT,可以是二進制格式,可以是文本格式,與 .DER 格式相同,不保存私鑰。
  • .PFX .P12,二進制格式,同時包含證書和私鑰,一般有密碼保護。
  • .JKS,二進制格式,同時包含證書和私鑰,一般有密碼保護。

DER

該格式是二進制文件內容,Java 和 Windows 服務器偏向於使用這種編碼格式。

OpenSSL 查看

openssl x509 -in certificate.der -inform der -text -noout

轉換為 PEM:

openssl x509 -in cert.crt -inform der -outform pem -out cert.pem

PEM

Privacy Enhanced Mail,一般為文本格式,以 -----BEGIN... 開頭,以 -----END... 結尾。中間的內容是 BASE64 編碼。這種格式可以保存證書和私鑰,有時我們也把PEM 格式的私鑰的后綴改為 .key 以區別證書與私鑰。具體你可以看文件的內容。

這種格式常用於 Apache 和 Nginx 服務器。

OpenSSL 查看:

openssl x509 -in certificate.pem -text -noout

轉換為 DER:

openssl x509 -in cert.crt -outform der -out cert.der

CRT

Certificate 的簡稱,有可能是 PEM 編碼格式,也有可能是 DER 編碼格式。如何查看請參考前兩種格式。

PFX

Predecessor of PKCS#12,這種格式是二進制格式,且證書和私鑰存在一個 PFX 文件中。一般用於 Windows 上的 IIS 服務器。改格式的文件一般會有一個密碼用於保證私鑰的安全。

OpenSSL 查看:

openssl pkcs12 -in for-iis.pfx

轉換為 PEM:

openssl pkcs12 -in for-iis.pfx -out for-iis.pem -nodes

JKS

Java Key Storage,很容易知道這是 JAVA 的專屬格式,利用 JAVA 的一個叫 keytool 的工具可以進行格式轉換。一般用於 Tomcat 服務器。

 

--------------------------------------------------------

 

p12 -> jks

keytool -importkeystore -srckeystore keystore.p12 -srcstoretype PKCS12 -deststoretype JKS -destkeystore keystore.jks

jks -> p12

keytool -importkeystore -srckeystore keystore.jks -srcstoretype JKS
-deststoretype PKCS12 -destkeystore keystore.p12

 

從jks里面導出cert

keytool -export -alias cert0001 -keystore trust.jks -storepass 123456 -file cert0001.cer

將cert導入jks

keytool -import -v -alias cert001 -file cert001.cer -keystore trust.jks -storepass 123456 -noprompt 

去除pem格式的key的密碼(輸出的密碼不輸入即可)

openssl rsa -in cert2.key -out cert22.key

合並pem格式輸出pfx(p12)

openssl pkcs12 -export -inkey cert22.key -in cert2.crt -out cert2.pfx

指定intermedian和CA

openssl pkcs12 -export -out mypkcs12.pfx -inkey my.private.key -in mycert.crt -certfile intermediate.crt -CAfile ca.crt 

 

pfx轉回pem

openssl pkcs12 -in cert2.pfx -out cert22.pem -nodes

pem轉key

openssl rsa -in cert22.pem -out cert22.key

pem轉crt

openssl x509 -in cert22.pem -out cert22.crt

cert轉pem

openssl x509 -in cert2.cer -out cert2.pem -outform PEM

 pem轉der

openssl x509 -in cert22.pem -inform PEM -out cert22.der -outform DER

der轉pem

openssl x509 -in cert22.cer -inform DER -out cert22.pem -outform  PEM

 

---------------------------------------------------------

 

 

======================= End

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM