之前在寫一些加解密程式,其中用到數位信封的東西,
數位信封
|
為了要能在程式內使用pfx檔的 publick key 和 private key,所以就要先將它們extract出來….
還好openssl幫上一點忙了
這裡定義了PFX跟PEM檔案的意義
|
If you want to
extract private key from a pfx file and write it to PEM file
openssl.exe pkcs12 -in publicAndprivate.pfx -nocerts -out privateKey.pem
If you want to extract the certificate file (the signed public key) from the pfx file
openssl.exe pkcs12 -in publicAndprivate.pfx -clcerts -nokeys -out publicCert.pem
To remove the password from the private key file.
openssl.exe rsa -in privateKey.pem -out private.pem
This is required as, at the time of exporting privateKey, you have added a
password to the private key to secure it. If you left the password with it, it
will keep asking the password as any application tries to access it.
關於憑證格式
用來確保 Internet 上之安全性的憑證,有數種不同的格式。在此簡短說明不同類型的憑證:
BER:“基本編碼規則”(BER)格式,是定義為部分 ASN.1 標準的其中一種編碼格式。它是將抽象資訊編碼為具體資料串流的標準。BER 有 2
種子類型:DER(可辨識的編碼規則),和 CER(規範編碼規則)。
DER:“可辨識的編碼規則”(DER)格式是使用於加密技術中,用來確保需要數位簽署的資料(如 X.509 憑證)會產生專屬的序列化表示法。DER
格式會讓簽署和驗證 X.509 憑證變為可能。
.cer、.crt:副檔名是 .crt 或 .cer 的檔案,其中包含一個使用“可辨識的編碼規則”(DER,由 ASN.1
標準所定義的一套規則,用來格式化二進位資料)的 X.509 憑證。
.p7b、.p7c、.p7s:副檔名是 .p7b 的檔案會有“公共密鑰加密標準 #7”(PKCS#7)訊息,其中包含一個或多個 X.509 憑證。S/MIME
安全郵件標準,為數位簽署和已加密的電子郵件使用了 PKCS#7。
.p12、.pfx:副檔名是 .p12 的檔案擁有已加密的檔案格式(符合“公共密鑰加密標準
#12”(PKCS#12))。此為用來儲存或傳送使用者的專用密鑰、憑證和其他密鑰的可攜式格式。這種標準支援在數種個人和整合的模式下直接傳送個人資
訊;從使用公用或專用密鑰,到較低的安全保護(以密碼為基準的隱私功能)都支援。
.pem:.pem 或“隱私強化郵件”(Privacy Enhanced
Mail)是使用公用密鑰加密技術來確保電子郵件安全的一種格式。它是使用純文字編碼,使其能使用於 S/MIME 訊息的標頭。.pem 格式是 X.509
憑證(二進位 DER 格式)的一種 base64 編碼,由文字標頭所包圍。
PEM 憑證的標頭範例可能是:
—–BEGIN CERTIFICATE—–
—–END CERTIFICATE—–
延伸閱讀:
|