Je suis en train d'écrire un petit serveur proxy SSL et continue d'obtenir ssl.SSLError: [SSL: SSLV3_ALERT_CERTIFICATE_UNKNOWN] sslv3 alert certificate unknown (_ssl.c:661)
à partir d'un client d'application Android, mais pas un navigateur. J'ai défini ssl.CERT_NONE
. Voici mon code de test:erreur de certificat pyssl inattendue
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)
Est-ce à cause du certificat épingler sur l'application Android ou je fais quelque chose de mal?
J'ai utilisé un certificat auto-signé. Je l'ai également ajouté à mon navigateur et mon téléphone Android. La raison pour laquelle je suis confus ici est que, comme je l'ai googled SSLV3_ALERT_CERTIFICATE_UNKNOWN' signifie que mon code python rejette le certificat du client pas l'inverse. – logicalway
@logicalway: non, le client obtient le certificat du serveur, ne l'aime pas et renvoie cette alerte au serveur qui annule alors la prise de contact et affiche l'alerte qu'il a reçue. Ainsi, en quelque sorte votre client Android n'aime pas le certificat mais on ne sait pas pourquoi - trop peu d'informations sur le client et le certificat et comment vous l'avez ajouté. –