タケユー・ウェブ日報

Ruby on Rails や Flutter といったWeb・モバイルアプリ技術を武器にお客様のビジネス立ち上げを支援する、タケユー・ウェブ株式会社の技術ブログです。

ACMでCAAエラーが発生したとき

まとめ

  • CAAレコードが1つでも指定されている場合、指定にない認証局によるSSLサーバ証明書発行は失敗する
  • CAAレコードに amazon.com が必要

事の起こり

AWS Certificate Manager を使い、クライアント指定のドメインサブドメインAmazon 発行のSSLサーバ証明書を発行しようとしたところ、 CAAエラーで失敗しました。

f:id:uzuki05:20200403113144p:plain
CAAエラー

CAAとは?

jp.globalsign.com

dev.classmethod.jp

CAAレコードを確認

$ dig caa xxxxxxx.jp +noedns
;; QUESTION SECTION:
;xxxxxxx.jp.              IN      CAA

;; ANSWER SECTION:
xxxxxxx.jp.       3497    IN      CAA     0 issue "letsencrypt.org"

ドメインに Let's Encrypt のみ許可するCAAレコードが設定されていました。

Amazonで発行する場合、追加でCAAレコードを設定する必要がありました。

お客様の DNS 設定に CAA レコードが存在する場合、Amazonドメインに証明書を発行する前に、そのレコードが amazon.com、amazontrust.com、awstrust.com、または amazonaws.com のいずれかの CA を指定している必要があります。

aws.amazon.com

Amazonを許可する設定を追加

(オプション) CAA レコードの設定

yyy.xxxxxxx.jp. IN CAA 0 issue "amazon.com"

f:id:uzuki05:20200403114131p:plain
Route53でのCAA設定