验证证书指纹

3

我想比较自签名SSL证书的指纹。为此,我考虑了以下方法:

import ssl, socket
from m2crypto import X509

cert_pem = ssl.get_server_certificate(addr)
x509 = X509.load_cert_string(cert_pem, X509.FORMAT_PEM)
fp = x509.get_fingerprint('sha1')
if fp==allowed_fp:
   s = socket.socket(socket.AF_INET,socket.SOCK_STREAM)
   s.connect(addr)

但我看到的偏见是,在验证和连接之间,证书可能会发生变化。最好实际使用与 ssl.get_server_certificate 相同的连接。是否有更好的比较指纹的方法?

1个回答

4

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接