199 Views
December 10, 25
スライド概要
DominoV12からTLS証明書の作成方法が、以前の方法に加えて、証明書ストア(certstore.nsf)+CertMgrタスクでも管理可能になりました。
特に便利になったのは、証明書の自動更新プロトコルであるACMEに対応した点です。
V12から変更されたTLS証明書管理 証明書ストアの話 2025/08/22 Tetsuji Hayashi 1
V12からTLS証明書管理が変更されました • TLS証明書はHTTPタスク(xPagesなど)やNomadWeb(必須)で使用する • V8.xの時代は証明書の対応が遅いなどの問題があった(TLS1.3問題) • 例)やむを得ずIISをリバースプロキシとして使用し、証明書の管理はIISで行っていた • PC→<HTTPS:443>→IIS(TLS証明書)→<HTTP:80>→DominoHTTP V12.0.1から証明書ストア(certstore.nsf)+CertMgrタスクによる管理に変更された 2
以前の証明書管理(certsrv8.nsf) 1. サーバー証明書管理アプリケーション(certsrv8.nsf)を開き、「1.キーリング ファイルの作成」を押す。 2. キーリングファイル名(拡張子kyr)、キーリングパスワード、FQDN名、組織情 報などを登録する。 3. 認証要求の作成画面から認証要求(CSR)をコピーし、ベリサインなど認証局の HPから申請を行う 4. サーバー証明書管理アプリケーション(certsrv8.nsf)を開き、「4.証明書のキー リングへのインストール」を選択し、認証局から発行された証明書をマージ する 5. 証明書がマージされたキーリングファイル(keyfile.sthとkeyfile.kyr)をDomino データフォルダへコピー 6. サーバーを起動 V12以降もキーリングファイルによる証明書管理は有効 3
証明書ストア(certstore.nsf) • CertMgrタスクを実行すると、初回実行時に作成される 発行された証明書 認証局への接続情報 DNS情報 売りは証明書の自動更新ACME(アクミー)対応 4
ACME(アクミー)とは? • Automatic Certificate Management Environmentの略 • SSL/TLSサーバ証明書を自動で取得・更新・管理するための標準プロトコル • IETF によって RFC 8555 として標準化(2019年) • Let's Encrypt をはじめとする ACME 対応CA(認証局) ■今までのサーバー証明書取得 ■ACME利用 1. WebサーバーでCSR(証明書要求)を作成 1. 証明書リクエストをCAに送信 2. CSRをWebブラウザからCAに提出 2. CAが認証用トークンを送信 3. CAが認証 3. ドメイン認証 4. 証明書を受け取り(HP上、メール) 5. Webサーバーに証明書インストール A) HTTP-01:Webサーバー上にトークンファイルを置き、CA からHTTPでアクセス(DMZ向き) B) DNS-01:DNSにTXTレコードを追加し、CAはTXTレコード を参照 4. 証明書の受け取りとWebサーバーにインストール 5
DNS-01認証利用時のCertMgr(ACME)の動作 ◼ 下記タスクを30日間隔で実行し、サーバー証明書を更新 1. CertMgrがCAに認証リクエスト送信 ①認証リクエスト 2. CAが認証用トークンを返す Domino (CertMgr、 certstore.nsf) 3. CertMgrが証明書ストアDBに登録されたDNSプロバイダ文書にあ るコマンドを実行し、Route53にTXTレコードを追加 レ コ ー ド 追 加 レ コ ー ド 削 除 Let’sEncrypt CA ④認証チャレンジ要求 ⑥証明書発行 ⑤ TXT 7. CertMgrが証明書ストアDBに登録されたDNSプロバイダ文書にあ るコマンドを実行し、Route53にTXTレコードを削除 53 の TXT ① CertMgrがサーバー証明書を更新 53 に TXT 6. CAがサーバー証明書を返す ⑦ Route 5. CAがDNSを参照し、TXTレコードを確認 ③ Route 4. CertMgrがCAに認証チャレンジ要求を送信 ②認証用トークン レ コ ー ド 確 認 Route53 6
自己署名証明書の発行①:認証局の登録 1. 設定>認証機関を表示し、アカウントの追加ボタンをクリックする。 2. 自己署名証明書の認証局を登録する シート名 項目 値 基本設定 名前 自己認証証明書 種類 MicroCA キータイプ RSA キーサイズ 4096 認証機関名 CA 組織 hogehoge 国名 JP 市町村 Yasu 都道府県 Shiga 組織ユニット名 hoge ローカルCA 7
自己署名証明書の発行②:証明書の発行 3. TLS証明書>ホスト名別をクリックし、TSL証明書の追加ボタンをクリックする 4. FQDN名など証明書に必要な情報を登録する 分類 項目 値 メイン ホスト名 www.hoge.com アクセス可能なサーバー HogeDomino/Hoge 証明書プロバイダ MicroCA 認証機関 自己認証証明書(認証機関文書を選択) 共通名(CN) www.hoge.com 組織 hogehoge 国名 JP 市町村 Yasu 都道府県 Shiga 組織ユニット名 hoge 証明書属性 5. 証明書が発行されると、TLS証明書文書に「認証期限」などの値が書き込まれる 8
自己署名証明書の取得 1. TLS証明書文書を開き「セキュリティ/キー」タブにあるPEMから「-----BEGIN CERTIFICATE----」から「-----END CERTIFICATE-----」をコピーしてテキスト形式で保存。 • 「self_certificate_(サーバー名).crt」のようにわかりやすい名前を付け、保存。 • 拡張子はpemでも同じ。 • 「-----BEGIN CERTIFICATE-----」が複数ある場合は、ファイルを分ける。 サーバー証明書 (有効期限1年) 二つの証明書ファイル をとして保存する CA証明書 (有効期限10年) クライアントに配布するの はCA証明書だけでOK 9
クライアントPCへの自己署名証明書のインポート 1. 自己署名証明書ファイル(拡張子crt)を右クリックし、証明書のインストールを行う 10
自己署名証明書の確認 1. インストールした証明書はWindowsの証明書マネージャで確認できる • 発行者が「CA」となっているものがDominoで作った自己署名証明書 11
参考:Route53用DNSプロバイダ文書
• TXTレコードの追加コマンド
"aws route53 change-resource-record-sets " +
"--hosted-zone-id " + awsZoneID + " " +
"--change-batch '{""Changes"":[{""Action"":""UPSERT"",""ResourceRecordSet"":
{""Name"":""" + challengeFqdn + """,""Type"":""TXT"",""TTL"":60,
""ResourceRecords"":[{""Value"":""¥""" + token + "¥"""}]}}]}'"
• TXTレコードの削除コマンド
"aws route53 change-resource-record-sets " +
"--hosted-zone-id " + awsZoneID + " " +
"--change-batch '{""Changes"":[{""Action"":""DELETE"",""ResourceRecordSet"":{ … }}]}'"
• HCL公式:V12証明書マネージャ説明(英語)
https://blog.nashcom.de/presentations/openntf2021_domino_certmgr.pdf
12
参考リンク • TLS 証明書管理って何?(中野さん) V12β • 証明書管理の基本(certstore.nsfの使い方はなし) • Let'sEncryptによるサーバー証明書管理の自動化 • https://speakerdeck.com/harunakano/tls-zheng-ming-shu-guan-li-tutehe • 証明書管理の自動化(中野さん) V12β2 • • • • V12βを使ったサーバー証明書更新の自動化 Let'sEncrypt+CloudFlare+お名前.com ACMEでDNS-01方式を使ったサーバー証明書の自動更新 https://speakerdeck.com/harunakano/hcl-domino-12-dot-0-beta-tlszheng-ming-shu-guan-li-nozi-dong-hua • TLS証明書の手動管理(中野さん) V12 • 証明書ストアからCSRを作成し、認証局のHPからサーバー証明書を発行、サーバー証明書を証明書ストアに登録する • https://speakerdeck.com/harunakano/tlszheng-ming-shu-falseshou-dong-guan-li 13
NomadWebを脱Notesクライアントとして推進するなら • 英語のドキュメントを日本語化するだけじゃなく、最新版のNotes(V14orV14.5)のドキュメント として作成して下さい • IDVault+証明書ストア+NomadWeb1.0.6以降 • Safelinxを使った手順書はもう不要です(HP上から消しても良い) 【林の感想】 • 証明書ストアが出たのがV12なので、V12の技術情報を見て、NomadWeb1.0.16の技術情報を見てな どあちこち見て、Notes技術者が脳内で統合する必要があります • 中野さんの資料は頑張ってるけど、「わかってる人」しかわからない • 昔は技術者がいっぱいいたので、できる人も多かったのですが、できる人はキン○ーンとか3○5を売 る人に変わっているので、HCL自身が作る必要があります • 「言うだけ番長」はダメ、学校で成績が良かった人がよくやる方法(コンサルトかもそう) • HCL Japanは、脱ノーツクライアントに対して、VoltMXが押せないなら、もっとNomadWebの技 術文書へリソースを割くべき(方向性がフラフラしている) 14
ラインセンス管理ツールの変更 15
HCL Domino License Analysis Utility(DLAU)→ HCL License Dashboard • HCL Domino License Analysis Utility(DLAU)は、HCL Domino サーバーの少なくとも 1 つが 14.5 未満のバージョンで実行されている環境で使用する必要があります。すべての Domino サー バーがバージョン 14.5(またはそれ以上)で実行されている場合は、まったく同じ形式で DLAU レポートも作成する統合 Domino ライセンス ダッシュボードを使用する必要があります。 • https://opensource.hcltechsw.com/domino-license-analysis-utility-DLAU/ V14.5以降(標準搭載) V14まで(NTFをダウンロードしてきて作成) HCL License Dashboard HCL Domino License Analysis Utility(DLAU) 16
HCL License Dashboard(dominodla.nsf) • Create Reportをクリックし、ランセンス情報を入力した後、HCLにライセンス情報の送信を行 う 17