Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
HCL Domino 12.0 (ベータ) TLS証明書管理の自動化
Search
Haruyuki Nakano
September 01, 2022
Technology
0
1.1k
HCL Domino 12.0 (ベータ) TLS証明書管理の自動化
HCL Domino 12.0 の新機能であるTLS証明書管理機能についてベータ版を使い検証しました。
2021年3月の「テクてくLotus技術者夜会」で使用した資料です。
Haruyuki Nakano
September 01, 2022
Tweet
Share
More Decks by Haruyuki Nakano
See All by Haruyuki Nakano
LotusScript でビューへアクセスする方法 #3
harunakano
0
13
LotusScript でビューへアクセスする方法 #2
harunakano
0
31
LotusScript でビューへアクセスする方法 #1
harunakano
0
38
LotusScript で文書へアクセスする方法
harunakano
0
89
DAOSのおさらいと進化について
harunakano
0
98
HCL Domino 14.5 EAP2 Domino IQ について
harunakano
0
510
HCL Notes/Domino 14.5 EAP Drop1
harunakano
1
380
ブラウザでNotesアプリ開発!?HCL Nomad Designer で始めよう!
harunakano
0
290
HCL Domino 14.0 AutoUpdate を試してみた
harunakano
0
7.4k
Other Decks in Technology
See All in Technology
Progressive Deliveryで支える!スケールする衛星コンステレーションの地上システム運用 / Ground Station Operation for Scalable Satellite Constellation by Progressive Delivery
iselegant
1
200
なぜインフラコードのモジュール化は難しいのか - アプリケーションコードとの本質的な違いから考える
mizzy
60
20k
Perlの生きのこり - YAPC::Fukuoka 2025
kfly8
0
140
AIと自動化がもたらす業務効率化の実例: 反社チェック等の調査・業務プロセス自動化
enpipi
0
680
大規模プロダクトで実践するAI活用の仕組みづくり
k1tikurisu
4
1.6k
Lazy Constant - finalフィールドの遅延初期化
skrb
0
240
AI時代の戦略的アーキテクチャ 〜Adaptable AI をアーキテクチャで実現する〜 / Enabling Adaptable AI Through Strategic Architecture
bitkey
PRO
10
4k
個人から巡るAI疲れと組織としてできること - AI疲れをふっとばせ。エンジニアのAI疲れ治療法 ショートセッション -
kikuchikakeru
4
1.7k
持続可能なアクセシビリティ開発
azukiazusa1
6
260
生成AI時代に若手エンジニアが最初に覚えるべき内容と、その学習法
starfish719
2
510
Quarkusで作るInteractive Stream Application
joker1007
0
150
ステートレスなLLMでステートフルなAI agentを作る - YAPC::Fukuoka 2025
gfx
8
1.4k
Featured
See All Featured
Rails Girls Zürich Keynote
gr2m
95
14k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
37
2.6k
Site-Speed That Sticks
csswizardry
13
970
Facilitating Awesome Meetings
lara
57
6.6k
Making the Leap to Tech Lead
cromwellryan
135
9.6k
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
508
140k
Building Flexible Design Systems
yeseniaperezcruz
329
39k
Rebuilding a faster, lazier Slack
samanthasiow
84
9.3k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
How to train your dragon (web standard)
notwaldorf
97
6.4k
Improving Core Web Vitals using Speculation Rules API
sergeychernyshev
21
1.3k
Stop Working from a Prison Cell
hatefulcrawdad
272
21k
Transcript
証明書管理の 自動化 V12 Beta 2 の CertMgr による DNS-01 challenge
を試す @harunkakano (Twitter) harunakano.blogspot.com (Blog)
検証の前に 証明書の取得と自動化のために知っておきたいことがあります
V11までの手動での証明書管理 • KYRTOOL(Domino V11に同梱、V10以前は別途ダウンロー ド) • OpenSSL(別途ダウンロード)のインストールと設定 • 長いコマンドを何度もタイプする操作を求められる
V11までの証明書管理の自動化ツール • midpoints Let’s Encrypt for Domino (LE4D) • Domino
に nsf ファイルを設置 • 開発言語は Java
Let’s Encrypt https://letsencrypt.org/ja/
Let’s Encrypt について • HTTPS (SSL/TLS) の有効化に必要なデジタル証明書を、無料で 提供する認証局(CA) • ISRGがサービスを提供
• 証明書の取得や更新の自動化が可能 https://letsencrypt.org/ja/about/
ACMEプロトコル • 証明書の要求から取得までを自動化するためのルール • RFC 8555 - Automatic Certificate Management
Environment (ACME) • CA(認証局)は、要求したドメイン名が我々の制御下にあるこ とを証明できれば証明書を発行する • ホスティングプロバイダによる ACMEクライアント( ACMEプ ロトコルを実装するソフトウェア)のサポートが必要
証明書自動入手の流れ 1. 証明書リクエスト 2. 認証用トークン発行 3. トークンの登録 4. 認証チャレンジの要求 5.
トークンの確認 6. 証明書発行 ホスティング プロバイダ ドメインが我々の制御下にあることを証明 証明書等の要求と発行 CA CA CA CA CA ホスティング プロバイダ ACMEクライアント ACMEクライアント ACMEクライアント ACMEクライアント ACMEクライアント ※ホスティングプロバイダ:WEBサーバーまたはDNSサービス
「チャレンジ」のタイプ HTTP-01 チャレンジ • ACMEクライアントが、Let’s Encrypt が発行したトークン をセットしたファイルをWeb サーバーへ設置する DNS-01
チャレンジ • ACMEクライアントが、Let’s Encrypt が発行したトークン をセットしたTXTレコードを DNSへ設置する
利点/欠点 HTTP-01 チャレンジ ✓メリット • 証明書の取得が比較的簡単に自 動化できる ╳デメリット • Let’s
Encrypt がWebサーバー へアクセスできる必要がある • ワイルドカード証明書を発行で きない DNS-01 チャレンジ ✓メリット • ワイルドカード証明書を発行可 能 • 複数のWEBサーバーの証明書 を取得可能 ╳デメリット • DNS プロバイダによる自動 アップデート可能なAPIの提供 が必要
CertMgr の検証 V12 Beta 2 で DNS-01 チャレンジによるTLS証明書の自動取得を検証
DNS-01チャレンジの検証 • ACMEクライアント:CertMgr タスク • CertMgrの初回起動時に CertStore.nsf を自動作成 • TLS
Credentials, DNS Provider, DNS Configuration の各設定を追加 • DNS-01チャレンジでは Domino にDSAPI 設定や HTTP タスク起動が不要 • ホスティングプロバイダ(DNS):CloudFlare • CertStore.nsf へTXTレコードを追加/削除するための設定を追加 • DNSプロバイダによるAPI提供が必要 使用中の MyDNS.jp はAPI仕様不明のため CloudFlare へ乗り換え • ドメインのAレコードを登録 • ドメイン名:dominov12beta.work • お名前.com で取得 • DNS として CloudFlare を指定
検証した DNS-01 チャレンジ 1. 証明書リクエスト 2. 認証用トークン発行 3. トークンをTXTレコードにして登録 4.
認証チャレンジの要求 5. TXTレコードの確認 6. 証明書発行 7. TXTレコードの削除
CertStore.nsf の作成 • CertMgr タスクの実行 コンソールで “load certmgr” コマンドを実行、または notes.ini
の ServerTasks= へ certmgr を追加 初回起動時に CertStore.nsf が無ければ自動作成 コマンドに “-d” を付けて起動するとデバッグモードになる
CertStore.nsf の画面ショット
ACME Account ACMEプロトコルに対応したCAを設定します
DB作成時に既存の2文書
「Accept Let’s Encrypt terms of service」にチェックが必要
DNS Provider Configuration CertMgr が DNS プロバイダへアクセスしTXTレコードの登録と削除を行う ために必要な設定を行います
[Add Config]ボタンでDNS設定を白紙から作成することも 可能だが、DXLファイルからのインポートも可能 ベータフォーラムで公開されていた DXLファイルをインポートして追加 された2つのDNS設定
None
インポートしたままの設定では cfg_DnsZone フィールドの値を取得できなかったため 「Lookup header formula」の式を変更した
DNS Provider Account ドメイン名と、DNSプロバイダの認証情報を登録します
None
ドメイン名 DNSプロバイダでの認証時の情報 (ここでは Authorization token のみ記入) DNS Provider Configuration で
設定済みのプロバイダを選択
TLSクレデンシャル文書 CAが証明書の発行に必要な情報を登録し、実行します
Basicタブで入力する項目 Hostname Common Name (CN) Country Key type に“ECDSA”を選択 そのほかはデフォルトのまま
[Submit Request]ボタンを クリック 実行結果
None
[Examine Certificate(s)]ボタンで 入手できた証明書の詳細を確認
スライドの最後