このドキュメントで説明するソフトウェアは、Extended SupportまたはSustaining Supportのいずれかにあります。 詳細は、https://www.oracle.com/us/support/library/enterprise-linux-support-policies-069172.pdfを参照してください。
Oracleでは、このドキュメントに記載されているソフトウェアをできるだけ早くアップグレードすることをお薦めします。

機械翻訳について

3.3.2 keytoolコマンドについて

ほとんどのJavaアプリケーションでは、JDKに付属するキーストアを使用して暗号化キー、X.509証明書チェーン情報および信頼できる証明書を格納します。 Oracle LinuxのデフォルトのJDKキーストアは、ファイル/etc/pki/java/cacertsです。 keytoolコマンドを使用して、自己署名証明書を生成し、キーストアに証明書をインストールして管理できます。 keytoolコマンドの構文は、Java SE 6で変更されています。 次に、このバージョンのkeytoolコマンドの例を示します。

次に、keytoolコマンドのサンプルをいくつか示します。

キーストア/etc/pki/java/cacertsのコンテンツを表示します。 デフォルト・キーストアのパスワードはchangeitです。 指定されている場合、詳細オプション-vにより詳細情報が表示されます。

# keytool -list [-v] -keystore /etc/pki/java/cacerts

キーストアのパスワードを変更します(/etc/pki/java/cacertsなど)。

# keytool -storepasswd -keystore /etc/pki/java/cacerts

信頼できるエンティティの公開/秘密キー・ペアと証明書を管理するための新しいキーストアkeystore.jksを作成し、RSAアルゴリズムおよび1024ビットのキー長を使用して公開/秘密キー・ペアを生成し、公開キーと指定した識別名情報を含む自己署名証明書を作成します。pkpasswordは秘密キーのパスワードで、storepasswordはキーストアのパスワードです。 証明書は100日間有効で、別名engineeringを持つキーストア・エントリ内の秘密キーに関連付けられています。

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

証明書ファイルのコンテンツを判読可能な形式で出力します。 指定されている場合、詳細オプション-vにより詳細情報が表示されます。

# keytool -printcert [-v] -file cert.cer

CAに送信するために、CSRをファイルcarequest.csrで生成します。 CAは署名して、公開キーを認証する証明書または証明書チェーンを戻します。

# keytool -certreq -file carequest.csr

CAのルート証明書または証明書チェーンをファイルACME.cerからキーストアkeystore.jksにインポートして、別名acmecaを付けます。 指定されている場合、-trustcacertsオプションはkeytoolに、信頼チェーンをcacertsキーストア内の既存のルートCA証明書と照らし合わせて検証できる場合のみ、証明書を追加するよう指示します。 または、keytool -printcertコマンドを使用して、証明書のフィンガープリントとCAが発行するフィンガープリントが一致することを確認します。

# keytool -importcert -alias acmeca [-trustcacerts] -file ACME.cer \
  -keystore keystore.jks -storepass storepassword

CAから受け取ったら、組織の署名証明書をインポートします。 この例では、証明書を含むファイルはACMEdom.cerです。 -aliasオプションは、CAのルート証明書チェーンの最初のエントリのエントリを指定します。 署名証明書がチェーンの最前部に追加され、別名で処理されるエンティティになります。

# keytool -importcert -v -trustcacerts -alias acmeca -file ACMEdom.cer \
  -keystore keystore.jks -storepass storepassword

別名aliasnameを持つ証明書をキーストアkeystore.jksから削除します。

# keytool -delete -alias aliasname -keystore keystore.jks -storepass storepassword

別名aliasnameを持つ証明書を、バイナリPKCS7形式のファイルとしてエクスポートします。これには、サポートしている証明書チェーンと発行された証明書が含まれます。

# keytool -exportcert -noprompt -alias aliasname -file output.p7b \
  -keystore keystore.jks -storepass storepassword

別名aliasnameを持つ証明書を、BASE64でエンコードされたテキスト・ファイルとしてエクスポートします(PEMまたはRFC 1421とも呼ばれます)。 証明書チェーンの場合、ファイルには別名エンティティの公開キーを認証するチェーンの最初の証明書のみが含まれます。

# keytool -exportcert -noprompt -rfc -alias aliasname -file output.pem \
  -keystore keystore.jks -storepass storepassword

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