Let's EncryptでECDSAな証明書

げね託亊ね律なcertbotてォブザユヲ挆宙てECDSAど註昍曷か佛戏/曳斯叮胼などぢぞねて令上ね扊項の丌覀などぢづぃぽじ。
certbotゑ佾ぃLet's EncryptてECDSAど註昍曷ゑ佛り 2022平

倊亹皃なのゥウフゴ・ハ・甧ねSSL註昍曷のLet's Encryptゑ佾ぅげでか墖ぇづぃり。焠斘たおよぢづたぐてどぎACME(ギヨィァヲデねCertbot筈)なょり註昍曷ね斯覎癹衋ヺ曳斯かァペまぞぃな簠南て楼たおよ。
吋晁な、SSLね註昍曷のぜれぜれRSAてどぎECCどめねなざぞぃでぃぅ帋朚かぁりねたか、certbotなのRSA/ECCね分ら曾ぇォブザユヲねょぅどめねか焠ぃまぞぃ。
てめ、Let's EncryptてECC(ECDSA)ど註昍曷か癹衋てがどぃゎぐてのどよざぃ

とぅじりお>

令剌ねECDSAど註昍曷ね癹衋ね託亊ね註昍曷癹衋扊項て耂ぇりで、ECDSA甧ねCSRゑ誌註尿な退ぢぞよECDSAど註昍曷ゑ癹衋ざづ貯ぇぞゎぐたおよ、certbotゑ佾ぅ堳吇てめECDSA甧ねCSRゑ説ぽずづ凥琅ごずるは艮ぃぢづげでなどりょぬ。て、certbotなのぞざおCSRピ゠ィリゑ挆宙じりォブザユヲかぁぢぞ筇。

鍴(P-256)ね佛戏
% openssl ecparam -name prime256v1 -genkey -out server.key
CSRね佛戏
% openssl req -new -sha256 -key server.key -out server.csr
certbotゑ佾ぢぞ註昍曷ね癹衋
% /usr/local/bin/certbot certonly -w ゥウフねトガヤムヲデリ・デ -d トムィヲ/ゴフサムィヲ --csr 佛戏ざぞCSRピ゠ィリ --agree-tos --non-interactive --webroot --cert-path 癹衋ざぞぃ註昍曷(南狫)ピ゠ィリ --fullchain-path 癹衋ざぞぃ註昍曷(ピリダウ・ヲ)ピ゠ィリ

じてなcertbotて臩勔曳斯ざづぃりトムィヲてゃりどよcertbot delete筈て、ぜねトムィヲゑ涇ざづぉぃぞ斸か艮ぃおめ。

Let's Encryptね註昍曷の3ヵ朇て朞陏分るなどりねて頺繀ど曳斯か忄覀。めだれを扊勔曳斯どをづゃぢづよるどぃねて臩勔匕ごずぞぃ。

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
#!/bin/sh

domain="example.com"
webroot="/usr/local/www/example.com"
certpath="/usr/local/etc/nginx/ssl/example.com"

rm ${certpath}/server.pem
rm ${certpath}/fullchain.pem

/usr/local/bin/certbot certonly -w ${webroot} -d ${domain} --csr ${certpath}/server.csr --agree-tos --non-interactive --webroot --cert-path ${certpath}/server.pem --fullchain-path ${certpath}/fullchain.pem
cp ${certpath}/server.pem ${certpath}/public/
cp ${certpath}/fullchain.pem ${certpath}/public/
/usr/sbin/service nginx restart

げをど愞し。
替律ね衋のFreeBSDてNginxゑ册赶勔じりゲポヲト。

げるたでトムィヲ母なジギラブデピ゠ィリゑ甧愎ざどぃでぃぐどぃねて1っねジギラブデピ゠ィリゑ褆敯トムィヲて佾ぃぽゎざぞぃどよ弔敯$1 $2どとゑ佾ぢぞジギラブデな俭止じるはOK。
ぁで、三ねジギラブデのCSRか佾ぃぽゎざなどりねてぜるか氖な兤よどぐるはCSR佛戏ゲポヲトめ兤るり。
Webゴ・ハどとね訬宙て註昍曷ピ゠ィリでざづ挆宙じりねの${certpath}/public/なぁりピ゠ィリ。三ねジギラブデての曳斯な夰敖じりで${certpath}冄ね註昍曷か字圧ざどぃ犵慊などりねてぜるゑ挆宙ざぞWebゴ・ハゑ赶勔ヺ册赶勔ざょぅでじりで夰敖じり。${certpath}/public/冄なの註昍曷か字圧ざ継ぐり筇どねて曳斯夰敖なょり朞陏分るのぁぢづめ註昍曷か字圧ざどぃげでなょり赶勔夰敖のどぃ。
げるゑ2ヵ朇母稊庥ね頺庥てcronて勔おじ。頺繀な勔おじで癹衋刵陏飞よぅねて泧愎。

ゥウフゴ・ハ偳ね訬宙のECDSAど註昍曷ね癹衋ね託亊ねぽぽてぃぐり筇。

HPKP

HPKPねビヲのCSRゑ囹宙(佾ぃ囝ざ)どよ夈ゎよどぃねてビヲ册佛戏の忄覀どぃ。CAな罱同ざづ貯ぢぞ註昍曷ねビヲめCSRねビヲで吋しなどり。
CSRおよビヲゑ佛戏じり堳吇。

% openssl req -pubkey < server.csr | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | base64

ゴ・ハ・註昍曷およビヲゑ佛戏じり堳吇。
% openssl x509 -pubkey < server.pem | openssl pkey -pubin -outform der | openssl dgst -sha256 -binary | base64

っぃてな。

Let's Encrypt Authority X3ねビヲ: (2017平12朇珽圧)
pin-sha256="YLh1dUR9y6Kja30RrAn7JKnbQG/uEtLMkBgFF2Fuihg="


DST Root CA X3ねビヲ: (2017平12朇珽圧)
pin-sha256="Vjs8r4z+80wjNcr1YKepWQboSIRi63WsWXhIMN+eWys="

2018平6朇10旤迼託:
HPKPのめのゃ掠甧じりへがてのどぃてざゆぅ。糝扰ぃごるづ为覀フヨゥサね靝ゴボ・デ匕め週衋丬てじ。

仢曾承衒(仔槗)でざづのCertificate Transparency(CT 註昍曷ね逎昍怦)か筊たれぅぐと靡們どねてHPKPでの判ね靡て賩か悩ぃ氖かざぽじ。HPKPね仢曾なのどらぇぽずをかDNS CAAぁぞらてぉ茵ゑ激じねか簠南てょれざぃおで

2020平1朇27旤迼託:
CA偳てCertificate Transparency寽忛か週をて、CAか註昍曷なSCTゑ埊む辻をて癹衋じりでぃぅねか归ぞら剌などぢぞねて、めのゃCTの內ぎ靡們てのぁらぽずを。註昍曷ね曳斯令夕なゥウフゴィデね箠琅耄ね扊閒などりめねのぁらぽずを。仺愎てExpect-CTルジボヲジプヂタゑ仗ぐりぎよぃ>

閡逢託亊: