【发布时间】:2017-03-04 19:00:42
【问题描述】:
以下服务器代码与 curl 和 Safari 建立 SSL 连接,但不适用于 Firefox 或 Chrome。保存证书异常后可在 Safari 上运行。
server = TCPServer.new( 8080 )
ctx = OpenSSL::SSL::SSLContext.new
ctx.cert = OpenSSL::X509::Certificate.new(File.open('lib/keys/server.crt'))
ctx.key = OpenSSL::PKey::RSA.new(File.open('lib/keys/server.key'))
ctx.ssl_version = :TLSv1_2
ctx.options = OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:options]
ctx.ciphers = OpenSSL::SSL::SSLContext::DEFAULT_PARAMS[:ciphers]
server = OpenSSL::SSL::SSLServer.new(server, ctx)
我尝试将证书添加到 Firefox 和钥匙串 (OSX),但我仍然得到 p>
https://localhost:8080/ 的网页可能暂时关闭,或者它可能已永久移至新网址。
ERR_SPDY_INADEQUATE_TRANSPORT_SECURITY
谷歌搜索表明密码存在问题,但以下内容没有影响:
ctx.ciphers = 'AESGCM:HIGH:!aNULL:!MD5'
ctx.ciphers = 'EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES'
ctx.ciphers = 'TLSv1 TLSv1.1 TLSv1.2; ssl_ciphers EECDH+CHACHA20:EECDH+AES128:RSA+AES128:EECDH+AES256:RSA+AES256:EECDH+3DES:RSA+3DES:!MD5'
注释掉 ctx.ciphers 也无济于事。
在 Firefox 上,连接挂起。没有找到获取错误的好方法。
使用 Chrome 53、Firefox 46 和 OpenSSL 1.0.2j。
什么可能导致这个错误?
【问题讨论】:
标签: ruby google-chrome ssl httpserver http2