SSLならセクティゴ・コモドのEV・企業・ドメイン認証

SSLならセクティゴ・コモドのEV・企業・ドメイン認証

サポート


こちらからサポート記事を検索いただけます

検索キーワード:

注文・設定方法など (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 "YOUR_EAB_KEY_ID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY" \
引数 説明
register Certbotに対して、ACMEサーバーに新しいアカウントを作成(登録)するよう指示します。
--email 登録するメールアドレスです。証明書の期限切れ通知や、アカウントに関する重要な連絡を受け取るために使用されます。
--server 接続先のACMEサーバーのURLです。この例ではOV(組織認証)用エンドポイントを指定しています。DVドメイン認証の場合には "https://acme.sectigo.com/v2/DV"になります
--eab-kid ACMEリクエストを紐付けるために必要な外部アカウントバインディング (EAB) のキーIDはマイページより取得して下さい。
--eab-hmac-key リクエストの正当性を証明するためのEAB用のHMACキー(パスワードのようなもの)です。こちらもマイページより取得して下さい。

2. 発行フェーズ certbot certonly コマンド

Bashでのコマンド実行例

certbot certonly --manual \
--server "https://acme.sectigo.com/v2/OV" \
--eab-kid "YOUR_EAB_KEY_ID" \
--eab-hmac-key "YOUR_EAB_HMAC_KEY" \
-d example.jp
引数 説明
certonly 証明書の「取得のみ」を行い、Webサーバー(ApacheやNginx)への自動設置は一気に行わないことを指定します。certbotのコマンド実行PCと公開サーバが異なる場合にはこのように取得のみを指定して下さい※取得後のフックコマンドで当該サーバにアップロードするなどの2次スクリプトを別途用意します
--manual 認証作業を手動で行うモードです。通常、DNSのTXTレコード追加や、サーバーへのファイル設置を対話形式で行う場合のみ指定して下さいプラグイン対応で自動認証をさせる場合にはこのオプションは不要です
--key-type rsa 生成する秘密鍵のアルゴリズムを RSA に指定します。このオプションの指定がない場合には楕円暗号方式で発行します
--rsa-key-size 2048 RSA鍵のサイズを 2048ビット に指定しています。レガシー端末もカバーする場合の標準的なセキュリティ強度です。
--email 通知用のメールアドレスです。
--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 "YOUR_EAB_KEY_ID" `
-EabKey "YOUR_EAB_HMAC_KEY" `
-EabAlgorithm HS256 `
-Email "admin@example.jp" -AcceptTOS
アカウント登録の次は「ドメインの識別(Identifier)」、「認証(Challenge)」、そして「証明書の発行」というステップに進みます。

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 "YOUR_EAB_KEY_ID"
eab hmac "YOUR_EAB_HMAC_KEY"
}
acme-clientでのドメイン指定方法は......

GetSSL

configファイルに環境変数として記載をするか、もしくは直接指定します。

環境変数記載例・Bashでの実行例

# account.conf または domain.conf に記述
ACCOUNT_KEYID="YOUR_EAB_KEY_ID"
ACCOUNT_HMAC="YOUR_EAB_HMAC_KEY"

# 実行
./getssl -f example.jp

Posh-ACMEはモダンなPowerShellモジュールです。

PowerShellでの実行例

New-PAAccount -ID "YOUR_EAB_KEY_ID" `
-HMAC "YOUR_EAB_HMAC_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 YOUR_EAB_KEY_ID YOUR_EAB_HMAC_KEY
}
}
##※eab YOUR_EAB_KEY_ID と YOUR_EAB_HMAC_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="YOUR_EAB_KEY_ID",
eab_hmac_key="YOUR_EAB_HMAC_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 = "YOUR_EAB_KEY_ID",
eab_hmac_key = "YOUR_EAB_HMAC_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: "YOUR_EAB_KEY_ID",
hmacKey: "YOUR_EAB_HMAC_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 "あなたのKID" --eab-key "あなたのHMACキー" --accepttos --emailaddress "あなたのメールアドレス"

サポートトップへ

CaaSとは

注文・設定方法など

トラブルシューティング

その他