0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Let's Encrpyt の証明書形式が変わったせいで自動更新スクリプトがコケてしまった件

Last updated at Posted at 2024-12-10

Let's Encrpyt の証明書形式がRSA2048からECDSA P-256にかわった

気付いた経緯

  • Bashスクリプトで自動更新していたが、今月動いてなかった
  • 手動でrenewコマンドを叩いてみたら、正常に取得できていた模様
  • 証明書や秘密鍵を確認すると、秘密鍵ファイルが超短くなっていた
  • ???と思いながら、opensslコマンドで確認すると、暗号化形式がECDSA P-256に

Letsencrypt自動更新スクリプトについて

  1. certbot certonly を叩いて証明書を取得する
  2. aws acm list-certificates で、既存の証明書一覧をとってきて、対象のARNを抽出する
  3. aws acm import-certificate で、取得したARNの証明書を更新する

なぜこけたのか

  • 結論
    • aws acm list-certificates で一覧表示できる証明書は、RSA1024とRSA2048だけだから!

対応内容

  • オプションで明示的に一覧表示に出てくるようにする
    $ aws acm list-certificates --includes keyTypes="RSA_2048,EC_prime256v1"
    
  • これで一表示に、ECDSA P-256 も含まれるようになる

おまけ

  • 秘密鍵の長さが、ECDSA P-256は、RSA_2048にくらべて超短いが、実はセキュリティ強度は上がっているので、心配しなくても大丈夫
    RSA 2048: 約112ビットのセキュリティ強度
    ECDSA P-256: 約128ビットのセキュリティ強度
    
0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?