0
我需要將服務器證書下載爲DER文件。我正在使用python。我可以使用此腳本連接到服務器,但我需要在本地硬盤中下載證書,以便在下一階段解析它。如何使用python下載x509證書
import socket, ssl
import OpenSSL
hostname='www.google.com'
port=443
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
ssl_sock = context.wrap_socket(s, server_hostname=hostname)
ssl_sock.connect((hostname, port))
ssl_sock.close()
print("ssl connection Done")
cert = ssl.get_server_certificate((hostname, port))
# OpenSSL
x509 = OpenSSL.crypto.load_certificate(OpenSSL.crypto.FILETYPE_PEM, cert)
你能澄清一些關於'開(「/ tmp目錄/ google.der」,「WB ')as f:f.write(der)'?我得到錯誤:FileNotFoundError:[Errno 2]沒有這樣的文件或目錄:'/tmp/google.der'',但是,我在項目文件夾內創建了tmp文件夾。我也試過'open('../ tmp/google.der','wb')'但是這並沒有解決問題。 – user2192774
@ user2192774你可能會得到這個錯誤,因爲你的系統沒有'/ tmp'目錄。在這種情況下,只需執行'open('google.der','wb)'。 –