在Apache中,我成功地使用了以下OpenSSL密码设置:
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"
我试图在python(Twisted)服务器中模拟这一点,但是服务器不会为任何指定了类似密码列表的页面提供服务。我做错什么了?这是Python(本质上……)
^{pr2}$如果我将密码列表更改为“RC4-SHA”之类的简单代码,或者甚至更复杂一些的内容,如“DEFAULT:!阿努尔:!伊努尔:!低:!3DES:!MD5:!经验:!PSK:!SRP:!DSS:!RC4”。我设置了一些其他选项,例如例外协议,但我不知道是否相关。。。在
请注意,这里使用了相同的密码列表:Python Paste SSL server with TLSv1.2 and Forward Secrecy
出于同样的原因,我也在努力取得同样的结果,但是遇到了一些问题。我现在想知道pyOpenssl是否存在版本差异?EECDH密码是不允许的吗?我不能用ctx.set U tmp U ecdh设置()要么。。。在
问题确实是无法使用上下文.set_tmp_ecdh(),这是因为没有安装新版本的pyOpenSSL。请参见:Why is context.set_tmp_ecdh() not defined in pyOpenSSL?。解决了这个问题。在
当您指定一个密码列表时,它实际上并不是最终实现的密码。connection.get_cipher_列表()(我打电话给context.set_info_回调()函数)将在考虑其他所有因素后显示实际结果。在
旧版本的pyOpenSSL不能使用EECDH(椭圆曲线)密码。因此,它们不可用,我喜欢的密码列表在某些浏览器上也不起作用。在
另一方面,Apache没有这个问题,并且允许使用现成的密码。在
相关问题 更多 >
编程相关推荐