2
我有以下簡單的Python腳本:忽略「證書未知」警報
import socket
import ssl
if __name__ == "__main__":
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind("", 443)
s.listen(1)
(conn, addr) = s.accept()
sslconn = ssl.wrap_socket(conn, server_side=True, certfile="server.crt", keyfile="server.key", cert_reqs=ssl.CERT_NONE)
print 'Connection established'
while True:
data = sslconn.recv(1024)
if not data: break
print "Data received"
sslconn.close()
的文件server.crt
和server.key
指定自簽名證書的公鑰和私鑰。如果我連接到使用運行此腳本宿主,說,Firefox中,腳本
ssl.SSLError: [Errno 1] _ssl.c:503: sslv3 alert certificate unknown
終止從我收集,這個來自提醒主機證書是無效的客戶端(比如,火狐)。這很好,但爲什麼會導致腳本終止?我必須以某種方式明確忽略警報嗎?
謝謝你把它清理乾淨。 – gspr