openssl verify -CAfile ca.cer server.crt
現在很多網站和服務都使用了HTTPS進行鏈路加密、防止信息在傳輸中間節點被竊聽和篡改。HTTPS的啟用都需要一個CA證書,以保證加密過程是可信的。
我們可以申請和獲得一個CA機構頒發的證書,在軟件調試過程中或者機構內部網可以創建自簽名的CA證書,在【配置Harbor私有Docker鏡像服務使用HTTPS】有關於自簽名CA證書制作和使用的描述。
所謂“自簽名”就是把自己當成一個CA證書頒發機構,只不過未得到公共證書機構的認可。這樣的CA證書在部分操作系統下,可以直接配置在應用系統里使用,在瀏覽器里往往會進行提示,如果加入“例外”白名單中,就可以繼續使用。
但在有的操作系統和一些版本中,需要將根證書配置為系統級的證書,才允許繼續使用,系統就像個看大門的,需得首先過了這一關才行。尤其是因為出現證書機構頒發虛假證書問題,最近很多操作系統都加強了安全措施,對證書都加強了驗證,必須進行ca證書配置才能繼續訪問了。
Mac OS X
添加證書:
sudo security add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain ~/new-root-certificate.crt
移除證書:
sudo security delete-certificate -c "<name of existing certificate>"
Windows
添加證書:
certutil -addstore -f "ROOT" new-root-certificate.crt
移除證書:
certutil -delstore "ROOT" serial-number-hex
Linux (Ubuntu, Debian)
添加證書:
-
復制 CA 文件到目錄: /usr/local/share/ca-certificates/
-
執行:
sudo cp foo.crt /usr/local/share/ca-certificates/foo.crt
-
更新 CA 證書庫:
sudo update-ca-certificates
移除證書:
-
Remove your CA.
-
Update the CA store:
sudo update-ca-certificates --fresh
Restart Kerio Connect to reload the certificates in the 32-bit versions or Debian 7.
Linux (CentOs 6)
添加證書:
-
安裝 ca-certificates package:
yum install ca-certificates
-
啟用dynamic CA configuration feature:
update-ca-trust force-enable
-
Add it as a new file to /etc/pki/ca-trust/source/anchors/:
cp foo.crt /etc/pki/ca-trust/source/anchors/
-
執行:
update-ca-trust extract
Restart Kerio Connect to reload the certificates in the 32-bit version.
Linux (CentOs 5)
添加證書:
Append your trusted certificate to file /etc/pki/tls/certs/ca-bundle.crt
cat foo.crt >> /etc/pki/tls/certs/ca-bundle.crt