簡體   English   中英

Python imaplib顯示證書密鑰

[英]Python imaplib display certificate key

我希望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中執行此操作,但您可以使用M2Crypto連接到安全的IMAP服務器並顯示證書:

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()   

請注意, certX509對象

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM