私は小さなSSLプロキシサーバーを作成しており、アンドロイドアプリクライアントからssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:661)
を取得し続けますが、ブラウザは取得しません。私はssl.CERT_NONE
と設定しました。ここに私のテストコードは次のとおりです。予期しないpyssl証明書エラー
SSLcontext = ssl.SSLContext(ssl.PROTOCOL_SSLv23)
SSLcontext.load_cert_chain('server.crt', 'server.key')
SSLcontext.verify_mode = ssl.CERT_NONE
SSLcontext.check_hostname = False
s = socket.socket()
s.bind(('127.0.0.1', 443))
s.listen(5)
c = s.accept()[0]
c = SSLcontext.wrap_socket(c, server_side = True)
print c.recv(1024)
があるため、証明書がAndroidアプリにピン留めたり、私が何か間違ったことをやってるのこのですか?
自己署名入りの証明書を使用しました。私はまた私のブラウザと私のアンドロイドの電話にそれを追加しました。私がここで混乱している理由は、私が 'SSLV3_ALERT_CERTIFICATE_UNKNOWN'で私の検索したように、私のpythonコードがクライアントの証明書を拒否することを意味します。 – logicalway
@logicalway:いいえ、クライアントはサーバ証明書を取得し、それを気に入らず、このアラートをサーバに送り返し、サーバにハンドシェイクを打ち切り、アラートを表示します。したがって、どうやらあなたのAndroidクライアントは証明書が気に入らないのですが、その理由は不明です。クライアントと証明書に関する情報が少なすぎるし、追加した理由も不明です。 –