2015-10-05 50 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

我確實嘗試過。 –