openssl x509 -noout -serial -in 憑證檔
5.6.3 取得憑證的發行者 (Issuer) 欄位
openssl x509 -noout -issuer -in 憑證檔
5.6.4 取得憑證的使用者 (Subject) 欄位
openssl x509 -noout -subject -in 憑證檔
5.6.5 檢查憑證起始及終止日期
openssl x509 -noout -dates -in 憑證檔
5.6.6 取得憑證 MD5及SHA-1指紋
openssl x509 -noout -fingerprint -MD5 -in 憑證檔
openssl x509 -noout -fingerprint -SHA1 -in 憑證檔
5.6.7 將PEM與PKCS#12互轉
我們預計將Alice的私鑰(newkey.pem)和Alice的憑證(Alice02.crt)結合成一個PKCS#12的檔案(Alice.pfx)
$ sudo openssl pkcs12 -export in Alice02.crt -out Alice.pfx -name "Alice's Certificate" -inkey newkey.pem
過程中會被要求輸入私鑰的密碼,以及匯出 Alice.pfx 的密碼
將憑證匯入Windows
將Alice的PKCS#12檔案 Alice.pfx 轉換為包含Alice的私鑰和Alice的憑證
$ sudo openssl
pkcs12 -in Alice.pfx -out Alice_key_cert.pem
會被要求輸入Alice私鑰的密碼,並重新定義私鑰的密碼
此時Alice_key_cert.pem包含包含Alice的私鑰和Alice的憑證,我們將從中取出Alice的憑證
$ sudo openssl x509 -in
Alice_key_cert.pem -out Alice_cert.pem
5.6.8 文件加密,解密
將寄一封信給Alice,將以Alice的憑證(Alice02.crt)加密,Alice收到信後,再以自己的私鑰(newkey.pem)解密。
將信的內容存在(mes.txt)中,
以Alice的憑證(Alice02.crt)加密,存成 mes.txt.enc
$ sudo openssl smime -encrypt -in mes.txt -out mes.txt.enc Alice02.crt
Alice收到信後,將以自己的私鑰(newkey.pem)解密
$ openssl smime -decrypt -in mes.txt.enc -recip Alice02.crt -inkey newkey.pem
過程中須輸入Alice的私鑰密碼
5.6.10 文件簽章
Alice 希望將一個訊息檔 mes02.txt,以自己的私鑰(newkey.pem)來將訊息檔 mes02.txt加上數位簽章後成為mes02.txt.sig(裡面有夾帶Alice的憑證Alice02.crt),然後將mes02.txt及數位簽章檔mes02.txt.sig一併寄給Bob。
$ sudo echo "Meet me at the lobby 9AM." > mes02.txt
$ sudo openssl smime -sign -inkey newkey.pem -signer Alice02.crt -in mes02.txt -out mes02.txt.sig
5.6.11 文件驗章
Bob收到Alice寄過來的mes02.txt及數位簽章檔mes02.txt.sig,便可以利用Alice 的憑證(Alice02.crt)來驗證訊息檔mes02.txt在傳送過程中是否有被修改。
在驗證的過程中會先跟CA驗證 Alice 的憑證(Alice02.crt) 是否正確。
$ openssl smime -verify -in mes02.txt.sig -signer Alice02.crt -out mes02.txt -CAfile demoCA/cacert.pem
沒有留言:
張貼留言