Python imaplib显示证书密钥

| 我希望imaplib显示IMAP服务器证书的md5(或SHA)密钥,以确保没有MITM(我不信任CA,因此在这种情况下验证链还不够) )。 显示整个证书也可以。 我将不胜感激! 克里斯     
已邀请:
您可以使用M2Crypto软件包从IMAP连接的SSL套接字解析完整的SSL证书。这是一个例子:
import imaplib
from M2Crypto import X509

cn = imaplib.IMAP4_SSL(\'imap.gmail.com\', 993)
sock = cn.ssl()
data = sock.getpeercert(1)
cert = X509.load_cert_string(data, X509.FORMAT_DER)
print cert.get_fingerprint()
印刷品:
2029AF27C0A55390D670C0BD7AB9747
使用
cert
上的其他属性可获得更多信息。     
我不知道如何从imaplib进行操作,但是您可以连接到安全的IMAP服务器并使用M2Crypto显示证书:
from M2Crypto import SSL                                                                            
ctx = SSL.Context(\'sslv3\')                                                                          
c = SSL.Connection(ctx)                                                                             
c.connect((\'localhost\', 993)) # automatically checks cert matches host                              
cert = c.get_peer_cert()                                                                            

print cert.as_pem()                                                                                 
print cert.as_text()   
请注意,“ 2”是X509对象。     

要回复问题请先登录注册