3

自分の CA によって署名された証明書を持つサーバーに接続しています。CA の証明書はシステムのキーチェーンにインストールされています。

と接続するとopenssl s_client -connect some.where言うVerify return code: 0 (ok)

しかし、nodejsのtls/httpsモジュールに接続できず、失敗します Error: SELF_SIGNED_CERT_IN_CHAIN

ただし、通常のサーバー (つまり google.com:443) への接続は正常に機能します。

nodejs の openssl がシステムの openssl と同じキーチェーンを共有していないようです。

しかし、どこにあるのかわかりません。私は上書きしようとしましSSL_CERT_DIRたが、うまくいかないようでした。

ところで:私は設定することでサーバーの検証をバイパスできますNODE_TLS_REJECT_UNAUTHORIZED=0が、それでは十分ではありません;)

OpenSSL 0.9.8r、ノード v0.9.8 で OSX 10.8.3 を使用しています

4

3 に答える 3

4

tls モジュールを使用している場合(そして、使用しているように見えます)、信頼する証明書の文字列またはバッファーの配列であるパラメーターを options にtls.connect渡すことができます。ca

于 2013-01-31T22:46:27.140 に答える