1
我正在嘗試建立到SSL啓用域的SSL連接,以檢查它們的SSL配置是否正確,我正在使用以下代碼,我希望它能夠與unicode域一起工作(使用第一個域線),但我仍然有同樣的問題(原來的FQDN存儲爲UTF-8字符串中的FQDNPython SSL和Unicode域
fqdn = bytes(fqdn, encoding="utf-8").decode("idna")
context = ssl.SSLContext(ssl.PROTOCOL_TLSv1_2)
context.verify_mode = ssl.CERT_REQUIRED
context.check_hostname = True
context.load_default_certs()
conn = context.wrap_socket(socket.socket(socket.AF_INET),
server_hostname=fqdn)
conn.connect((fqdn, 443))
當嘗試連接,我得到這個錯誤,如果這是一個Unicode域名:
hostname 'xxx-gästewohnung-xxxbühl.ch' doesn't match 'xn--xxx-gstewohnung-xxxbhl-44b50d.ch'
我該如何解決這個問題,使域名能夠正確匹配?
嗯我認爲你是對的,我發現了一個Python的相關問題:http://bugs.python.org/issue28414 – Kedare