LoginSignup
1
0

keytoolからオレオレ証明書を作成する

Last updated at Posted at 2024-03-12

keytoolコマンドを使用してlocalhost用の証明書を生成する場合、Javaのキーストア(.keystoreまたは.jksファイル)内に直接自己署名証明書を生成し、管理することができます。これは特にJavaアプリケーションやJavaベースのサーバー(例えばTomcatやJetty)で役立ちます。以下に、一般的な手順を示します。

  1. キーストアと自己署名証明書の生成:

    keytool -genkeypair -alias localhost -keyalg RSA -keysize 2048 -storetype PKCS12 -keystore localhost.p12 -validity 365
    

    このコマンドは以下を行います:

    • -genkeypair: 新しいキーペア(公開鍵と秘密鍵)を生成します。
    • -alias localhost: キーストア内のエントリに使用される別名を指定します。
    • -keyalg RSA: 鍵のアルゴリズムとしてRSAを指定します。
    • -keysize 2048: 鍵のサイズとして2048ビットを指定します。
    • -storetype PKCS12: キーストアのタイプとしてPKCS12を指定します(Java 9以降で推奨される形式)。
    • -keystore localhost.p12: キーストアファイルの名前と場所を指定します。
    • -validity 365: 証明書の有効期間を365日に設定します。

    コマンドを実行すると、キーストアのパスワード、所有者の情報(名前、組織、都市など)、およびキーペアのパスワードを入力するよう求められます。Common Name(CN)フィールドにはlocalhostを使用してください。

  2. キーストアの内容を確認:

    keytool -list -keystore localhost.p12
    

    このコマンドを使用してキーストアの内容を確認し、先ほど作成したエントリが含まれていることを確認します。

これらの手順により、localhost用の自己署名証明書が含まれるキーストアが生成されます。キーストア(localhost.p12)は、JavaベースのアプリケーションやサーバーでSSL/TLS接続を設定する際に使用されます。

注意: この自己署名証明書は開発目的には適していますが、公開サーバーで使用する場合は訪問者に警告が表示される可能性があります。本番環境では、信頼できる認証局(CA)から証明書を取得することをお勧めします。

WireMockをスタンドアローンモードで実行し、HTTPS通信のためにキーストアを指定するには、コマンドライン引数を使用して指定します。キーストアにはJava KeyStore(JKS)形式やPKCS12形式のファイルを使用でき、SSL設定のために必要な秘密鍵と公開鍵の証明書が含まれています。以下は、キーストアを指定してWireMockを起動する一般的なコマンド例です。

java -jar wiremock-standalone-{version}.jar --https-port 8443 --keystore-path path/to/your/keystore.jks --keystore-password yourkeystorepassword

このコマンドの各オプションは以下の通りです:

  • --https-port 8443:WireMockにHTTPSリクエストをリッスンさせるポートを指定します。8443は一例で、使用環境に合わせて変更できます。
  • --keystore-path path/to/your/keystore.jks:使用するキーストアファイルへのパスを指定します。ファイルはJKS形式かPKCS12形式である必要があります。
  • --keystore-password yourkeystorepassword:キーストアに設定されているパスワードを指定します。

実際にコマンドを実行する際は、{version}を使用しているWireMockのバージョンに、path/to/your/keystore.jksをキーストアファイルの実際のパスに、そしてyourkeystorepasswordをキーストアのパスワードに置き換えてください。

また、必要に応じて他のオプションも追加できます。たとえば、クライアント証明書の検証を必要とする場合は、--truststore-path--truststore-passwordを指定することもできます。

WireMockのドキュメントやコマンドラインのヘルプ(java -jar wiremock-standalone-{version}.jar --help)で、利用可能なすべてのオプションの詳細を確認してください。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0