CAAレコードとは
CAAは、Certification Authority Authorizationの略になります。
認証局は、CA/Browser Forum の Baseline Requirementsにより2017年9月8日以降、 サーバ証明書発行時にサーバ証明書発行先ドメインのDNSに含まれるCAAレコード確認が必須となりました。
CAAレコードは、意図しない認証局からサーバ証明書の発行を防止するための仕組みになります。
認証局はサーバ証明書を発行する際に発行先ドメインを管理しているDNSサーバーを確認し、その認証局にサーバ証明書の発行を許可しているかどうかを確認します。
もし、CAAレコードで指定した認証局以外の発行が許可されていない場合、それ以外の認証局からサーバ証明書は発行できません。
CAAレコード設定を実施していないドメインの場合は、どの認証局からもサーバ証明書を発行できます。
なお、CAAレコードはDNSサーバに未設定でも問題ありません。意図する認証局のみからサーバ証明書を発行したい場合にのみ設定してください。
CAA レコード設定値
サーバ証明書またはS/MIME証明書で発行元認証局を指定したい場合はCAA レコードをDNSサーバに登録します。
1つのFQDNに対して複数のCAAレコード登録も可能です。
また、ベースドメインが設定されている場合、サブドメインも対象となります。
(例)サーバ証明書:利用機関のベースドメインが「xxx.ac.jp」でUPKI電子証明書発行サービスより発行される認証局を指定する場合
- 2020年12月25日以降の発行
xxx.ac.jp. 3600 IN CAA 0 issue "secomtrust.net"
- 2020年12月24日以前の発行
xxx.ac.jp. CAA 0 issue "certs.nii.ac.jp"
(例)S/MIME証明書:利用機関のベースドメインが「xxx.ac.jp」でUPKI電子証明書発行サービスより発行される認証局を指定する場合
- 2024年9月15日以降の発行
xxx.ac.jp. 3600 IN CAA 0 issuemail "secomtrust.net"
CAAレコード設定確認方法
CAAレコードはdigコマンドで確認できます。
(例)xxx.ac.jpのCAAレコードを確認し存在する場合
dig caa xxx.ac.jp ;; QUESTION SECTION: ;xxx.ac.jp. IN CAA ; ANSWER SECTION: xxx.ac.jp. 3600 IN CAA 0 issue "secomtrust.net"
DNS検索サイトを利用する場合は、以下のようなサイトで検索できます。
CAA Record Lookup - Check Certification Authority Authorization (CAA) DNS records for any domain
APIエラー(338)で証明書が発行できない場合
CAAレコードの設定に問題がある可能性があります。
対象のFQDNが「yyy.xxx.ac.jp」であれば、前述の「CAAレコード設定確認方法」にて「xxx.ac.jp」と「yyy.xxx.ac.jp」の両方をご確認ください。
実行結果にCAAレコードが存在し、かつ"secomtrust.net"を含むレコードが存在しない場合は発行できませんので、
"secomtrust.net"を含むレコードを追加して、再申請を行ってください。
また、以下のようなレコードが存在している場合も発行抑止されるので、存在していたら削除してください。
xxx.ac.jp. 3600 IN CAA 0 contactemail "xxxx@xxx.ac.jp"
TTLの時間(3600秒の場合は1時間)が経過してから発行申請していただきますようお願いします。