2015-10-05 51 views
3

首先我跟着这个http://underthehood.carwow.co.uk/httpsssl-in-your-local-rails-4-1-development-environment/让我的Rails应用程序接受https请求,这可以很好地从浏览器做GET。 我唯一不能做的就是将localhost.crt添加到系统证书(我的链接中的第3步)。当我尝试拖动它时,它会询问我的密码,但是当我开始键入时,就像我的键盘被禁用,我无法输入任何内容。安装Rails 4 SSL Webrick本地主机与iOS一起工作9

但是,当我尝试从n iPhone 6s模拟器(iOS 9)访问它,它不起作用。

错误在服务器:

ERROR OpenSSL::SSL::SSLError: SSL_accept returned=1 errno=0 state=error: no shared cipher 
/Users/rodrigoruiz/.rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/openssl/ssl.rb:236:in `accept' 

错误在客户端(iPhone模拟器):

Error Domain=NSURLErrorDomain Code=-1200 "An SSL error has occurred and a secure connection to the server cannot be made." UserInfo={_kCFStreamErrorCodeKey=-9824, NSLocalizedRecoverySuggestion=Would you like to connect to the server anyway?, NSUnderlyingError=0x7fd0dab15a80 {Error Domain=kCFErrorDomainCFNetwork Code=-1200 "(null)" UserInfo={_kCFStreamPropertySSLClientCertificateState=0, _kCFNetworkCFStreamSSLErrorOriginalValue=-9824, _kCFStreamErrorDomainKey=3, _kCFStreamErrorCodeKey=-9824}}, NSLocalizedDescription=An SSL error has occurred and a secure connection to the server cannot be made., NSErrorFailingURLKey=https://localhost:3000/login_with_facebook.json, NSErrorFailingURLStringKey=https://localhost:3000/login_with_facebook.json, _kCFStreamErrorDomainKey=3} 

如何解决这个问题?

回答

0

尝试拖动&将证书文件localhost.crt拖放到模拟器中。

见:响应您的评论https://stackoverflow.com/a/20047835/242933

UPDATE:

我没有看到图片的第三步。我不记得必须输入密码。尝试从桌面上的目录内部生成localhost.crt。请勿使用sudo。然后,从桌面上的目录(而不是从钥匙串访问)将localhost.crt拖入iPhone模拟器。

下面是我用来生成我的证书的脚本(名为create_self-signed_ssl_certificate.sh),我将其命名为server.crt而不是localhost.crt

#!/bin/sh 

# Create a Self-Signed SSL Certificate 
openssl genrsa -aes256 -passout pass:x -out server.pass.key 2048 
openssl rsa -passin pass:x -in server.pass.key -out server.key 
rm server.pass.key 
openssl req -new -sha256 -key server.key -out server.csr -subj /CN=localhost 
openssl x509 -req -sha512 -days 365 -in server.csr -signkey server.key -out server.crt 
+0

我确实尝试过。 –