ACMで発行する証明書のキーアルゴリズムやエクスポートの許可を変更した場合にDNS検証のCNAMEレコードが変わるか確認してみた
証明書のキーアルゴリズムやエクスポートの許可を変更したい
こんにちは、のんピ(@non____97)です。
皆さんはACMで発行した証明書の証明書のキーアルゴリズムやエクスポートの許可を変更したいなと思ったことはありますか? 私はあります。
ACMで発行した証明書について、後からキーアルゴリズムやエクスポートの許可を変更することはできません。再度証明書を発行し直す必要があります。
このとき、証明書の検証をするDNSレコードも更新する必要があるのでしょうか?
DNSレコードの管理が別会社なのであれば、都度連携を取るのも手間ですし、リードタイムが気になる場面もあるでしょう。
ということで、同一ドメインで証明書のキーアルゴリズムやエクスポートの許可を変更した形で証明書発行のリクエストを行った場合、DNS検証のCNAMEレコードの名前や値は変化するのか確認します。
いきなりまとめ
- 同一アカウントで発行した証明書においては、以下が変動してもDNS検証のCNAMEレコードは変わらない
- リージョン
- キーアルゴリズム
- エクスポート許可の有無
- 何らかの理由でAWS CLIを用いて、同一アカウント内に同一ドメインの証明書を複数発行したい場合は、冪等性トークンを切り替えてリクエストをする必要がある
やってみた
キーアルゴリズムをECDSA P 256で発行
キーアルゴリズムをECDSA P 256で発行する場合です。
既にwww.non-97.netのRSA 2048の証明書が存在しています。

DNS検証のレコード情報は以下のとおりです。
- CNAME名 : _198c01568a72030a7eaf046efb161d33.www.non-97.net.
- CNAME値 : _fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws.
それではECDSA P 256で発行をします。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_prime256v1
{
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/e9d03c85-5ad6-4d05-9de1-34760d01d54d"
}
> aws acm describe-certificate \
--certificate-arn arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/e9d03c85-5ad6-4d05-9de1-34760d01d54d
{
"Certificate": {
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/e9d03c85-5ad6-4d05-9de1-34760d01d54d",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "SUCCESS",
"ResourceRecord": {
"Name": "_198c01568a72030a7eaf046efb161d33.www.non-97.net.",
"Type": "CNAME",
"Value": "_fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Serial": "02:4d:4a:0c:ba:c7:d1:c3:88:1c:80:d4:90:4b:38:a0",
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T16:51:48.270000+09:00",
"IssuedAt": "2025-11-02T16:52:05.055000+09:00",
"Status": "ISSUED",
"NotBefore": "2025-11-02T09:00:00+09:00",
"NotAfter": "2026-12-02T08:59:59+09:00",
"KeyAlgorithm": "EC-prime256v1",
"SignatureAlgorithm": "SHA256WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [
{
"Name": "DIGITAL_SIGNATURE"
},
{
"Name": "KEY_AGREEMENT"
}
],
"ExtendedKeyUsages": [
{
"Name": "TLS_WEB_SERVER_AUTHENTICATION",
"OID": "1.3.6.1.5.5.7.3.1"
}
],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "DISABLED"
}
}
}
DNS検証のレコード情報は既存のものと変わりないですね。CNAMEレコードを追加していないにも関わらず"ValidationStatus": "SUCCESS"となっています。
キーアルゴリズムをECDSA P 384で発行します
同様にキーアルゴリズムをECDSA P 384で発行します。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1
{
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/f932ecbb-c9ab-445a-bc5b-eae93479383c"
}
> aws acm describe-certificate \
--certificate-arn arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/f932ecbb-c9ab-445a-bc5b-eae93479383c
{
"Certificate": {
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/f932ecbb-c9ab-445a-bc5b-eae93479383c",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "PENDING_VALIDATION",
"ResourceRecord": {
"Name": "_198c01568a72030a7eaf046efb161d33.www.non-97.net.",
"Type": "CNAME",
"Value": "_fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T16:54:06.374000+09:00",
"Status": "PENDING_VALIDATION",
"KeyAlgorithm": "EC-secp384r1",
"SignatureAlgorithm": "SHA384WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [],
"ExtendedKeyUsages": [],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "DISABLED"
}
}
}
> aws acm describe-certificate \
--certificate-arn arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/f932ecbb-c9ab-445a-bc5b-eae93479383c
{
"Certificate": {
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/f932ecbb-c9ab-445a-bc5b-eae93479383c",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "SUCCESS",
"ResourceRecord": {
"Name": "_198c01568a72030a7eaf046efb161d33.www.non-97.net.",
"Type": "CNAME",
"Value": "_fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Serial": "03:ab:f6:4e:48:64:f9:3c:58:66:2c:61:fa:bc:5b:aa",
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T16:54:06.374000+09:00",
"IssuedAt": "2025-11-02T16:54:22.817000+09:00",
"Status": "ISSUED",
"NotBefore": "2025-11-02T09:00:00+09:00",
"NotAfter": "2026-12-02T08:59:59+09:00",
"KeyAlgorithm": "EC-secp384r1",
"SignatureAlgorithm": "SHA384WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [
{
"Name": "DIGITAL_SIGNATURE"
},
{
"Name": "KEY_AGREEMENT"
}
],
"ExtendedKeyUsages": [
{
"Name": "TLS_WEB_SERVER_AUTHENTICATION",
"OID": "1.3.6.1.5.5.7.3.1"
}
],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "DISABLED"
}
}
}
こちらもDNS検証のレコード情報は既存のものと変わりないですね。
エクスポートを有効にして発行
既存の証明書および、この検証で今まで発行した証明書はいずれもエクスポートは無効になっています。
有効にして発行する場合はどうでしょうか。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--options Export=ENABLED
{
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/af58b0c4-2886-460f-8fb3-6c32974ff046"
}
> aws acm describe-certificate --certificate-arn arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/af58b0c4-2886-460f-8fb3-6c32974ff046
{
"Certificate": {
"CertificateArn": "arn:aws:acm:us-east-1:<AWSアカウントID>:certificate/af58b0c4-2886-460f-8fb3-6c32974ff046",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "SUCCESS",
"ResourceRecord": {
"Name": "_198c01568a72030a7eaf046efb161d33.www.non-97.net.",
"Type": "CNAME",
"Value": "_fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Serial": "06:52:81:3f:d4:fc:e9:58:3f:24:8e:e0:c0:ed:35:a5",
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T16:57:13.942000+09:00",
"IssuedAt": "2025-11-02T16:57:28.098000+09:00",
"Status": "ISSUED",
"NotBefore": "2025-11-02T09:00:00+09:00",
"NotAfter": "2026-12-02T08:59:59+09:00",
"KeyAlgorithm": "EC-secp384r1",
"SignatureAlgorithm": "SHA384WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [
{
"Name": "DIGITAL_SIGNATURE"
},
{
"Name": "KEY_AGREEMENT"
}
],
"ExtendedKeyUsages": [
{
"Name": "TLS_WEB_SERVER_AUTHENTICATION",
"OID": "1.3.6.1.5.5.7.3.1"
}
],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "ENABLED"
}
}
}
こちらもDNS検証のレコード情報は既存のものと変わりないですね。
今まで発行した証明書を一覧で表示すると以下のようになります。

別リージョンで発行
別リージョンで発行する場合はどうでしょうか。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170"
}
> aws acm describe-certificate \
--certificate-arn arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170 \
--region ap-northeast-1
{
"Certificate": {
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "SUCCESS",
"ResourceRecord": {
"Name": "_198c01568a72030a7eaf046efb161d33.www.non-97.net.",
"Type": "CNAME",
"Value": "_fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Serial": "08:14:3c:cf:ad:e3:9b:20:83:0a:48:fa:4c:ec:ad:1e",
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T17:00:35.611000+09:00",
"IssuedAt": "2025-11-02T17:00:54.341000+09:00",
"Status": "ISSUED",
"NotBefore": "2025-11-02T09:00:00+09:00",
"NotAfter": "2026-12-02T08:59:59+09:00",
"KeyAlgorithm": "EC-secp384r1",
"SignatureAlgorithm": "SHA384WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [
{
"Name": "DIGITAL_SIGNATURE"
},
{
"Name": "KEY_AGREEMENT"
}
],
"ExtendedKeyUsages": [
{
"Name": "TLS_WEB_SERVER_AUTHENTICATION",
"OID": "1.3.6.1.5.5.7.3.1"
}
],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "DISABLED"
}
}
}
こちらもDNS検証のレコード情報は既存のものと変わりないです。
別アカウントで発行
別アカウントで発行してみます。
$ aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1
{
"CertificateArn": "arn:aws:acm:us-east-1:<別AWSアカウントID>:certificate/a0696165-c28e-45d9-ac03-034d3df933ba"
}
$ aws acm describe-certificate \
--certificate-arn arn:aws:acm:us-east-1:<別AWSアカウントID>:certificate/a0696165-c28e-45d9-ac03-034d3df933ba
{
"Certificate": {
"CertificateArn": "arn:aws:acm:us-east-1:<別AWSアカウントID>:certificate/a0696165-c28e-45d9-ac03-034d3df933ba",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "PENDING_VALIDATION",
"ResourceRecord": {
"Name": "_855971d2973733fcfc17b03a7914f4a2.www.non-97.net.",
"Type": "CNAME",
"Value": "_7fc872b37b0df003a9d6e87b1872f605.jkddzztszm.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T09:13:07.707000+00:00",
"Status": "PENDING_VALIDATION",
"KeyAlgorithm": "EC-secp384r1",
"SignatureAlgorithm": "SHA384WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [],
"ExtendedKeyUsages": [],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "DISABLED"
}
}
}
はい、DNS検証用のCNAMEレコードとして異なるものが表示されました。
ということで、同一アカウントで発行した証明書においては、以下が変動してもDNS検証のCNAMEレコードは変わらないことが分かりました。
- リージョン
- キーアルゴリズム
- エクスポート許可の有無
同一のアカウント/リージョン/オプションで発行
最後に同じアカウント、同じリージョン、同じオプションで発行します。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170"
}
> aws acm describe-certificate \
--certificate-arn arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170 \
--region ap-northeast-1
{
"Certificate": {
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170",
"DomainName": "www.non-97.net",
"SubjectAlternativeNames": [
"www.non-97.net"
],
"DomainValidationOptions": [
{
"DomainName": "www.non-97.net",
"ValidationDomain": "www.non-97.net",
"ValidationStatus": "SUCCESS",
"ResourceRecord": {
"Name": "_198c01568a72030a7eaf046efb161d33.www.non-97.net.",
"Type": "CNAME",
"Value": "_fee5d57fecb8e9a6ac68e3e42765b466.zqmpdywczv.acm-validations.aws."
},
"ValidationMethod": "DNS"
}
],
"Serial": "08:14:3c:cf:ad:e3:9b:20:83:0a:48:fa:4c:ec:ad:1e",
"Subject": "CN=www.non-97.net",
"Issuer": "Amazon",
"CreatedAt": "2025-11-02T17:00:35.611000+09:00",
"IssuedAt": "2025-11-02T17:00:54.341000+09:00",
"Status": "ISSUED",
"NotBefore": "2025-11-02T09:00:00+09:00",
"NotAfter": "2026-12-02T08:59:59+09:00",
"KeyAlgorithm": "EC-secp384r1",
"SignatureAlgorithm": "SHA384WITHECDSA",
"InUseBy": [],
"Type": "AMAZON_ISSUED",
"KeyUsages": [
{
"Name": "DIGITAL_SIGNATURE"
},
{
"Name": "KEY_AGREEMENT"
}
],
"ExtendedKeyUsages": [
{
"Name": "TLS_WEB_SERVER_AUTHENTICATION",
"OID": "1.3.6.1.5.5.7.3.1"
}
],
"RenewalEligibility": "INELIGIBLE",
"Options": {
"CertificateTransparencyLoggingPreference": "ENABLED",
"Export": "DISABLED"
}
}
}
IDが8fa027cd-3410-4898-baee-c4dae256a170の証明書の発行をしたようですが、これは過去に発行済みのものです。
実際にAWSマネジメントコンソールで確認すると、このタイミングで新規の証明書の発行は行われていませんでした。

AWSマネジメントコンソールから証明書の発行を行います。

こちらは別IDとして証明書の発行が行えました。

同様のオプションで再度リクエストをした場合でも同じように別IDで発行できました。

一方で、AWS CLIから証明書発行のリクエストをする場合は、やはり既存のIDが返ってきてしまいました。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/8fa027cd-3410-4898-baee-c4dae256a170"
}
一方、一日ほど経って再度同じパラメーターで証明書発行のリクエストをすると、最初の一回のみ異なるIDが返ってきました。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/ec76e6bb-d66e-4a5d-a05d-1b638a897e98"
}
[🕙 2025-11-03 11:00:23][~/developers-io/20251102_acm-cname-record][☁️ cm-yamamoto.ryota(us-east-1)][⏱ 10s]
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/ec76e6bb-d66e-4a5d-a05d-1b638a897e98"
}
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/ec76e6bb-d66e-4a5d-a05d-1b638a897e98"
}
これは冪等性トークンの有効期限が一時間であるためです。
--idempotency-token(string)Customer chosen string that can be used to distinguish between calls to RequestCertificate . Idempotency tokens time out after one hour. Therefore, if you call RequestCertificate multiple times with the same idempotency token within one hour, ACM recognizes that you are requesting only one certificate and will issue only one. If you change the idempotency token for each call, ACM recognizes that you are requesting multiple certificates.
Constraints:
- min:
1- max:
32- pattern:
\w+
一時間以内に再度発行をリクエストする場合は別のトークンを指定する必要があります。
トークンを切り替えながらリクエストをします。
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--idempotency-token test \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/adc3486b-0a2e-4a66-8a88-b5c56b1673e5"
}
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--idempotency-token test \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/adc3486b-0a2e-4a66-8a88-b5c56b1673e5"
}
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--idempotency-token test2 \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/162657f3-487d-4583-b8ab-3fe88435b173"
}
> aws acm request-certificate \
--domain-name www.non-97.net \
--validation-method DNS \
--key-algorithm EC_secp384r1 \
--idempotency-token test \
--region ap-northeast-1
{
"CertificateArn": "arn:aws:acm:ap-northeast-1:<AWSアカウントID>:certificate/adc3486b-0a2e-4a66-8a88-b5c56b1673e5"
}
同じトークンを指定した場合は同じIDが返ってくることが分かります。
別AWSアカウントで再発行しない限りDNS検証のCNAMEレコードを再登録する必要はない
ACMで発行する証明書のキーアルゴリズムやエクスポートの許可を変更した場合にDNS検証のCNAMEレコードが変わるか確認してみました。
結論、別AWSアカウントで再発行しない限りDNS検証のCNAMEレコードを再登録する必要はないです。
この記事が誰かの助けになれば幸いです。
以上、クラウド事業本部 コンサルティング部の のんピ(@non____97)でした!









