Dans Apache, j'utilise avec succès les paramètres de chiffrement OpenSSL suivants:pyOpenSSL Cipher Liste échec
SSLHonorCipherOrder on
SSLCipherSuite "EECDH+ECDSA+AESGCM EECDH+aRSA+AESGCM \
EECDH+ECDSA+SHA384 EECDH+ECDSA+SHA256 \
EECDH+aRSA+SHA384 EECDH+aRSA+SHA256 \
EECDH EDH+aRSA \
!aNULL !eNULL !LOW !3DES !MD5 !EXP !PSK !SRP !DSS !RC4"
J'essaie d'imiter que dans un serveur python (Twisted), mais le serveur ne servirai toutes les pages avec une liste de chiffrement comparable spécifiée. Qu'est-ce que je fais mal? Voici le python (bien en substance ...)
from OpenSSL import SSL
....
httpSslContext = ssl.DefaultOpenSSLContextFactory(...)
ctx = httpSslContext.getContext()
ctx.set_options(SSL.OP_CIPHER_SERVER_PREFERENCE)
ctx.set_cipher_list("EECDH+ECDSA+AESGCM:EECDH+aRSA+AESGCM:EECDH+ECDSA+SHA384:EECDH+ECDSA+SHA256:EECDH+aRSA+SHA384:EECDH+aRSA+SHA256:EECDH:EDH+aRSA:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!SRP:!DSS:!RC4")
...
Il fonctionne si je change la liste de chiffrement à quelque chose de simple comme « RC4-SHA », ou même quelque chose d'un peu plus compliqué comme « DEFAULT: Anull: ! eNULL:! LOW:! 3DES:! MD5:! EXP:! PSK:! SRP:! DSS:! RC4 ". J'ai défini d'autres options, par ex. les protocoles exceptés, mais je ne sais pas si cela pertinent ...
Notez que cette même liste de chiffrement est utilisé ici: Python Paste SSL server with TLSv1.2 and Forward Secrecy
J'essaie d'obtenir les mêmes résultats, pour la même raison, mais en cours d'exécution dans certaines questions. Je me demande maintenant s'il y a une différence de version de pyOpenssl? Les chiffrements EECDH ne sont-ils pas autorisés peut-être? Je ne peux pas utiliser ctx.set_tmp_ecdh() non plus ...