2013-04-07 21 views
5

nodejsバージョン:0.8.6
私は、次のコマンドを使用してOpenSSLを使用して使用してSSL CSRファイルを作成しました: opensslのREQを-nodes -newkey RSA:2048 -keyout myserver.key -out myserver.csrhowtoはnodejs ssl serverを作成しますか?

  • csrコンテンツがSSLプロバイダに送信され、証明書が返送されました。

は、今私は、SSLセキュアサーバーを作成したい:

var fs = require("fs"); 
var https = require('https'); 
var credentials = { 
      key: fs.readFileSync(options.base_project_folder + 'privatekey.pem'), 
      cert: fs.readFileSync(options.base_project_folder + 'certificate.pem') 
}; 
var server = https.createServer(credentials, app); 
server.listen(port, address, function() { 
    var addr = this.address(); 
    console.log('listening on %s:%d', addr.address, addr.port); 
}); 

サーバが実行されているが、私は得る: "SSL接続エラー" を

を私がした問題をチェックしよう: OpenSSLをs_client -connect my_dns:

RESULT ofcourseの私のnodejsサーバへの443個の// my_dnsポイント: CONNECTED(00000003) 139813382997664:エラー:140790E5: SSLルーチン:SSL23_WRITE:SSLハンドシェイクに失敗:s23_lib.c:177:
利用可能
ノーピア証明書なしのクライアント証明書のCA名は
SSLハンドシェークが0バイトを読み書きしている226のバイトを送っ
新、(NONE)、暗号NONE
拡張::(NONE)
セキュア再ネゴシエーションは
圧縮はサポートされていませんされてNONEを

誰も私を助けることができますか?私はSSL暗闇の中で自分のやり方を失った:(

+0

投稿したサーバーコードが不完全です。あなたが残りの部分を投稿していない(もしそうなら、同様に投稿してください)か、Node内に実際のHTTPSサーバーを作成するための重要な部分が欠落しています。 – robertklep

+0

私はコードを編集し、これが私の問題を見つけるのに役立つことを願っています。 – IdanHen

+0

'port'は' 443'です。 – robertklep

答えて

7

そうのようなCAを追加してみてください:

var credentials = { 
    key: fs.readFileSync(options.base_project_folder + 'privatekey.pem'), 
    cert: fs.readFileSync(options.base_project_folder + 'certificate.pem'), 
    ca: fs.readFileSync(/path/to/CA/cert) 
}; 

The docs say options引数がtls.createServerと似ている

+0

caファイルは何ですか? 内容は何ですか?私はそれを見つけようとしました:( – IdanHen

+0

問題が見つかりました、私のファイルに問題があり、私もcaが必要です:) – IdanHen

+1

http://www.benjiegillam.com/2012/06/node-dot-js-ssl-他の回答のリンクのコメントから見つけた証明書チェーン/は、重要なポイントです。新しいバージョンのNodeでは、 "ca"プロパティはバンドルされたファイルを受け取りません。複数の中間証明書がある場合、それらを個々に配列にロードし、その配列に "ca"プロパティを設定する必要があります。 – lawrence

1

私は署名者のCA証明書も指定する必要があると信じています。これは自己署名証明書ではないので、証明書を持っているところからバンドルを受け取ってください。

助けるべきカップルのリンク: http://qugstart.com/blog/node-js/install-comodo-positivessl-certificate-with-node-js/ http://www.gettingcirrius.com/2012/06/securing-nodejs-and-express-with-ssl.html

+0

+1私は問題が非常によくCAの証明書を紛失する可能性があることに同意します。 – talentedmrjones

関連する問題