SSL:Ubuntu證書配置


CA證書的配置

Ubuntu上CA證書的配置可以通過工具ca-certificates來方便的進行。該工具默認是隨Ubuntu安裝的,如果沒有可以通過下面的命令來安裝:

sudo apt-get install ca-certificates

需要安裝CA證書我們只需要將其放在”/usr/share/ca-certificates”目錄或其子目錄下,ca-certificates工具就能自動掃描到。為了不與其它根證書混淆,我們創建一個子目錄名為”extra”:

sudo mkdir /usr/share/ca-certificates/extra

然后將待安裝的證書拷貝到剛剛創建的目錄下:

sudo cp CASHLibCACert.crt /usr/share/ca-certificates/extra/CASHLibCACert.crt

(注意這里的證書是.crt的擴展名)

接下來讓ca-certificates工具幫我們安裝CA證書:

sudo dpkg-reconfigure ca-certificates

clip_image002[4]

選擇”Yes”,我們能看到待安裝的CA證書已經被掃描到了,選中它(點空格鍵)然后選”OK”就行了。

clip_image004[4]

看到這樣的消息就說明CA證書已經安裝成功了

clip_image006[4]

那么安裝的CA證書在哪里呢,Ubuntu把所有的證書都放在”/etc/ssl/certs”目錄下,包括CA證書和普通的證書。來看看剛剛安裝好的證書:

clip_image008[4]

CASHLibCACert.pem就是CA證書。 我們安裝的時候證書擴展名是.crt,安裝后擴展名變為了.pem。這兩者的內容其實是一樣的。CASHLibCACert.pem就是CA證書。 我們安裝的時候證書擴展名是.crt,安裝后擴展名變為了.pem。.crt證書是按base64編碼的,如果.pem也采用base64編碼,那么這兩者是可以通用的。在本例中,CA證書的內容在安裝前后沒有變化。

普通證書的配置

普通證書是指除CA之外的證書,真正用來做身份認證或簽名的證書。相對而言,CA證書用來驗證普通證書的可信性。

普通證書沒有特別的安裝步驟,放在任意可以訪問的目錄下就可以了。當然也可以拷貝到Ubuntu的證書目錄下,跟剛剛安裝的CA證書在同一目錄——”/etc/ssl/certs”

證書的使用

以Python代碼為例,測試采用TLS協議的SSL連接:

import socket,ssl,pprint
addr=('10.175.13.159', 56001)
s =socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.connect(addr)
#cert_file="/home/guagua/Documents/CASHLibClient.pem"
cert_file="/etc/ssl/certs/CASHLibClient.pem"
ssl_sock=ssl.wrap_socket(s,certfile=cert_file,ca_certs="/etc/ssl/certs/CASHLibCACert.pem"
    ,cert_reqs=ssl.CERT_REQUIRED,ssl_version=ssl.PROTOCOL_TLSv1)
peername = ssl_sock.getpeername()
print peername


免責聲明!

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



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