機械翻訳について

Java

ほとんどのJavaアプリケーションでは、JDKに付属するキーストアを使用して暗号化キー、X.509証明書チェーン情報および信頼できる証明書を格納します。 Oracle LinuxのデフォルトのJDKキーストアは、/etc/pki/java/cacertsファイルです。 keytoolコマンドを使用して、Javaキーストアで証明書を生成、インストールおよび管理できます。

次の例は、keytoolコマンドの使用方法を示しています。

  • キーストアの内容/etc/pki/java/cacertsをリストします:
    sudo keytool -list [-v] -keystore /etc/pki/java/cacerts

    デフォルト・キーストアのパスワードはchangeitです。 このパスワードはできるだけ早く変更してください。 指定した場合、詳細オプション-vは詳細情報を表示します。

  • キーストアのパスワードを変更します(たとえば、/etc/pki/java/cacerts):
    sudo keytool -storepasswd -keystore /etc/pki/java/cacerts
  • キーストア( keystore.jks)を作成します。

    キーストアの作成時に、次の操作を実行できます:

    • 信頼できるエンティティから公開キーと秘密キーのペアと証明書を管理します。

    • RSAアルゴリズムと3072ビットのキー長を使用して、公開キーと非公開キーのペアを生成します。

    • 公開キーと指定された識別名情報を含む自己署名証明書を作成します。

    sudo keytool -genkeypair -alias engineering -keyalg RSA -keysize 3072 \
    -dname "CN=www.unserdom.com, OU=Eng, O=Unser Dom Corp, C=US, ST=Ca, L=Sunnydale" \
    -keypass pkpassword -keystore keystore.jks \
    -storepass storepassword -validity 100

    コマンドでは、pkpasswordは秘密キーのパスワードで、storepasswordはキーストアのパスワードです。 この例では、証明書は100日間有効で、別名engineeringを持つキーストア・エントリ内の秘密キーに関連付けられています。

  • 判読可能な形式で証明書ファイルの内容を表示します:
    sudo keytool -printcert [-v] -file cert.cer

    指定されている場合、詳細オプション-vにより詳細情報が表示されます。

  • CAに発行するために、ファイルcarequest.csrにCSRを生成します:
    sudo keytool -certreq -file carequest.csr

    CAは、公開キーを認証する証明書または証明書チェーンに署名して返します。

  • CAのルート証明書または証明書チェーンをACME.cerファイルからkeystore.jksキーストアにインポートし、別名acmecaを割り当てます:
    sudo keytool -importcert -alias acmeca [-trustcacerts] -file ACME.cer \
    -keystore keystore.jks -storepass storepassword

    指定した場合、-trustcacertsオプションは、cacertsキーストア内の既存のルートCA証明書に対して信頼のチェーンを検証できる場合にのみ、証明書を追加するようにkeytoolに指示します。 または、keytool -printcertコマンドを使用して、証明書のフィンガープリントがCAが公開するフィンガープリントと一致することを確認できます。

  • CAから受け取ったら、組織の署名証明書をインポートします。
    sudo keytool -importcert -v -trustcacerts -alias acmeca -file ACMEdom.cer \
    -keystore keystore.jks -storepass storepassword

    この例では、証明書を含むファイルはACMEdom.cerです。 -aliasオプションは、CAのルート証明書チェーンの最初のエンティティのエントリを指定します。 署名証明書はチェーンの先頭に追加され、別名で処理されるエンティティになります。

  • 別名aliasnameを持つ証明書をkeystore.jksキーストアから削除します。
    sudo keytool -delete -alias aliasname -keystore keystore.jks -storepass storepassword
  • 別名別名の証明書をバイナリPKCS7形式ファイルとしてエクスポートします。このファイルには、証明書チェーンと発行済証明書の両方が含まれます:
    sudo keytool -exportcert -noprompt -alias aliasname -file output.p7b \
    -keystore keystore.jks -storepass storepassword
  • 別名aliasnameを持つ証明書を、base64でエンコードされたテキスト・ファイルとしてエクスポートします(PEMまたはRFC 1421とも呼ばれます)。
    sudo keytool -exportcert -noprompt -rfc -alias aliasname -file output.pem \
    -keystore keystore.jks -storepass storepassword

    証明書チェーンの場合、ファイルには別名エンティティの公開キーを認証するチェーンの最初の証明書のみが含まれます。

詳細は、keytool(1)マニュアル・ページを参照してください。