1

しばらくの間、自己署名証明書を使用してCouchDB 1.1.1を使用しました。

次に、ドメイン用の SSL 証明書 (PFX 形式) を購入しました。

ここで説明されているように、OpenSSL 経由で .CER と .KEY に変換しました: How can I convert a PFX certificate file for use with Apache on a Linux server?

しかし、CouchDB では次のエラーが表示されます: http://pastebin.com/PieNwYv7

http://wiki.apache.org/couchdb/How_to_enable_SSLで推奨されているテストでは、証明書とキーが正常に機能します

OpenSSLでさまざまな変換オプション(der、pemなど)を試しましたが、うまくいきませんでした:(

証明書または秘密鍵のどこが間違っている可能性がありますか? (ここで秘密鍵を明らかに公開することはできませんが、問題を診断するためのツールをいくつか教えていただけないでしょうか)

UPD:試した

openssl rsa -in server.key -out server_rsa.key

これにより、キーは -----BEGIN RSA PRIVATE KEY の形式で与えられ (-----BEGIN PRIVATE KEY の代わりに)、OpenSSL でも問題なく動作します (でテスト済みopenssl s_server -key server_rsa.key -cert server.cer -www)。CouchDB は別のエラーを返します:


[Sat, 28 Jan 2012 21:30:58 GMT] [error] [<0.69.0>] {error_report,<0.64.0>,
                       {<0.69.0>,supervisor_report,
                        [{supervisor,{local,ssl_connection_sup}},
                         {errorContext,child_terminated},
                         {reason,
                             {function_clause,
                                 [{ssl_handshake,dec_client_key,
                                      [<<149,172,109,56,46,85,242,18,97,32,127,

UPD2: (IIS の代わりに) Firefox からキー ジェネレーターを使用して、別の証明書を取得しました。ここでも同じです :(

4

1 に答える 1

1

解決策:同じ問題に遭遇する可能性のある人向け

  1. CouchDB (MochiWeb) を再起動します。
  2. 個人データを消去してブラウザを再起動します (!)

Google Chrome と Opera では何らかのデータが (SSL ハンドシェイクを高速化するために?) キャッシュされているようで、サーバー証明書が突然変更されると SSL ハンドシェイクが失敗します。

于 2012-01-28T22:30:45.383 に答える