(1) 注意事項
-
セクティゴCaaSはACME専用サービスです。弊社会員ページからの証明書発行はできません。
CertbotなどのACMEクライアントをご利用環境に導入して、ACMEクライアントから証明書の発行をリクエストして下さい。
-
セクティゴCaaSで発行のサーバ証明書の最大有効期間は90日です。(2029 年 3 月 15 日以降は47日に短縮予定です)
-
特定のドメインのサーバ証明書を契約期間中、何度でも無制限に取得することができます。
-
ValueSSLにてご利用中のコモンネームであっても、初めて「セクティゴCaaS」をご利用の場合は「新規契約」となります。更新としてのお取り扱いはできません。
(2) 証明書発行
サーバー証明書を発行する場合、Sectigo から発行されたACME情報(KID,HMAC鍵)を付与して、発行対象 FQDN を指定の上で、Certbot コマンドを実行します。
FQDNは該当のACME情報に登録済のドメインでなければいけません。
(1) Certbot コマンド例:
certbot certonly --standalone --register-unsafely-without-email --non-interactive --config-dir /etc/sectigo/certificate --key-type rsa --server https://acme.sectigo.com/v2/DV --eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -d example.com,www.example.com
(2) ワイルドカード証明書の場合のCertbot コマンド例:
ワイルドカード証明書の自動化にはDNSプロバイダーとの連携に対応したプラグインが必要ですが、
ここでは以下のようなマニュアル作業による方法を説明します。
certbot certonly --register-unsafely-without-email --manual --preferred-challenges dns --config-dir /etc/sectigo/certificate --key-type rsa --server https://acme.sectigo.com/v2/DV --eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -d example.com,www.example.com
Please deploy a DNS TXT record under the name
_acme-challenge.example.com with the following value:
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
Before continuing, verify the record is deployed.
Press Enter to Continue
いったん画面はそのままにして上記で表示されたDNS認証情報をDNSサーバに設定します。
_acme-challenge.example.com TXT xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
DNSにTXTレコードを登録してもすぐに伝幡はされないので、しばらく待って可能であれば nslookup などのコマンドで登録したトークンの応答があることを確認します。
DNSがトークンの応答を返すことを確認したら、certbotの画面に戻り、Enterを押します。
Successfully received certificate.
表示されれば成功です。失敗の場合は、何故失敗したのかメッセージに表示されています。
(3) certonly サブコマンド・オプション
|
サブコマンド
|
説明
|
|
certonly
|
証明書を発行します。
|
|
必須
|
オプション
|
規定値
|
説明
|
|
〇
|
--standalone
|
なし
|
スタンドアロン Web サーバーを使用してサーバー証明書を取得します。
--standalone に代えて --webroot でも可。
ワイルドカード証明書の場合で「manual」を指定した場合は--standaloneは不要。
|
|
×
|
--register-unsafelywithout-email
|
なし
|
メールアドレスの登録を不要にします。
|
|
×
|
--non-interactive
|
なし
|
ユーザー入力を一切求めずに非対話で実行します。
※初回起動は、本オプションを指定せずに動作させて
ください。もしくは -agree-tos を指定して下さい。
|
|
〇
|
--domain
|
FQDN
|
証明書を取得する FQDN を指定します。
「-domain」オプションを複数指定するか、FQDN のカン
マ区切りのリストを指定することでマルチドメイン証
明書が発行できます。
|
|
〇
|
--eab-kid
|
EAB_KID
|
外部アカウントバインディングのキー識別子を指定し
ます
|
|
〇
|
--eab-hmac-key
|
EAB_HMAC_KEY
|
外部アカウントバインディングの HMAC 鍵を指定します
|
|
〇
|
--server
|
ACME Directory
Resource URI
|
申請先の ACME Directory Resource URI を指定しま
す。
|
|
×
|
--force-renewal
|
なし
|
要求されたドメインにすでに証明書が存在する場合、
有効期限が近いかどうかに関わらず、すぐに更新しま
す。--expand も暗黙的に指定されます。
|
|
×
|
--config-dir
|
ファイルパス
|
certbot が使用する設定ディレクトリを指定します。
|
|
×
|
--key-type
|
アルゴリズム名
|
「rsa」、「ecdsa」を指定できます。(既定:ecdsa)
|
|
×
|
--preferred-challenges
|
認証方式の指定
|
ワイルドカード証明書の場合は「dns」を指定します。(既定:http)
|
|
×
|
--agree-tos
|
|
ACMEサーバーの利用規約に同意したの意味
|
|
×
|
--manual
|
|
ドメイン認証を手動で行います。
|
※本資料に掲載しているオプションは、一部であり、一例です。certbot コマンドには、他のオプション
による方法もあります。詳細は certbot 公式ドキュメントを参照ください。
(4) 複数の FQDN を指定する方法
複数の FQDN を指定する場合、FQDN ごとに「--domain」オプションを指定するか、1つの「--domain」オ
プションにカンマ区切りで指定します。
例)FQDN ごとに「--domain」オプションを指定する場合:
--domain example.com --domain www.example.com
例)1つの「--domain」オプションにカンマ区切りで指定する場合:
--domain example.com,www.example.com
(5) 発行完了時
下記メッセージが表示されれば、サーバー証明書の発行は完了です。
Successfully received certificate.
(6) Certbot 初回利用時の規約同意について
Certbot で初めて証明書を発行させる際は、規約に同意する手続きが必要です。
Service Agreement(https://secure.trust-provider.com/repository/docs/Legacy/20250618_CertificateSubscriberAgreement_v_2_8_click.pdf)をご確
認いただき、内容に同意いただける場合は、「Y」を入力してください。
# certbot certonly --standalone --register-unsafely-without-email --force-renewal --config-dir /etc/sectigo/certificate --key-type rsa --server https://acme.sectigo.com/v2/DV--eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -d example.com,www.example.com
Saving debug log to /var/log/letsencrypt/letsencrypt.log
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Please read the Terms of Service at
https://secure.trust-provider.com/repository/docs/Legacy/20250618_CertificateSubscriberAgreement_v_2_8_click.pdf.
You must agree in order to register with the ACME server. Do you agree?
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
(Y)es/(N)o:
(6) Certbot 規約同意手続きの省略
コマンドに--agree-tos を追加しますと自動的に規約に同意したことになり、手続きを省略できます。
# certbot certonly --standalone --register-unsafely-without-email --agree-tos --force-renewal --config-dir /etc/sectigo/certificate --key-type rsa --server https://one.digicert.com/mpki/api/v1/a cme/v2/directory--eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -d example.com,www.example.com
(6) サーバ証明書の失効
必要に応じて、発行したサーバー証明書を失効させます。
サーバー証明書を失効させるケースは、「サーバー証明書が必要ではなくなった」、「サーバー証明書
の秘密鍵の危殆化が判明した」などがあります。
Certbot では、失効用のコマンドを発行することで発行されたサーバー証明書を失効させることができま
す。
(1) Certbot コマンド例:
certbot revoke --config-dir /etc/sectigo/certificate --server https://acme.sectigo.com/v2/DV --eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -cert-path /etc/sectigo/certificate/test.example.com --reason cessationofoperation
(2) revoke サブコマンド・オプション
|
サブコマンド
|
説明
|
|
revoke
|
証明書を失効します。
|
|
必須
|
オプション
|
規定値
|
説明
|
|
〇
|
--server
|
ACME Directory
Resource URI
|
申請先の ACME Directory Resource URI を指定しま
す。
|
|
〇
|
--eab-kid
|
EAB_KID
|
外部アカウントバインディングのキー識別子を指定し
ます
|
|
〇
|
--eab-hmac-key
|
EAB_HMAC_KEY
|
外部アカウントバインディングの HMAC 鍵を指定します
|
|
〇
|
--cert-name
|
証明書コモンネーム
|
失効させるサーバー証明書のコモンネームを指定しま
す。「--cert-path」と排他利用
|
|
〇
|
--cert-path
|
証明書ファイルパス
|
失効させるサーバー証明書のファイルパスを指定しま
す。「--cert-name」と排他利用
|
|
×
|
----reason
|
失効理由
|
任意(既定:unspecified)
失効理由を指定します。
unspecified
keycompromise
affiliationchanged
supersededs
cessationofoperation
|
|
×
|
--config-dir
|
ファイルパス
|
certbot が使用する設定ディレクトリを指定します。
|
※本資料に掲載しているオプションは、一部であり、一例です。certbot コマンドには、他のオプション
による方法もあります。詳細は certbot 公式ドキュメントを参照ください。
(3) 失効完了時
下記メッセージが表示されれば、サーバー証明書の失効は完了です。
You have successfully revoked the certificate that was located at ファイルパス.
(7) ジョブ管理システムを利用した運用例
Linux cron を利用した自動運用
Linux 標準で利用可能な cron を利用した自動運用について説明します。
(1) cron 編集コマンド呼び出し:
crontab -e
(2) cron 編集内容:
[minute] [hour] [day] [month] [day of week] [command]
|
項番
|
項目 |
説明
|
|
1
|
minute |
実行する分を 0-59 までの任意の整数で指定します
|
|
2
|
hour
|
実行する時間を 0-23 までの任意の整数で指定します
|
|
3
|
day
|
実行する日を 1-31 までの任意の整数で指定します
|
|
4
|
month
|
実行する月を 1-12 までの任意の整数で指定します
|
|
5
|
day of week
|
実行する曜日を 0-7 までの任意の整数で指定します(0 と 7 は日曜日)
0=日, 1=月, 2=火, 3=水, 4=木, 5=金, 6=土, 7=日
または、曜日を表す英語名でも指定可能です
sun, mon, tue, wed, thu, fri, sat |
|
6
|
command
|
実行するコマンドを指定します
|
|
項番
|
項目 |
説明
|
|
1
|
アスタリスク(/*)
|
すべての有効な値を指定できます。
[day]にアスタリスク(*)を指定すると毎日実行されます
|
|
2
|
ハイフン(-)
|
範囲を指定します。
1-3 の場合、1,2,3 を指定ことになります。
|
|
3
|
カンマ(,)
|
一覧を指定します。指定した整数すべてが対象となります。
1,4,7 の場合、指定した3つの整数を指定したことになります。
|
|
4
|
スラッシュ(/)
|
ステップ値を指定します。範囲の後に「/」がある場合、その範囲で指定した整数値
をスキップします。[minute]で 0-59/3 の場合、0-59 分の間で 3 分ごとに実行され
ます。
|
|
5
|
ハッシュ記号(#)
|
コメント行
|
(3) cron 設定例
■証明書発行の設定例
毎月1日午前2時30分頃に実行する。
# [minute] [hour] [day] [month] [day of week] [command]
30 2 1 * * /cert-reissue.sh > /dev/null
cert-reissue.sh:
#!/bin/sh
/usr/bin/certbot certonly --standalone --register-unsafely-without-email --non-interactive --force-renewal --config-dir /etc/sectigo/certificate --key-type rsa --server https://acme.sectigo.com/v2/DV --eab-kid AAAAAAAAAAA --eab-hmac-key AAAAAAAAAA -d example.com,www.example.com
|