サードパーティーACMEクライアントを使用した自動化例
CertCentralでは、任意のサードパーティーACMEクライアントを使用して証明書を自動化することができます。このようなクライアントの1つがEFFのCertbotです。
ここに記載されている例では、Apacheウェブサーバ用の証明書自動化アクションを開始するためのCertbotクライアントの使用について説明します。
これらの例ではCertbotが使用されていますが、デジサートは任意のACMEクライアントまたはウェブサーバをサポートすることに留意してください。
注記
Kubernetes cert-managerを使用してTLS/SSLサーバ証明書の作成と管理を行う方法の手順については、「Kubernetesを使用してcert-managerとDigiCert ACMEサービスを設定する」を参照してください。
開始する前に
希望するACMEクライアントが、ソフトウェアプロバイダーのガイドラインに従ってインストールおよび設定されていることを確認します。
CertCentralで、希望するACMEクライアントのACMEディレクトリURLをセットアップします。「ホスト自動化にサードパーティーACMEクライアントを使用する」を参照してください。
ウェブサーバの証明書をインストールするには、ルート権限が必要です。
Certbot:証明書を発行してインストールする
certbot-autoスクリプトをインストールした場合は、コマンドのcertbot
を./certbot-auto
に置き換えてください。サーバーのPATH設定にcertbot-autoのパスが追加されていない場合は、そのパスを指定する必要がある場合があります。
注記
ACMEのエラーコード: ACMEは、CertCentral APIで返されるものと同じエラーとエラーメッセージを返します。エラーコードとそれらの意味のリストについては、「エラー」を参照してください。
SSHなどを使用して、ウェブサーバでターミナルセッションを開きます。
ターミナルのプロンプトで、Certbotと以下のコマンド構文を使用して証明書を申請します。
YOUR-KEY-IDENTIFIER
を外部アカウントバインディングのKIDに置き換えるようにしてください。YOUR-HMAC-KEY
を外部アカウントバインディングのHMAC鍵に置き換えるようにしてください。YOUR-ACME-URL
を、以前に作成したACMEディレクトリURLに置き換えるようにしてください。FQDN
を、証明書でセキュア化する完全修飾ドメイン名に置き換えるようにしてください。FQDNごとに-d
オプションを追加します。sudo certbot --apache --register-unsafely-without-email --eab-kid=YOUR-KEY-IDENTIFIER --eab-hmac-key=YOUR-HMAC-KEY --server “YOUR-ACME-URL” -d FQDN
例:
sudo certbot --apache --register-unsafely-without-email --eab-kid=zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g --eab-hmac-key=RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA --server “https://acme.digicert.com/v2/acme/directory/” -d digicert.com -d www.digicert.com
必要に応じてカスタマイズしたCertbotコマンドを入力します。
これらの手順で使用されているコマンドとオプションの詳細については、「Certbot:ACME自動化オプション」を参照してください。
サービス条件への同意を求められます。「A」を入力してEnterを押します。
現在、デジサートにはACMEに関する追加のサービス条件はありません。
注記
Cerbotが一致する仮想ホストを見つけられないFQDNが申請に含まれている場合は、証明書をインストールする仮想ホストを選択するプロンプトが表示されます。Apacheでは、ServerNameの仮想ディレクトリリストをチェックして、FQDNを一致させます。
HTTPトラフィックをHTTPSにリダイレクトするかどうかを選択します。
リダイレクトを選択すると、ウェブサイトへのHTTPアクセスが無効化されます。
終了したら、サーバーが「Congratulations!You have successfully enabled your domains…」という成功メッセージを表示します。
ACME証明書申請が完了し、新しく発行された証明書がウェブサーバにインストールされます。ウェブサイトにアクセスして、証明書がインストールされていることを確認してください。
Certbot:証明書の更新と再発行を行う
証明書の有効期限が切れた、または更新が必要な場合は証明書を更新します。証明書が欠落している、または失効した場合は証明書を再発行します。
更新と再発行を行うには、このCertbotコマンド構文を使用します。
sudo certbot --apache --register-unsafely-without-email --eab-kid=YOUR-KEY-IDENTIFIER --eab-hmac-key=YOUR-HMAC-KEY --server “YOUR-ACME-URL” -d FQDN
注記
以下にあるように、URLにorderId
とaction
を付加してください。
例(更新):
sudo certbot --apache --register-unsafely-without-email --eab-kid=zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g --eab-hmac-key=RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA --server “https://acme.digicert.com/v2/acme/directory/?orderId=57718329&action=renew” -d digicert.com -d www.digicert.com
例(再発行):
sudo certbot --apache --register-unsafely-without-email --eab-kid=zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g --eab-hmac-key=RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA --server “https://acme.digicert.com/v2/acme/directory/?orderId=57718329&action=reissue” -d digicert.com -d www.digicert.com
注記
複数年プランのアカウントの場合:
オーダーのプラン期間の有効期限が近づいたときに証明書を更新します。
オーダーのプラン期間内で証明書が失効した、または有効期限が近づいた場合に証明書を再発行します。
Certbot:複製証明書を発行する
複数のサーバー間でのセキュリティを向上させ、証明書のインストールを簡素化するため、各サーバー用の複製証明書を発行します。
注記
複製証明書の詳細は、元の証明書と同じになります。複製証明書では、デジサートが証明書の以前のコピーを失効させる必要は一切ありません。
複製証明書を発行するには、このCertbotコマンド構文を使用します。
sudo certbot --apache --register-unsafely-without-email --eab-kid=YOUR-KEY-IDENTIFIER --eab-hmac-key=YOUR-HMAC-KEY --server “YOUR-ACME-URL” -d FQDN
注記
以下にあるように、URLにorderId
とaction
を付加してください。
例:
sudo certbot --apache --register-unsafely-without-email --eab-kid=zcwmKf9sCnDUZsbCOgnv1ijy46l6UeEYCavSQQirl-g --eab-hmac-key=RHZraHBXQUxWTEFGdFhndjRVNmV3S3F6c2VNZDM1QzRURGhjdHF3S1NublJjN3dhVUFObzA0SXJwVHBnU2xnRA --server “https://acme.digicert.com/v2/acme/directory/?orderId=57718329&action=duplicate” -d digicert.com -d www.digicert.com
Certbot:ACME自動化オプション
certbot
:Certbotの実行可能ファイルを実行します。certbot-auto
:certbot-autoスクリプトがインストールされているときに、certbotの代わりに使用します。サーバーのPATH設定にcertbot-autoのパスが追加されていない場合は、そのパスを指定する必要がある場合があります。--apache
:ユーザーに代わって証明書をインストールするApache Certbotプラグインを指定します。これはオプションです。--register-unsafely-without-email
:ACMEアカウントの作成をスキップできるようにします。申請はすでにCertCentralアカウントに関連付けられているため、この作業は必要ありません。これはオプションです。--server “
URL
”
:申請に対応する必要があるACMEサーバーを指定します。このオプション後に、二重引用符で囲まれたACMEディレクトリURLを設置してください。--eab-kid=YOURKID
:共通URLの一部である鍵識別子を指定します。--eab-hmac-key=YOURHMACKEY
:応答への署名に使用する鍵を指定します。-d YOUR
DOMAIN
:証明書に含まれる完全修飾ドメイン名です。証明書内のFQDNごとに–d YOURDOMAINを含めてください。このオプションが含められていない場合は、設定された仮想ホストに基づいて含めるドメインに関するプロンプトをCertbotが表示します。これはオプションです。orderId “YOURORDERID”
:既存の証明書のオーダーIDタイプを指定します。action “YOURACTION”
:申請を行っている証明書に対するアクションを指定します。
Certbotコマンドの完全なリストは、certbot –help
を使用することでターミナル経由で入手できます。または、Certbotドキュメントウェブサイトでコマンドのリストを参照してください。
次のステップ
ACME証明書申請が完了し、新しく発行された証明書がウェブサーバにインストールされます。ウェブサイトにアクセスして、証明書がインストールされていることを確認してください。
ACMEディレクトリURLを再利用して、同じ証明書製品、および事前検証された組織のために追加の証明書申請を行うことができます。
別の製品または組織の証明書を申請するには、その製品または組織向けに新しい一意のACMEディレクトリURLを作成します。「ホスト自動化にサードパーティーACMEクライアントを使用する」を参照してください。