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)'。 –