OpenSSLを使用した自己署名証明書および秘密キーの生成ガイドライン

自己署名証明書を使用すると、Oracle NoSQL Databaseプロキシにセキュアに接続できます。この項では、OpenSSLを使用したセキュアな接続のために、自己署名証明書およびその他の必須ファイルを生成するステップについて説明します。

前提条件として、ホスト・マシンにOpenSSLをダウンロードしてインストールします。OpenSSLを参照してください。

OpenSSLを使用して自己署名証明書および秘密キーを生成するには、次のステップを実行します。

  1. 構成ホストで、証明書ファイルを配置する必要があるディレクトリにナビゲートします。
  2. 次のOpenSSLコマンドを使用して、自己署名証明書と秘密キーを生成します。プロンプトが表示されたら、証明書ファイル用のセキュアな任意のパスワードを入力します。

    ノート:

    この例では、すべてのプロンプト・パスワードに123456を使用します。
    openssl req -x509 -days 365 -newkey rsa:4096 \ 
    -keyout key.pem -out certificate.pem \ 
    -subj "/C=US/ST=CA/L=San/CN=localhost/emailAddress=localhost@oracle.com"
    ここで、subjCNでは、プロキシ・ドメイン名をマップする必要があります。
  3. 秘密キーをPKCS#8形式に変換します。プロンプトが表示されたら、暗号化のためのセキュアな任意のパスワードを入力します。
    openssl pkcs8 -topk8 \ 
    -inform PEM -outform PEM \ 
    -in key.pem -out key-pkcs8.pem
ディレクトリ内に次のファイルが生成されます。
  • key.pemは秘密キーです。
  • key-pkcs8.pemは、PKCS#8形式の秘密キーです。
  • certificate.pemは、pem形式のSSL証明書ファイルです。

ノート:

キーがPKCS#5 v2.0アルゴリズムで暗号化されている場合は、次の変換を行う必要があります。そうしないと、サポートされていないアルゴリズムが原因で、ファイルに有効な秘密キーが含まれていないことを示すIllegalArgumentException例外が発生する可能性があります。暗号化アルゴリズムは、-v1フラグを使用したPKCS#5 v1.5またはPKCS#12アルゴリズムを指定することで、OpenSSLのpkcs8ユーティリティを介して変換できます。次のコマンドは、キーの暗号化アルゴリズムをPBE-SHA1-3DESに変換します。
openssl pkcs8 -topk8 -in <PKCS#5v2.0_key_file> -out <new_key_file> -v1 PBE-SHA1-3DES
また、Javaドライバを使用している場合は、driver.trustファイルも必要となります。このdriver.trustファイルは、その他の言語ドライバには必要ありません。driver.trustファイルを生成するには、証明書をJavaキーストアにインポートします。プロンプトが表示されたら、キーストア・パスワードを入力します。
keytool -import -alias example -keystore driver.trust -file certificate.pem