1.9. Quarkus CLI コマンドと開発用認証局


TLS レジストリーは、開発用認証局 (CA) と信頼済み証明書を生成するための Quarkus CLI コマンドを備えています。これにより、自己署名証明書をローカルで使用する必要がなくなります。

次のスニペットは、2 つのサブコマンドを含む quarkus tls コマンドの説明を示しています。

> quarkus tls
Install and Manage TLS development certificates
Usage: tls [COMMAND]
Commands:
  generate-quarkus-ca   Generate Quarkus Dev CA certificate and private key. 
1

  generate-certificate  Generate a TLS certificate with the Quarkus Dev CA if
                        available. 
2
1
これは、Quarkus が独自の認証局として機能し、他の証明書に署名するために使用できるため、ローカル開発に便利です。
2
これは、開発中にアプリケーションと外部サービスまたはクライアント間でセキュアな通信を確立するための証明書を作成するときに便利です。

ほとんどの場合、Quarkus 開発用 CA を一度生成してから、この CA によって署名された証明書を生成します。Quarkus 開発用 CA は、ローカルで証明書に署名するために使用できる認証局です。この CA は開発を目的とする場合にのみ有効であり、ローカルマシン上でのみ信頼されます。生成された CA は $HOME/.quarkus/quarkus-dev-root-ca.pem に配置され、システムのトラストストアにインストールされます。

1.9.1. 自己署名証明書と CA 署名証明書の違いについて

TLS を使用して開発する場合、次の 2 種類の証明書を使用できます。

  • 自己署名証明書: この証明書は、それを使用する同じエンティティーによって署名されたものです。デフォルトでは信頼されません。このタイプの証明書は、通常、認証局 (CA) が利用できない場合や、簡単なセットアップが必要な場合に使用されます。実稼働環境には適しておらず、開発目的でのみ使用する必要があります。
  • CA 署名証明書: この証明書は、信頼できるエンティティーである証明書 CA によって署名されたものです。この証明書はデフォルトで信頼されており、実稼働環境での標準的な選択肢です。

ローカル開発には自己署名証明書を使用できますが、制限があります。curlwgethttpie などのブラウザーやツールは通常、自己署名証明書を信頼しないため、OS に CA を手動でインポートする必要があります。

この問題を回避するには、開発用 CA を使用して証明書に署名し、その CA をシステムのトラストストアにインストールします。これにより、システムが CA によって署名されたすべての証明書を信頼するようになります。

Quarkus は、開発用 CA とこの CA によって署名される証明書の生成を簡素化します。

1.9.2. 開発用 CA の生成

開発用 CA は、ローカルで証明書に署名するために使用できる認証局です。生成された CA は開発を目的とする場合にのみ有効であり、ローカルマシン上でのみ信頼されることに注意してください。

開発用 CA を生成するには、次のように指定します。

quarkus tls generate-quarkus-ca --install \   
1

     --renew \     
2

     --truststore  
3
1
--install は、CA をシステムのトラストストアにインストールします。Windows、Mac、Linux (Fedora および Ubuntu) がサポートされています。ただし、ブラウザーによっては、生成された CA を手動でインポートする必要がある場合があります。詳細は、ブラウザーのドキュメントを参照してください。生成された CA は $HOME/.quarkus/quarkus-dev-root-ca.pem に配置されます。
2
--renew は、CA がすでに存在する場合に CA を更新します。このオプションを使用すると、秘密鍵が変更されます。そのため、CA によって署名された証明書を再生成する必要があります。CA の有効期限が切れた場合は、自動的に更新されます。--renew オプションは必要ありません。
3
--truststore は、CA 証明書を含む PKCS12 トラストストアも生成します。
警告

証明書をインストールするときに、システムのトラストストアに証明書をインストールするためのパスワードの入力を求められたり、Windows のダイアログで確認を求められたりすることがあります。

重要

Windows では、管理者権限を持つターミナルから管理者として実行し、システムのトラストストアに CA をインストールしてください。

1.9.3. 信頼済み (署名済み) 証明書の生成

前提条件

  • 開発用 CA の生成

    1. Quarkus 開発用 CA をインストールしたら、信頼済み証明書を生成します。この証明書は Quarkus 開発用 CA によって署名され、システムによって信頼されます。

      quarkus tls generate-certificate --name my-cert

      このコマンドは、Quarkus 開発用 CA によって署名された証明書を生成します。開発用 CA は、適切にインストールまたはインポートされた場合にシステムによって信頼されます。

      証明書は ./.certs/ に保存されます。次の 2 つのファイルが生成されます。

  • $NAME-keystore.p12: 秘密鍵と証明書が含まれています。パスワードで保護されています。
  • $NAME-truststore.p12: テスト用などにトラストストアとして使用できる CA 証明書が含まれています。

    以下に示すその他のオプションも利用できます。

    Usage: tls generate-certificate [-hrV] [-c=<cn>] [-d=<directory>]
           -n=<name> [-p=<password>]
    Generate a TLS certificate with the Quarkus Dev CA if available.
      -c, --cn=<cn>       The common name of the certificate. Default is 'localhost'
      -d, --directory=<directory>
                          The directory in which the certificates will be created.
                            Default is `.certs`
      -n, --name=<name>   Name of the certificate. It will be used as file name and
                            alias in the keystore
      -p, --password=<password>
                          The password of the keystore. Default is 'password'
      -r, --renew         Whether existing certificates will need to be replaced

    証明書を生成するときに .env ファイルも生成されます。これにより、Quarkus 開発モードがこれらの証明書を認識するようになります。

    1. アプリケーションを開発モードで実行して、これらの証明書を使用します。

      ./mvnw quarkus:dev
      ...
      INFO  [io.quarkus] (Quarkus Main Thread) demo 1.0.0-SNAPSHOT on JVM (powered by Quarkus 999-SNAPSHOT) started in 1.286s. Listening on: http://localhost:8080 and https://localhost:8443
    2. HTTPS (https://localhost:8443/q/dev) を使用するか、curl リクエストを発行して Dev UI を開きます。

      curl https://localhost:8443/hello
      Hello from Quarkus REST%
      重要

      Quarkus 開発用 CA がインストールされていない場合、Quarkus は自己署名証明書を生成します。

1.9.4. 自己署名証明書の生成

Quarkus 開発用 CA がインストールされている場合でも、自己署名証明書を生成できます。

quarkus tls generate-certificate --name my-cert --self-signed

これにより、Quarkus 開発用 CA によって署名されない自己署名証明書が生成されます。

1.9.5. Quarkus 開発用 CA のアンインストール

システムから Quarkus 開発用 CA をアンインストールする方法は、OS によって異なります。

1.9.5.1. Windows で CA 証明書を削除する

  1. 管理者権限で Powershell ターミナルを使用して、Windows 上の CA 証明書をリスト表示します。

    # First, we need to identify the serial number of the CA certificate
    > certutil -store -user Root
    root "Trusted Root Certification Authorities"
    ================ Certificate 0 ================
    Serial Number: 019036d564c8
    Issuer: O=Quarkus, CN=quarkus-dev-root-ca # <-That's the CA, copy the Serial Number (the line above)
    NotBefore: 6/19/2024 11:07 AM
    NotAfter: 6/20/2025 11:07 AM
    Subject: C=Cloud, S=world, L=home, OU=Quarkus Dev, O=Quarkus Dev, CN=quarkus-dev-root-ca
    Signature matches Public Key
    Non-root Certificate uses same Public Key as Issuer
    Cert Hash(sha1): 3679bc95b613a2112a3d3256fe8321b6eccce720
    No key provider information
    Cannot find the certificate and private key for decryption.
    CertUtil: -store command completed successfully.
  2. 保存されている CA 証明書を削除します。$Serial_Number を CA 証明書のシリアル番号に置き換えます。

    > certutil -delstore -user -v Root $Serial_Number

1.9.5.2. Linux で CA 証明書を削除する

  • Fedora の場合:

    sudo rm /etc/pki/ca-trust/source/anchors/quarkus-dev-root-ca.pem
    sudo update-ca-trust
  • Ubuntu の場合:

    sudo rm /usr/local/share/ca-certificates/quarkus-dev-root-ca.pem
    sudo update-ca-certificates

1.9.5.3. Mac で CA 証明書を削除する

  • Mac の場合:

    sudo security -v remove-trusted-cert -d /Users/clement/.quarkus/quarkus-dev-root-ca.pem
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2026 Red Hat
トップに戻る