Java、Python、および Node.js で使用する DocumentDB Emulator 証明書のエクスポート

Emulator をダウンロードする

Azure DocumentDB Emulator では、SSL 接続の使用など、Azure DocumentDB サービスを開発用にエミュレートするローカル環境を使用できます。 この記事では、独自の証明書ストアを使用する Java、ソケット ラッパーを使用する Python、tlsSocket を使用する Node.js など、Windows 証明書ストアと統合されていない言語とランタイムで使用するために、SSL 証明書をエクスポートする方法について説明します。 このエミュレーターの詳細については、「開発とテストでの Azure DocumentDB Emulator の使用」をご覧ください。

証明書のローテーション

DocumentDB ローカル エミュレーターの証明書は、エミュレーターを初めて実行したときに生成されます。 証明書は&2; つあります。 1 つはローカル エミュレーターに接続するために使用し、もう&1; つはエミュレーター内のシークレットを管理するために使用します。 エクスポートする証明書は、"DocumentDBEmulatorCertificate" というフレンドリ名の接続証明書です。

どちらの証明書も、Windows トレイで実行されている DocumentDB エミュレーターから、次に示す [データのリセット] をクリックすることで生成し直すことができます。 証明書を Java 証明書ストアにインストールしたり、その他の場所で使用したりしていた場合に、証明書を生成し直したときは、元の証明書を更新する必要があります。更新を行わないと、アプリケーションはローカル エミュレーターに接続しなくなります。

DocumentDB ローカル エミュレーターのデータのリセット

DocumentDB SSL 証明書をエクスポートする方法

  1. certlm.msc を実行して Windows 証明書マネージャーを起動します。次に、Personal フォルダー、Certificates フォルダーの順に移動して、DocumentDBEmulatorCertificate というフレンドリ名の証明書を開きます。

    DocumentDB ローカル エミュレーターのエクスポート手順 1.

  2. [詳細][OK] の順にクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 2.

  3. [ファイルへコピー...] をクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 3.

  4. [次へ]をクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 4.

  5. [No, do not export private key (いいえ、秘密キーをエクスポートしません)] をクリックしてから、[次へ] をクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 5.

  6. [Base&64; encoded X.509 (.CER)] をクリックしてから、[次へ] をクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 6.

  7. 証明書に名前を付けます。 ここでは「documentdbemulatorcert」と入力し、[次へ] をクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 7.

  8. [完了]をクリックします。

    DocumentDB ローカル エミュレーターのエクスポート手順 8.

Java で証明書を使用する方法

Java クライアントが使用される Java アプリケーションまたは MongoDB アプリケーションを実行している場合は、"-Djavax.net.ssl.trustStore= -Djavax.net.ssl.trustStorePassword="" フラグを渡すよりも、既定の Java 証明書ストアに証明書をインストールする方が簡単です。 たとえば、付属の Java デモ アプリケーションでは、既定の証明書ストアを使用します。

X.509 証明書を既定の Java 証明書ストアにインポートする場合は、「証明書を Java CA 証明書ストアに追加する方法」の手順に従ってください。 keytool を実行する際には %JAVA_HOME% ディレクトリで作業することに注意してください。

"DocumentDBEmulatorCertificate" SSL 証明書をインストールしたら、アプリケーションは、DocumentDB ローカル エミュレーターに接続してそれを使用できるようになります。 依然として問題がある場合は、記事「Debugging SSL/TLS Connections (SSL/TLS 接続のデバッグ)」に従ってください。 多くの場合、証明書が %JAVA_HOME%/jre/lib/security/cacerts ストアにインストールされていません。 たとえば、複数のバージョンの Java をインストールしてある場合、更新したストアとは異なる cacerts ストアがアプリケーションによって使用されている可能性があります。

Python で証明書を使用する方法

Python SDK (バージョン 2.0.0 以降) for DocumentDB の場合、既定ではローカル エミュレーターに接続する際に SSL 証明書を使用しません。 SSL 検証を使用したい場合は、Python ソケット ラッパーに関するドキュメントの例に従ってください。

Node.js で証明書を使用する方法

Node.js SDK (バージョン 1.10.1 以降) for DocumentDB の場合、既定ではローカル エミュレーターに接続する際に SSL 証明書を使用しません。 SSL 検証を使用する場合は、Node.js のドキュメントの例に従ってください。

次のステップ