HCL Domino V12 の新機能「TLS証明書管理(CertMgrタスク+証明書ストア CertStore.nsf)は、Let's Encrypt を標準でサポートしています。
オンラインヘルプによると、正式にはサポートされていないけれども、ACMEプロトコルをサポートする Let's Encrypt 以外の CA (認証局)に証明書を要求できるとのこと。
そこで ACME プロトコルに対応した CA である ZeroSSL に切り替えて証明書の取得が可能なのかどうか試してみました。
Let's Encrypt は非営利団体ですが、ZeroSSL には Pricing Plan があり、Free(無償)での利用も可能です。Free プランでも 90日間有効な証明書の自動発行/更新に対応しています。
Free プランでは「3 90-Day Certificates」と記載されています。この「3」の部分が、他の有償プランでは「∞」となっており、Free プランでは取得できる証明書が 3 つまでに制限されているように見えます。まあテストするには問題ありません。
「テスト」と言えば、Let's Encrypt にはテスト用途の「ステージング」環境がありますが ZeroSSL にはそれがありません。
まず最初に ZeroSSL のWebサイトの右上にある「Get Free SSL」をクリックして Free Account を作成します。作成が完了して「Get Started」ページが開いたら、サイドメニューから「Developer」をクリックします。
「Developer」ページの下部にある「EAB Credentials for ACME Clients」で「Generate」をクリックします。
すると「EAB KID」と「EAB HMAC Key」に文字列が表示されるので、これを控えておきます。
次は Domino 側の設定です。
証明書ストア(CertStore.nsf)を開き、サイドメニューから「設定 - ACME アカウント」をクリックします。※証明書ストアは CertMgr タスクの初回起動時に自動作成されます。
ここで開くビューには、デフォルトでは LetsEncryptProduction と LetsEncryptStaging という2つの文書が表示されます。今回はここに ZeroSSL のために文書を追加するのでビュー上部にある「アカウントの追加」ボタンをクリックします。
「ACME アカウント」文書の項目は下図のように埋めました。
「ACME ディレクトリ URL」にはこちらにある「ACME Server URL」の値をセットしました。
「E メールアドレス」は空欄のままでも TLS 証明書の要求は動作はするようで、空欄のままにすることによる影響の有無はよくわかりません。
「利用規約の了承」にあるチェックボックスにはチェックマークを付けておく必要があります。チェックマークが無いまま TLS 証明書を要求すると、ステータスに「エラー The terms of service MUST be agreed to (401) Unexpected HTTP Status when generating new ACME account」と記録されました。
また「外部アカウントバインディング」には先に控えておいた「EAB KID」と「EAB HMAC Key」の値をそれぞれセットしました。
ここまでで「ACME アカウント」文書を一旦保存して閉じます。
次に証明書ストア(CertStore.nsf)のサイドメニューから「TLS 証明書 - ホスト名別」をクリックして、ビュー上部にある「TLS 証明書の追加」ボタンをクリックします。
「TLS 証明書」文書の項目は下図のように埋めました。
「ホスト名」は、TLS 証明書の SAN へ設定する名前をタイプします。この状態でフォーム上部にある「要求の送信」ボタンをクリックします。
CertMgr が処理を行い、証明書の取得が完了し、この「TLS 証明書」文書の1つ目のステータスが「発行」に変われば成功です。
ところで上図の「TLS 証明書」には、「ステータス」欄が2つあります。
実は最初に実行したとき、2つ目のステータスに「警告 - Last cert in chain is NOT self signed - No root found」と表示されました。No root found とありますが、これは証明書ストア(CertStore.nsf)内に対応するルート証明書の登録が無い場合に表示されるようです。
取得できた証明書のルート証明書を調べるには、「TLS 証明書」文書を開いて、フォーム上部にある「証明書の調査」ボタンをクリックします。
表示される「Examine Internet Certificates」ウィンドウで「証明書の発行者」にあるリストの最後が「ルート」です。今回の証明書では、リストの最後が「CN=AAA Certificate Services/O=Comodo CA Limited/L=Salford/ST=Greater Manchester/C=GB」でした。
これをググると pem 形式でダウンロードできるWebサイトがヒットしました。ダウンロードした pem ファイルをテキストエディタで開くと、"-----BEGIN CERTIFICATE-----" で始まる文字列があります。
証明書ストアのサイドメニューで「設定 - 信頼するルート」をクリックしてビュー上部にある「信頼するルートの追加」ボタンをクリックすると「信頼するルート」の編集画面が開きます。一旦 pem ファイルに戻り、文字列全体をクリップボードへコピーした後、「信頼するルート」の編集画面に戻って「証明書の貼り付け」ボタンをクリックします。表示されるメッセージにOKをクリックして「要求の送信」ボタンをクリックします。この後 CertMgr が処理を行うと下図赤枠内のとおりルート証明書が追加できました。








0 件のコメント:
コメントを投稿