我有一个用户访问受限的 Web 应用程序(Centos 7 服务器上的 Apache 2.4),我正在为每个用户使用带有客户端证书(相互身份验证)的自签名证书。一切都很好;用户已成功通过身份验证,Chrome 在地址栏中显示绿色 https,因为我将证书添加为受信任的。我可以撤销客户端,从我的应用程序中的连接中识别客户端等...
但是,在不同的时间间隔,连接会中断。假设我打开了 Chrome 5-10 分钟,想在应用程序中的某个地方导航,而 Chrome 说连接丢失并重新加载页面本身,我可以继续我想去的页面。没关系,但是当我使用 Ajax 时,这是一个大麻烦,因为 Ajax 请求失败,甚至在后台执行意外操作。
我将 SSLSessionCacheTimeout 增加到 8 小时!
我知道当它发生时我应该告诉你实际的错误,我知道但在那之前我只能说它声称 DNS_ 错误,它不要求重新发送客户端证书,我所看到的与客户端证书无关但当然不确定。如果在没有实际错误的情况下没有任何意义,或者用这么多信息指出一个明显的问题,我将在星期一从经过身份验证的机器上得到实际错误。
我该怎么办?真的很难过。任何指针肯定会让我的明天更美好。谢谢!
最佳答案
一切都是关于 Chrome。返回的错误是 ERR_CONNECTION_CLOSED。我什至检查了 chrome://net-internals 日志,它提示 SSL HANDSHAKE 和 CLIENT CERTIFICATE 即使我不明白整个问题,但我知道 Chrome 不支持客户端证书。无论如何,它不会发生在 Internet Explorer 中,所以这肯定是 Chrome 的问题。因此答案是“不要将 Chrome 用于需要客户端证书的应用程序”。每当我打开 chrome 访问我的应用程序时,我什至可以选择“仅”客户端证书,IE 也有解决方案。
如果有人提出解决方案,那将是完美的,但在那之前,我会切换到 IE 来使事情正常进行。
关于sockets - 自签名证书 : connection timeouts,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30157379/
我在使用omniauth/openid时遇到了一些麻烦。在尝试进行身份验证时,我在日志中发现了这一点:OpenID::FetchingError:Errorfetchinghttps://www.google.com/accounts/o8/.well-known/host-meta?hd=profiles.google.com%2Fmy_username:undefinedmethod`io'fornil:NilClass重要的是undefinedmethodio'fornil:NilClass来自openid/fetchers.rb,在下面的代码片段中:moduleNetclass
目录一.加解密算法数字签名对称加密DES(DataEncryptionStandard)3DES(TripleDES)AES(AdvancedEncryptionStandard)RSA加密法DSA(DigitalSignatureAlgorithm)ECC(EllipticCurvesCryptography)非对称加密签名与加密过程非对称加密的应用对称加密与非对称加密的结合二.数字证书图解一.加解密算法加密简单而言就是通过一种算法将明文信息转换成密文信息,信息的的接收方能够通过密钥对密文信息进行解密获得明文信息的过程。根据加解密的密钥是否相同,算法可以分为对称加密、非对称加密、对称加密和非
Ruby中是否有一种方法可以使用S/MIME对电子邮件消息进行数字签名?我们的团队使用PKI,我们的用户习惯于期待重要消息的数字签名。我知道我可以调用openssl命令行工具:opensslsmime-sign-signer$CERT_FILE-passinpass:$CERT_PASS-in$UNSIGNED_MAIL-out$SIGNED_MAIL-certfile$CERT_CA_FILE-from'your'-to'recipients'-subject'TheSubject'但我希望利用Ruby解决方案。 最佳答案 我最终
我正在尝试使用RubyEventMachine访问使用SSL证书身份验证的HTTPSWeb服务,但我没有让它工作。我编写了以下简单代码块来对其进行端到端测试:require'rubygems'require'em-http'EventMachine.rundourl='https://foobar.com/'ssl_opts={:private_key_file=>'/tmp/private.key',:cert_chain_file=>'/tmp/ca.pem',:verify_peer=>false}http=EventMachine::HttpRequest.new(url).g
已解决(pip安装模块超时,利用四种国内镜像源完美解决)WARENTING:Retrying(Retry(total=4,connect=None,read=None,redirect=None,status=None))afterconnectionbrokenby‘ConnectTimeoutError(pip._vendor.urllib3.connection.HTTPSConnectionobjectatOx00001D6OE4F4A940>,‘Connectiontopypi.orgtimedout.(connecttimeout=15)’)’':/simple/pip/socke
运行cucumber后bundleexeccucumberfeatures/emails.feature:20我遇到了错误Displaysocketistakenbutlockfileismissing-checktheHeadlesstroubleshootingguide(Headless::Exception)/Users/me/.rbenv/versions/2.3.1/lib/ruby/gems/2.3.0/gems/headless-2.2.0/lib/headless.rb:195:inensure_xvfb_is_running'/Users/me/.rbenv/ver
大家好,感谢您花时间阅读本文。我需要验证由我自己的CA颁发的证书,我有一个证书。我怎样才能做相当于openssl的openssl验证-CAfile在Ruby代码中?OpenSSL的RDoc在这方面不是很有帮助。我试过:require'openssl'ca=OpenSSL::X509::Certificate.new(File.read('ca-cert.pem'))lic=OpenSSL::X509::Certificate.new(File.read('cert.pem'))putslic.verify(ca)但我得到:test.rb:7:in`verify':wrongargume
我正在尝试使用rubygem'twitter',但由于未知原因我无法使用它。这是.rb代码:require'twitter'puts"Greetings,World!"puts"Checkpoint1"Twitter.configuredo|config|config.consumer_key="xxxxxxx"#removedforpostingconfig.consumer_secret="xxxxxxx"#removedforpostingconfig.oauth_token="xxxxxxx"#removedforpostingconfig.oauth_token_secr
我通过Paperclipgem在Rails应用程序上上传了一些图像,我希望只有后端的管理员能够查看这些图像。因此,我将它们设置为私有(private)。然后我四处搜索解决方案,以了解只有具有特定链接的管理员才能查看文件。这就是我found.我继续尝试这个,但我正在努力创建所需的签名。公式在上面的链接中给出,是:Signature=URL-Encode(Base64(HMAC-SHA1(YourSecretAccessKeyID,UTF-8-Encoding-Of(StringToSign))));StringToSign=HTTP-VERB+"\n"+Content-MD5+"\n"+
我正在尝试用Ruby编写一个HTTPS客户端。它将使用HTTPS连接到服务器,传递身份验证token(通过单独的登录过程获得)和SSL客户端证书。我正在使用rest-client执行以下操作:client=RestClient::Resource.new(url,:ssl_client_cert=>OpenSSL::X509::Certificate.new(File.read('./certificate/client-2048.pem')),:ssl_client_key=>OpenSSL::PKey::RSA.new(File.read('./certificate/client