- セクティゴ・コモドSSLトップ
- > サポート
サポート
◆ こちらからサポート記事を検索いただけます
注文・設定方法など (CaaS関連)
主要ACMEクライアントでの指定方法
Certbot by Electronic Frontier Foundation (EFF) and sponsored by Sectigo
最も一般的なACMEクライアントです。
1. 事前登録フェーズ
certbot register コマンドは、ACMEサーバーにアカウントを登録するためのものです。証明書を発行する前の「事前準備」にあたります実行コマンドの例
certbot register \--email yourname@example.com\
--server "https://acme.sectigo.com/v2/OV"\
--eab-kid "お客様のAccount ID" \
--eab-hmac-key "お客様のEAB MAC KEY" \
| 引数 | 説明 |
| register | 必須 Certbotに対して、ACMEサーバーに新しいアカウントを作成(登録)するよう指示します。 |
| 必須 証明書の期限切れ通知や、アカウントに関する重要な連絡を受け取るために登録するメールアドレス。値:ご自身のメールアドレス部分にお読み変え下さい | |
| --server | 必須 接続先のACMEサーバーのURL指定。この例ではOV(組織認証)用エンドポイントを指定しています。値:ドメイン認証の場合には "https://acme.sectigo.com/v2/DV"になります |
| --eab-kid | 必須 ACMEリクエストを紐付けるために必要な値:外部アカウントバインディング (EAB) のキーID(お客様のAccount ID)はマイページより取得して下さい。 |
| --eab-hmac-key | 必須 リクエストの正当性を証明するためのEAB用のHMACキー(パスワードのようなもの)です。この値もマイページより取得して下さい。 |
2. 発行フェーズ certbot certonly コマンド
Bashでのコマンド実行例
certbot certonly --manual \--server "https://acme.sectigo.com/v2/OV" \
--eab-kid "お客様のAccount ID" \
--eab-hmac-key "お客様のEAB MAC KEY" \
-d example.jp
| 引数 | 説明 |
| certonly | 任意 証明書の「取得のみ」を行い、Webサーバー(ApacheやNginx)への自動設置は一気に行わないことを指定します。certbotのコマンド実行PCと公開サーバが異なる場合にはこのように取得のみを指定して下さい※取得後のフックコマンドで当該サーバにアップロードするなどの2次スクリプトを別途用意します何も指定しない場合標準で用意されたスクリプトでapache等に自動インストールされます |
| --manual | 任意 認証作業を手動で行うモードです。通常、DNSのTXTレコード追加や、サーバーへのファイル設置を対話形式で行う場合のみ指定して下さいプラグイン対応で自動認証をさせる場合にはこのオプションは不要です何も指定しない場合対話式ではなく自動モードで実行されます |
| --key-type rsa | 任意: 生成する秘密鍵のアルゴリズムを RSA に指定します。このオプションの指定がない場合には楕円暗号方式で発行します |
| --rsa-key-size 2048 | 任意 RSA鍵のサイズを 2048ビット に指定しています。レガシー端末もカバーする場合の標準的なセキュリティ強度です。 |
| 任意 通知用のメールアドレスです。 | |
| --logs-dir | 任意 Certbotの実行ログを保存するディレクトリをカスタマイズする場合のみ指定。デフォルト/var/log/letsencrypt以外の場所としてこの例では(/var/log/MYDOMAINSSL/)を指定しています。 |
| --server | 必須 ACMEサーバーを指定しています。ドメイン認証タイプならDVになります |
| --eab-kid | 必須アカウント紐付け用のID。 値はマイページより取得して下さい。 |
| --eab-hmac-key | 必須アカウント紐付け用のHMACキー。この値もマイページより取得して下さい。 |
| -d | 必須 証明書を発行する対象のドメイン名(例:example.jp)を指定します。両利きを希望の場合続けて列挙します -d example.com -d www.example.com |
※アカウントの登録
ACMESharp(ACMESharpCore / ACMESharpWindows)はWindows環境で利用されるライブラリです。アカウント登録フェーズでマイページに記載されているEAB情報を指定します。PowerShell
# アカウントの登録New-ACMEAccount -Server "https://acme.sectigo.com/v2/OV" `
-EabKeyIdentifier "お客様のAccount ID" `
-EabKey "お客様のEAB MAC KEY" `
-EabAlgorithm HS256 `
-Email "admin@example.jp" -AcceptTOS
1.ドメインの識別(Order)の作成
発行したいドメイン名をすべて指定して「オーダー(指示内容)」を以下のように作成します。example.com と www.example.com のように、1つの証明書に両利き:複数のドメイン(SANs)を含めたい場合、ACMESharpでは以下の手順で指定します。
PowerShell
# 複数のドメインを指定してオーダーを作成$order = New-ACMEOrder -Identifiers "example.com", "www.example.com"
2.ドメインの所有権確認(Challenge)
オーダーを作成すると、各ドメインに対して「認証審査(Challenge)」が必要になります。各ドメインの所有権を証明するための情報を取得します。PowerShell HTTP認証の場合の例
# オーダー詳細の取得$orderDetail = Get-ACMEOrder -OrderPrompt $order
# 各ドメインの認証情報をループで取得(例:HTTP認証の場合)
foreach ($auth in $orderDetail.Authorizations) {
$challenge = Get-ACMEChallenge -AuthorizationPrompt $auth -Type http-01
# 配置すべきファイル名と内容を確認
$challenge.HttpResourcePath # 例: .well-known/acme-challenge/XXXX
$challenge.HttpResourceValue # 配置するファイルの中身(トークン)
$challenge
}
PowerShell DNS認証の場合の例
# オーダー詳細の取得$orderDetail = Get-ACMEOrder -OrderPrompt $order
# 各ドメインの認証情報をループで取得(例:DNS認証の場合)
foreach ($auth in $orderDetail.Authorizations) {
$challenge = Get-ACMEChallenge -AuthorizationPrompt $auth -Type dns-01
# ↑で表示される $challenge.DnsRecordName と $challenge.DnsRecordValue をDNSに登録します
$challenge
}
3. 認証の実行
DNSレコード(またはHTTPファイル)の設置が完了したら、ACMEサーバーに検証を依頼します。PowerShell
# 設置した各認証を実行foreach ($auth in $orderDetail.Authorizations) {
$challenge = Get-ACMEChallenge -AuthorizationPrompt $auth -Type dns-01
Submit-ACMEChallenge -ChallengePrompt $challenge
}
4. 証明書の署名リクエスト(CSR)と発行
すべてのドメインの認証が「valid(有効)」になったら、証明書を生成します。PowerShell
# 秘密鍵の作成$key = New-ACMECertificateKey -Name "MyExampleCertKey" -Type RSA -Size 2048
# 証明書の請求(ここで複数のコモンネームが紐付いた状態で発行されます)
$certOrder = New-ACMECertificate -OrderPrompt $order -CertificateKeyPrompt $key -Name
"MyExampleCert"
acme-client (OpenBSD/C)
設定ファイル acme-client.conf に記述する方法が一般的ですが、引数で渡す場合は実行環境により異なります。以下は設定例です。テキストエディタで設定ファイルを編集
# acme-client.conf への記述例authority sectigo {
api url "https://acme.sectigo.com/v2/OV"
account key "/etc/acme/letsencrypt-privkey.pem"
contact "mailto:admin@example.jp"
eab kid "お客様のAccount ID"
eab hmac "お客様のEAB MAC KEY"
}
GetSSL
configファイルに環境変数として記載をするか、もしくは直接指定します。環境変数記載例・Bashでの実行例
# account.conf または domain.conf に記述ACCOUNT_KEYID="お客様のAccount ID"
ACCOUNT_HMAC="お客様のEAB MAC KEY"
# 実行
./getssl -f example.jp
Posh-ACMEはモダンなPowerShellモジュールです。
PowerShellでの実行例
New-PAAccount -ID "お客様のAccount ID" `-HMAC "お客様のEAB MAC KEY" `
-Server "https://acme.sectigo.com/v2/OV" `
-AcceptTOS
Caddy (Web Server)
OSを問わず「究極に楽」を求めるならもしこれからサーバーを立てる段階であれば、クライアントソフトをインストールすること自体をやめて、「Caddy」というウェブサーバーを使うのが一番楽です。Caddyの設定ファイルCaddyfile 内に記述することで自動で更新まで管理します。| 特徴: | ACMEクライアント機能がCaddyサーバー本体に内蔵されています |
| 楽な理由 | 設定ファイルにドメイン名を1行書くだけで、サーバー起動時に勝手に証明書を取得し、更新もすべて全自動で行われます。インストール作業自体が「サーバーを入れるだけ」で完結します。 |
記述例
example.jp {tls {
ca https://acme.sectigo.com/v2/OV
eab お客様のAccount ID お客様のEAB MAC KEY
}
}
##※eab お客様のAccount ID と EAB MAC KEYはマイページから取得しお読み替え下さい
Sewer (Python library)
ライブラリとして使用するため、Pythonコード内での指定になります。Pythonコードの例
import sewer
client = sewer.Client(
domain="example.jp",
dns_class=SewerDnsProviderImpl(),
acme_directory_url="https://acme.sectigo.com/v2/OV",
eab_kid="お客様のAccount ID",
eab_hmac_key="お客様のEAB MAC KEY"
)
# この後 certificate をリクエストします
nginx ACME (lua-resty-acme)
Nginx上でLuaを使用して動作させる場合の設定です。Nginx
# nginx.conf 内の初期化処理init_by_lua_block {
require("resty.acme.autossl").init({
endpoint = "https://acme.sectigo.com/v2/OV",
eab_kid = "お客様のAccount ID",
eab_hmac_key = "お客様のEAB MAC KEY",
})
}
node-acme-lambda(Node.js)
AWS Lambdaで動作させる際の環境変数、またはコード内での指定です。JavaScript
const client = new acme.Client({directoryUrl: "https://acme.sectigo.com/v2/OV",
accountKey: await acme.crypto.createPrivateKey(),
externalAccountBinding: {
kid: "お客様のAccount ID",
hmacKey: "お客様のEAB MAC KEY"
}
});
win-acme(旧称:letsencrypt-win-simple)
WindowsサーバーやIISを利用している場合、これ以上に簡単なツールはありません。| 簡単インストール | 公式サイトからZIPをダウンロードして展開するだけです。インストーラーすら不要で、展開したフォルダ中の wacs.exe を実行するだけで動きます。 |
| ポイント |
対話形式: 実行するとコマンドプロンプト上で「どのサイトに証明書を入れる?」とメニュー形式で聞いてくれるので、番号を選んでいくだけで設定が完了します。 IIS連携: Windowsの標準ウェブサーバー(IIS)を自動検出し、証明書のバインド(適用)まで自動でやってくれます。 自動更新も自動設定: Windowsの「タスクスケジューラ」に自動更新設定を勝手に登録してくれるため、一度設定すればあとは放置でOKです。 |
1. 管理者としてコマンドプロンプトを開く
#win-acme(wacs.exe)があるフォルダへ移動し以下のアカウント登録コマンドを実行しますwacs.exe --baseuri "https://acme.sectigo.com/v2/OV" --eab-key-identifier "お客様のAccount ID" --eab-key "お客様のEAB MAC KEY" --accepttos --emailaddress "あなたのメールアドレス"
legoは非常に多くのDNSプロバイダー(100以上)に対応しているのが最大の特徴で 標準的なツール(Certbotなど)などでは対応していないマイナーなDNSサービスや、企業の独自DNS環境で「DNS-01チャレンジ」を使って証明書を発行したいクラウドネイティブな開発者 DockerやKubernetesなどの環境でインフラを構築している人々に好まれています
特徴として: 軽量なコンテナイメージとして配布されているため、自動化パイプライン(CI/CD)の中に組み込んで、インフラ構築のついでに証明書設定も終わらせたい場合に重宝されます。
export AWS_REGION=ap-northeast-1
export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
# (オプション) IAMロールを使用する場合はこれらは不要です
export CLOUDFLARE_DNS_API_TOKEN=your-api-token
export AZURE_CLIENT_ID=your-client-id
export AZURE_CLIENT_SECRET=your-client-secret
export AZURE_SUBSCRIPTION_ID=your-subscription-id
export AZURE_TENANT_ID=your-tenant-id
export AZURE_RESOURCE_GROUP=your-resource-group
export GCE_PROJECT=your-project-id
export GCE_SERVICE_ACCOUNT_FILE=/path/to/service-account.json
lego --email "your-email@example.com" \
--server "https://acme.sectigo.com/v2/your-endpoint" \
--eab --kid "お客様のAccount ID" --hmac "お客様のEAB MAC KEY" \
--domains "example.com" \
--http \
run
#--dns オプションに指定する値(route53, cloudflare, azuredns, gcloud) #をご利用環境に合わせて変更してください。
lego --email "your-email@example.com" \
--server "https://acme.sectigo.com/v2/your-endpoint" \
--eab --kid "お客様のAccount ID" --hmac "お客様のAccount ID" \
--domains "*.example.com" \
--dns route53 \
run
lego --email "your-email@example.com" \
--server "https://acme.sectigo.com/v2/your-endpoint" \
--eab --kid "お客様のAccount ID" --hmac "お客様のEAB MAC KEY" \
--domains "example.com" \
renew
特徴として: 軽量なコンテナイメージとして配布されているため、自動化パイプライン(CI/CD)の中に組み込んで、インフラ構築のついでに証明書設定も終わらせたい場合に重宝されます。
1.事前準備:SectigoのEAB情報の取得
マイページから、以下の3つの情報を取得しておいてください。| ACME Server URL |
例 https://acme.sectigo.com/v2/DV ドメイン認証 例 https://acme.sectigo.com/v2/OV 企業認証 |
| KID (Key ID) | EAB用のキーID(お客様のAccount ID)をマイページから取得 |
| HMAC Key | EAB用の秘密鍵(お客様のEAB MAC KEY)をマイページから取得 |
2.各環境別のDNS認証設定(環境変数)
legoは環境変数を読み取ってDNS操作を行います。ご利用のプロバイダーに合わせて、コマンド実行前に以下の変数をエクスポートしてください。AWS (Route 53)
#IAMポリシーで route53:ChangeResourceRecordSets などの権限が必要です。export AWS_REGION=ap-northeast-1
export AWS_ACCESS_KEY_ID=YOUR_ACCESS_KEY
export AWS_SECRET_ACCESS_KEY=YOUR_SECRET_KEY
# (オプション) IAMロールを使用する場合はこれらは不要です
Cloudflare
#最小権限の「APIトークン(Zone.DNS:Edit)」を使用することを推奨します。export CLOUDFLARE_DNS_API_TOKEN=your-api-token
Azure DNS
#サービスプリンシパルを作成し、対象のDNSゾーンへの「DNS Zone Contributor」権限が必要です。export AZURE_CLIENT_ID=your-client-id
export AZURE_CLIENT_SECRET=your-client-secret
export AZURE_SUBSCRIPTION_ID=your-subscription-id
export AZURE_TENANT_ID=your-tenant-id
export AZURE_RESOURCE_GROUP=your-resource-group
GCP (Google Cloud DNS)
#サービスアカウントのJSONキーファイルが必要です。export GCE_PROJECT=your-project-id
export GCE_SERVICE_ACCOUNT_FILE=/path/to/service-account.json
legoコマンドHTTP-01チャレンジでの実行例(bash)
#以下のアカウント登録bashコマンドを実行しますlego --email "your-email@example.com" \
--server "https://acme.sectigo.com/v2/your-endpoint" \
--eab --kid "お客様のAccount ID" --hmac "お客様のEAB MAC KEY" \
--domains "example.com" \
--http \
run
legoコマンドDNS-01チャレンジ(ワイルドカード証明書などの場合)での実行例(bash)
#すべての変数を設定したら、以下のコマンドで証明書を発行します。#--dns オプションに指定する値(route53, cloudflare, azuredns, gcloud) #をご利用環境に合わせて変更してください。
lego --email "your-email@example.com" \
--server "https://acme.sectigo.com/v2/your-endpoint" \
--eab --kid "お客様のAccount ID" --hmac "お客様のAccount ID" \
--domains "*.example.com" \
--dns route53 \
run
※主要なオプション解説
: Sectigoから : :| --server | 指定されたACMEエンドポイントURL |
| --eab | 外部アカウントバインディングを有効化 |
| --kid --hmac |
Sectigo発行の資格情報 |
| --dns | 使用するプロバイダー名(route53, cloudflare, azuredns, gcloud など) |
| run | 初回取得(更新時は renew) |
lego自動更新(Renew)の設定
#以下のコマンドをcronなどで定期実行することで更新が可能lego --email "your-email@example.com" \
--server "https://acme.sectigo.com/v2/your-endpoint" \
--eab --kid "お客様のAccount ID" --hmac "お客様のEAB MAC KEY" \
--domains "example.com" \
renew
マニュアル
- CSRの生成方法
- 証明書のインストール
- ドメイン認証用サイトシールの設置
- ドメイン認証用セキュアサイトシール
(2012/11/1以降のご注文より) - 企業認証&EV用サイトシールの設置
- コード証明書関連(codesign)
- セキュアEMAIL関連(smime)
- CaaS 自動化関連(ACME)
- IISサーバのみに起因する問題と解消のコツ
- 企業認証/EV認証の電話認証(コールバック)
- Windowsサーバーにおいて不完全な証明書チェーンとなる場合の解消法
- セクティゴの中間証明書及びルート証明書について
- ルート証明書 中間証明書について
- セクティゴサイトシール(trustlogo)のインスト―ル
- 中間CA証明書・ルート証明書について
- ドメインの所有者確認【メール方式:英文の承認メールの表示例】
各種手続きについて
- Multi-Perspective Issuance Corroboration(マルチ視点発行検証)を導入
- 「サーバ証明書」の拡張キーの使用法(EKU)フィールドに「クライアント認証」を記載することを廃止
- 古いSHA1ルート終了における対応につきまして。
- 新ドメイン認証レベルで確認させていただく内容
- オンラインDBへの電話番号確認
- DUNSの新規登録申請はオンラインで簡単
- ドメイン認証レベルで確認させていただく内容
- 企業認証レベルで確認させていただく内容
- 認証レベルに応じた確認・必要書類はなんですか
- 申請ドメインの登録状態を確認しよう :whoisチェック
- 企業情報(登録確認)にはどのような媒体がありますか?
- 無償版SSLとは
- 申請までにご準備いただく物
- お申込みから納品までの流れ
- 費用の支払方法
- お見積書発行依頼
- 請求書の発行依頼
- 更新の申請方法
- 販売パートナ・アフェリエイトパートナーになる。
- ID/パスワードを忘れたら
購入前のご質問
- Sectigo ルート証明書の移行と古いCAの無効化について
- vPRO対応AMT証明書について
- セクティゴの補償とは一体どのようなものでしょうか?
- FileMaker(ファイルメーカー)製品対応SSLについて
- 携帯電話、スマートフォン、タブレット対応状況
- 新旧ドメイン認証タイプの比較
- 携帯電話・スマートフォン対応状況(ユニファイドコミュニケーション)
- ドメイン管理状況の認証 (DCV) を実施
- ブラウザーの互換性
- マルチドメインは何個まで追加できますか
- 追加ドメインの購入はどのように申請するのでしょうか?
- IEの設定の「信頼されたルート証明期間」のなかでどのように表示されますか?
- コードサイニング証明書とはなんですか?
- ユニファイドコミュニケーションとはなんですか?
- どのようにすればSSLをテストできるでしょうか?
- コモドのSSL証明書は顧客のブラウザーで正しく動作するでしょうか?
- 補償とは一体どういう意味でしょうか?
- コモドのSSLはどのバージョンのSSLプロトコルと互換性がありますか?
- SGCとは何でしょうか?
- お申込フォームで間違った申請をしてしまいました。
- 個人でもコードサイニングが購入できますか??
- コモドのSSLはどのバージョンのSSLプロトコルと互換性がありますか?