本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
创建和安装 CA 证书
请完成以下过程以创建和安装私有 CA 证书。然后您就可以使用 CA。
AWS 私有 CA 支持安装 CA 证书的三种方案:
-
为托管的根 CA 安装证书 AWS 私有 CA
-
安装由 AWS 私有 CA托管其父颁发机构的从属 CA 证书
-
安装其父颁发机构在外部托管的从属 CA 证书
以下各节介绍了每个方案的过程。控制台程序从控制台页面 P ri vate 开始CAs。
兼容的签名算法
CA 证书的签名算法支持取决于父 CA 的签名算法和 AWS 区域。以下限制适用于控制台和 AWS CLI 操作。
-
使用RSA签名算法的父 CA 可以使用以下算法颁发证书:
-
SHA256 RSA
-
SHA384 RSA
-
SHA512 RSA
-
-
在旧版中 AWS 区域,使用EDCSA签名算法的父 CA 可以使用以下算法颁发证书:
-
SHA256 ECDSA
-
SHA384 ECDSA
-
SHA512 ECDSA
遗产 AWS 区域 包括:
区域名称
地理位置
eu-north-1
欧洲地区(斯德哥尔摩)
me-south-1
中东(巴林)
ap-south-1
亚太地区(孟买)
eu-west-3
欧洲地区(巴黎)
us-east-2
美国东部(俄亥俄州)
af-south-1
非洲(开普敦)
eu-west-1
欧洲地区(爱尔兰)
eu-central-1
欧洲地区(法兰克福)
sa-east-1
南美洲(圣保罗)
ap-east-1
亚太地区(香港)
us-east-1
美国东部(弗吉尼亚州北部)
ap-northeast-2
亚太地区(首尔)
eu-west-2
欧洲地区(伦敦)
ap-northeast-1
Asia Pacific (Tokyo)
us-gov-east-1
AWS GovCloud (美国东部)
us-gov-west-1
AWS GovCloud (美国西部)
us-west-2
美国西部(俄勒冈州)
us-west-1
美国西部(加利福尼亚北部)
ap-southeast-1
亚太地区(新加坡)
ap-southeast-2
亚太地区(悉尼)
-
-
在非旧版中 AWS 区域,以下规则适用EDCSA:
-
采用 EC_Prime256v1 签名算法的父 CA 可以使用 P256 颁发证书。ECDSA
-
采用 ec_secp384r1 签名算法的父 CA 可以使用 P384 颁发证书。ECDSA
-
安装根 CA 证书
您可以从 AWS Management Console 或安装根 CA 证书 AWS CLI。
为私有根 CA 创建和安装证书(控制台)
-
(可选)如果您尚未进入 CA 的详细信息页面,请在https://console.aws.amazon.com/acm-pca/家
中打开 AWS 私有 CA 控制台。在私有证书颁发机构页面上,选择状态为待处理证书或活动的根 CA。 -
选择操作、安装 CA 证书以打开安装根 CA 证书页面。
-
在指定根 CA 证书参数下,指定以下证书参数:
-
有效期 – 指定 CA 证书的到期日期和时间。根 CA 证书的 AWS 私有 CA 默认有效期为 10 年。
-
签名算法 – 指定根 CA 颁发新证书时使用的签名算法。可用选项因您创建 CA 的 AWS 区域 位置而异。有关更多信息,请参阅兼容的签名算法支持的加密算法、和SigningAlgorithmCertificateAuthorityConfiguration。
-
SHA256 RSA
-
SHA384 RSA
-
SHA512 RSA
-
检查您的设置是否正确,然后选择 “确认并安装”。 AWS 私有 CA CSR为您的 CA 导出,使用根 CA 证书模板生成证书,并对证书进行自签名。 AWS 私有 CA 然后导入自签名的根 CA 证书。
-
-
CA 的详细信息页面顶部显示安装状态(成功或失败)。如果安装成功,新完成的根 CA 将在常规窗格中显示为活动。
为私有根 CA 创建和安装证书(AWS CLI)
-
生成证书签名请求 (CSR)。
$
aws acm-pca get-certificate-authority-csr \ --certificate-authority-arn arn:
aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
\ --output text \ --regionregion
> ca.csr生成的PEM文件
ca.csr
是以 base64 格式编码的文件,其外观如下。-----BEGIN CERTIFICATE REQUEST----- MIIC1DCCAbwCAQAwbTELMAkGA1UEBhMCVVMxFTATBgNVBAoMDEV4YW1wbGUgQ29y cDEOMAwGA1UECwwFU2FsZXMxCzAJBgNVBAgMAldBMRgwFgYDVQQDDA93d3cuZXhh bXBsZS5jb20xEDAOBgNVBAcMB1NlYXR0bGUwggEiMA0GCSqGSIb3DQEBAQUAA4IB DwAwggEKAoIBAQDD+7eQChWUO2m6pHslI7AVSFkWvbQofKIHvbvy7wm8VO9/BuI7 LE/jrnd1jGoyI7jaMHKXPtEP3uNlCzv+oEza07OjgjqPZVehtA6a3/3vdQ1qCoD2 rXpv6VIzcq2onx2X7m+Zixwn2oY1l1ELXP7I5g0GmUStymq+pY5VARPy3vTRMjgC JEiz8w7VvC15uIsHFAWa2/NvKyndQMPaCNft238wesV5s2cXOUS173jghIShg99o ymf0TRUgvAGQMCXvsW07MrP5VDmBU7k/AZ9ExsUfMe2OB++fhfQWr2N7/lpC4+DP qJTfXTEexLfRTLeLuGEaJL+c6fMyG+Yk53tZAgMBAAGgIjAgBgkqhkiG9w0BCQ4x EzARMA8GA1UdEwEB/wQFMAMBAf8wDQYJKoZIhvcNAQELBQADggEBAA7xxLVI5s1B qmXMMT44y1DZtQx3RDPanMNGLGO1TmLtyqqnUH49Tla+2p7nrl0tojUf/3PaZ52F QN09SrFk8qtYSKnMGd5PZL0A+NFsNW+w4BAQNKlg9m617YEsnkztbfKRloaJNYoA HZaRvbA0lMQ/tU2PKZR2vnao444Ugm0O/t3jx5rj817b31hQcHHQ0lQuXV2kyTrM ohWeLf2fL+K0xJ9ZgXD4KYnY0zarpreA5RBeO5xs3Ms+oGWc13qQfMBx33vrrz2m dw5iKjg71uuUUmtDV6ewwGa/VO5hNinYAfogdu5aGuVbnTFT3n45B8WHz2+9r0dn bA7xUel1SuQ= -----END CERTIFICATE REQUEST-----
您可以使用 “打开
” SSL 来查看和验证其中的内容CSR。 openssl req -text -noout -verify -in ca.csr
这会生成类似以下内容的输出。
verify OK Certificate Request: Data: Version: 0 (0x0) Subject: C=US, O=Example Corp, OU=Sales, ST=WA, CN=www.example.com, L=Seattle Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:c3:fb:b7:90:0a:15:94:3b:69:ba:a4:7b:25:23: b0:15:48:59:16:bd:b4:28:7c:a2:07:bd:bb:f2:ef: 09:bc:54:ef:7f:06:e2:3b:2c:4f:e3:ae:77:75:8c: 6a:32:23:b8:da:30:72:97:3e:d1:0f:de:e3:65:0b: 3b:fe:a0:4c:da:d3:b3:a3:82:3a:8f:65:57:a1:b4: 0e:9a:df:fd:ef:75:0d:6a:0a:80:f6:ad:7a:6f:e9: 52:33:72:ad:a8:9f:1d:97:ee:6f:99:8b:1c:27:da: 86:35:97:51:0b:5c:fe:c8:e6:0d:06:99:44:ad:ca: 6a:be:a5:8e:55:01:13:f2:de:f4:d1:32:38:02:24: 48:b3:f3:0e:d5:bc:2d:79:b8:8b:07:14:05:9a:db: f3:6f:2b:29:dd:40:c3:da:08:d7:ed:db:7f:30:7a: c5:79:b3:67:17:39:44:b5:ef:78:e0:84:84:a1:83: df:68:ca:67:f4:4d:15:20:bc:01:90:30:25:ef:b1: 6d:3b:32:b3:f9:54:39:81:53:b9:3f:01:9f:44:c6: c5:1f:31:ed:8e:07:ef:9f:85:f4:16:af:63:7b:fe: 5a:42:e3:e0:cf:a8:94:df:5d:31:1e:c4:b7:d1:4c: b7:8b:b8:61:1a:24:bf:9c:e9:f3:32:1b:e6:24:e7: 7b:59 Exponent: 65537 (0x10001) Attributes: Requested Extensions: X509v3 Basic Constraints: critical CA:TRUE Signature Algorithm: sha256WithRSAEncryption 0e:f1:c4:b5:48:e6:cd:41:aa:65:cc:31:3e:38:cb:50:d9:b5: 0c:77:44:33:da:9c:c3:46:2c:63:b5:4e:62:ed:ca:aa:a7:50: 7e:3d:4e:56:be:da:9e:e7:ae:5d:2d:a2:35:1f:ff:73:da:67: 9d:85:40:dd:3d:4a:b1:64:f2:ab:58:48:a9:cc:19:de:4f:64: bd:00:f8:d1:6c:35:6f:b0:e0:10:10:34:a9:60:f6:6e:b5:ed: 81:2c:9e:4c:ed:6d:f2:91:96:86:89:35:8a:00:1d:96:91:bd: b0:34:94:c4:3f:b5:4d:8f:29:94:76:be:76:a8:e3:8e:14:82: 6d:0e:fe:dd:e3:c7:9a:e3:f3:5e:db:df:58:50:70:71:d0:d2: 54:2e:5d:5d:a4:c9:3a:cc:a2:15:9e:2d:fd:9f:2f:e2:b4:c4: 9f:59:81:70:f8:29:89:d8:d3:36:ab:a6:b7:80:e5:10:5e:3b: 9c:6c:dc:cb:3e:a0:65:9c:d7:7a:90:7c:c0:71:df:7b:eb:af: 3d:a6:77:0e:62:2a:38:3b:d6:eb:94:52:6b:43:57:a7:b0:c0: 66:bf:54:ee:61:36:29:d8:01:fa:20:76:ee:5a:1a:e5:5b:9d: 31:53:de:7e:39:07:c5:87:cf:6f:bd:af:47:67:6c:0e:f1:51: e9:75:4a:e4
-
使用上一步CSR中的作为参数的
--csr
参数,颁发根证书。注意
如果您使用的是 1.6.3 或更高 AWS CLI 版本,请在指定所需的输入文件
fileb://
时使用前缀。这样可以确保正确 AWS 私有 CA 解析 Base64 编码的数据。$
aws acm-pca issue-certificate \ --certificate-authority-arn arn:aws:acm-pca:
region
:account
:certificate-authority/CA_ID
\ --csr file://ca.csr \ --signing-algorithm SHA256WITHRSA \ --template-arn arn:aws:acm-pca:::template/RootCACertificate/V1 \ --validity Value=365,Type=DAYS -
检索根证书。
$
aws acm-pca get-certificate \ --certificate-authority-arn arn:
aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
\ --certificate-arn arn:aws:acm-pca:region
:account
:certificate-authority/CA_ID
/certificate/certificate_ID
\ --output text > cert.pem生成的PEM文件
cert.pem
是以 base64 格式编码的文件,其外观如下。-----BEGIN CERTIFICATE----- MIIDpzCCAo+gAwIBAgIRAIIuOarlQETlUQEOZJGZYdIwDQYJKoZIhvcNAQELBQAw bTELMAkGA1UEBhMCVVMxFTATBgNVBAoMDEV4YW1wbGUgQ29ycDEOMAwGA1UECwwF U2FsZXMxCzAJBgNVBAgMAldBMRgwFgYDVQQDDA93d3cuZXhhbXBsZS5jb20xEDAO BgNVBAcMB1NlYXR0bGUwHhcNMjEwMzA4MTU0NjI3WhcNMjIwMzA4MTY0NjI3WjBt MQswCQYDVQQGEwJVUzEVMBMGA1UECgwMRXhhbXBsZSBDb3JwMQ4wDAYDVQQLDAVT YWxlczELMAkGA1UECAwCV0ExGDAWBgNVBAMMD3d3dy5leGFtcGxlLmNvbTEQMA4G A1UEBwwHU2VhdHRsZTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBAMP7 t5AKFZQ7abqkeyUjsBVIWRa9tCh8oge9u/LvCbxU738G4jssT+Oud3WMajIjuNow cpc+0Q/e42ULO/6gTNrTs6OCOo9lV6G0Dprf/e91DWoKgPatem/pUjNyraifHZfu b5mLHCfahjWXUQtc/sjmDQaZRK3Kar6ljlUBE/Le9NEyOAIkSLPzDtW8LXm4iwcU BZrb828rKd1Aw9oI1+3bfzB6xXmzZxc5RLXveOCEhKGD32jKZ/RNFSC8AZAwJe+x bTsys/lUOYFTuT8Bn0TGxR8x7Y4H75+F9BavY3v+WkLj4M+olN9dMR7Et9FMt4u4 YRokv5zp8zIb5iTne1kCAwEAAaNCMEAwDwYDVR0TAQH/BAUwAwEB/zAdBgNVHQ4E FgQUaW3+r328uTLokog2TklmoBK+yt4wDgYDVR0PAQH/BAQDAgGGMA0GCSqGSIb3 DQEBCwUAA4IBAQAXjd/7UZ8RDE+PLWSDNGQdLemOBTcawF+tK+PzA4Evlmn9VuNc g+x3oZvVZSDQBANUz0b9oPeo54aE38dW1zQm2qfTab8822aqeWMLyJ1dMsAgqYX2 t9+u6w3NzRCw8Pvz18V69+dFE5AeXmNP0Z5/gdz8H/NSpctjlzopbScRZKCSlPid Rf3ZOPm9QP92YpWyYDkfAU04xdDo1vR0MYjKPkl4LjRqSU/tcCJnPMbJiwq+bWpX 2WJoEBXB/p15Kn6JxjI0ze2SnSI48JZ8it4fvxrhOo0VoLNIuCuNXJOwU17Rdl1W YJidaq7je6k18AdgPA0Kh8y1XtfUH3fTaVw4 -----END CERTIFICATE-----
您可以使用 Open SSL
来查看和验证证书的内容。 openssl x509 -in cert.pem -text -noout
这会生成类似以下内容的输出。
Certificate: Data: Version: 3 (0x2) Serial Number: 82:2e:39:aa:e5:40:44:e5:51:01:0e:64:91:99:61:d2 Signature Algorithm: sha256WithRSAEncryption Issuer: C=US, O=Example Corp, OU=Sales, ST=WA, CN=www.example.com, L=Seattle Validity Not Before: Mar 8 15:46:27 2021 GMT Not After : Mar 8 16:46:27 2022 GMT Subject: C=US, O=Example Corp, OU=Sales, ST=WA, CN=www.example.com, L=Seattle Subject Public Key Info: Public Key Algorithm: rsaEncryption Public-Key: (2048 bit) Modulus: 00:c3:fb:b7:90:0a:15:94:3b:69:ba:a4:7b:25:23: b0:15:48:59:16:bd:b4:28:7c:a2:07:bd:bb:f2:ef: 09:bc:54:ef:7f:06:e2:3b:2c:4f:e3:ae:77:75:8c: 6a:32:23:b8:da:30:72:97:3e:d1:0f:de:e3:65:0b: 3b:fe:a0:4c:da:d3:b3:a3:82:3a:8f:65:57:a1:b4: 0e:9a:df:fd:ef:75:0d:6a:0a:80:f6:ad:7a:6f:e9: 52:33:72:ad:a8:9f:1d:97:ee:6f:99:8b:1c:27:da: 86:35:97:51:0b:5c:fe:c8:e6:0d:06:99:44:ad:ca: 6a:be:a5:8e:55:01:13:f2:de:f4:d1:32:38:02:24: 48:b3:f3:0e:d5:bc:2d:79:b8:8b:07:14:05:9a:db: f3:6f:2b:29:dd:40:c3:da:08:d7:ed:db:7f:30:7a: c5:79:b3:67:17:39:44:b5:ef:78:e0:84:84:a1:83: df:68:ca:67:f4:4d:15:20:bc:01:90:30:25:ef:b1: 6d:3b:32:b3:f9:54:39:81:53:b9:3f:01:9f:44:c6: c5:1f:31:ed:8e:07:ef:9f:85:f4:16:af:63:7b:fe: 5a:42:e3:e0:cf:a8:94:df:5d:31:1e:c4:b7:d1:4c: b7:8b:b8:61:1a:24:bf:9c:e9:f3:32:1b:e6:24:e7: 7b:59 Exponent: 65537 (0x10001) X509v3 extensions: X509v3 Basic Constraints: critical CA:TRUE X509v3 Subject Key Identifier: 69:6D:FE:AF:7D:BC:B9:32:E8:92:88:36:4E:49:66:A0:12:BE:CA:DE X509v3 Key Usage: critical Digital Signature, Certificate Sign, CRL Sign Signature Algorithm: sha256WithRSAEncryption 17:8d:df:fb:51:9f:11:0c:4f:8f:2d:64:83:34:64:1d:2d:e9: 8e:05:37:1a:c0:5f:ad:2b:e3:f3:03:81:2f:96:69:fd:56:e3: 5c:83:ec:77:a1:9b:d5:65:20:d0:04:03:54:cf:46:fd:a0:f7: a8:e7:86:84:df:c7:56:d7:34:26:da:a7:d3:69:bf:3c:db:66: aa:79:63:0b:c8:9d:5d:32:c0:20:a9:85:f6:b7:df:ae:eb:0d: cd:cd:10:b0:f0:fb:f3:d7:c5:7a:f7:e7:45:13:90:1e:5e:63: 4f:d1:9e:7f:81:dc:fc:1f:f3:52:a5:cb:63:97:3a:29:6d:27: 11:64:a0:92:94:f8:9d:45:fd:d9:38:f9:bd:40:ff:76:62:95: b2:60:39:1f:01:4d:38:c5:d0:e8:d6:f4:74:31:88:ca:3e:49: 78:2e:34:6a:49:4f:ed:70:22:67:3c:c6:c9:8b:0a:be:6d:6a: 57:d9:62:68:10:15:c1:fe:9d:79:2a:7e:89:c6:32:34:cd:ed: 92:9d:22:38:f0:96:7c:8a:de:1f:bf:1a:e1:3a:8d:15:a0:b3: 48:b8:2b:8d:5c:93:b0:53:5e:d1:76:5d:56:60:98:9d:6a:ae: e3:7b:a9:35:f0:07:60:3c:0d:0a:87:cc:b5:5e:d7:d4:1f:77: d3:69:5c:38
-
导入根 CA 证书以将其安装在 CA 上。
注意
如果您使用的是 1.6.3 或更高 AWS CLI 版本,请在指定所需的输入文件
fileb://
时使用前缀。这样可以确保正确 AWS 私有 CA 解析 Base64 编码的数据。$
aws acm-pca import-certificate-authority-certificate \ --certificate-authority-arn arn:aws:acm-pca:
region
:account
:certificate-authority/CA_ID
\ --certificate file://cert.pem
检查 CA 的新状态。
$
aws acm-pca describe-certificate-authority \ --certificate-authority-arn arn:
aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
\ --output json
状态现在显示为 ACTIVE。
{
"CertificateAuthority": {
"Arn": "arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
",
"CreatedAt": "2021-03-05T14:24:12.867000-08:00",
"LastStateChangeAt": "2021-03-08T12:37:14.235000-08:00",
"Type": "ROOT",
"Serial": "serial_number
",
"Status": "ACTIVE",
"NotBefore": "2021-03-08T07:46:27-08:00",
"NotAfter": "2022-03-08T08:46:27-08:00",
"CertificateAuthorityConfiguration": {
"KeyAlgorithm": "RSA_2048",
"SigningAlgorithm": "SHA256WITHRSA",
"Subject": {
"Country": "US",
"Organization": "Example Corp",
"OrganizationalUnit": "Sales",
"State": "WA",
"CommonName": "www.example.com",
"Locality": "Seattle"
}
},
"RevocationConfiguration": {
"CrlConfiguration": {
"Enabled": true,
"ExpirationInDays": 7,
"CustomCname": "alternative.example.com",
"S3BucketName": "DOC-EXAMPLE-BUCKET1
"
},
"OcspConfiguration": {
"Enabled": false
}
}
}
}
安装由托管的从属 CA 证书 AWS 私有 CA
您可以使用 AWS Management Console 为 AWS 私有 CA 托管的从属 CA 创建和安装证书。
为 AWS 私有 CA 托管的从属 CA 创建和安装证书
-
(可选)如果您尚未进入 CA 的详细信息页面,请在https://console.aws.amazon.com/acm-pca/家
中打开 AWS 私有 CA 控制台。在私有证书颁发机构页面上,选择状态为待处理证书或活动的从属 CA。 -
选择操作、安装 CA 证书以打开安装从属 CA 证书页面。
-
在 “安装从属 CA 证书” 页面的 “选择 CA 类型” 下,选择AWS Private CA安装由管理的证书 AWS 私有 CA。
-
在选择父 CA 下,从父私有 CA 列表中选择 CA。列表经过筛选后会显示CAs符合以下条件的列表:
-
您拥有使用该 CA 的权限。
-
该 CA 不会自签名。
-
该 CA 处于
ACTIVE
状态。 -
CA 模式为
GENERAL_PURPOSE
。
-
-
在指定从属 CA 证书参数下,指定以下证书参数:
-
有效期 – 指定 CA 证书的到期日期和时间。
-
签名算法 – 指定根 CA 颁发新证书时使用的签名算法。选项包括:
-
SHA256 RSA
-
SHA384 RSA
-
SHA512 RSA
-
-
路径长度 – 从属 CA 在签署新证书时可以添加的信任层数。路径长度为零(默认值)表示只能创建终端实体证书,不能创建 CA 证书。一个或多个路径长度意味着从属 CA 可以颁发证书以创建其他CAs从属证书。
-
模板 ARN — 显示ARN此 CA 证书的配置模板。如果您更改指定的路径长度,模板也会更改。如果您使用 CLI issue-certification 命令或APIIssueCertificate操作创建证书,则必须手动指定。ARN有关可用 CA 证书模板的信息,请参阅了解证书模板。
-
-
检查您的设置是否正确,然后选择 “确认并安装”。 AWS 私有 CA 导出 aCSR,使用从属 CA 证书模板生成证书,然后使用选定的父 CA 对证书进行签名。 AWS 私有 CA 然后导入已签名的从属 CA 证书。
-
CA 的详细信息页面顶部显示安装状态(成功或失败)。如果安装成功,新完成的从属 CA 将在常规窗格中显示为活动。
安装由外部父 CA 签名的从属 CA 证书
如 创建 CA 的过程(控制台) 或 创建 CA 的程序 (CLI) 中所述创建从属私有 CA 后,您可以选择通过安装由外部签名颁发机构签名的 CA 证书来激活它。使用外部 CA 签署从属 CA 证书需要您先将外部信任服务提供商设置为签名颁发机构,或者安排使用第三方提供商。
注意
创建或获取外部信任服务提供商的过程不在本指南的讨论范围内。
在创建从属 CA 并拥有外部签名颁发机构访问权限之后,请完成以下任务:
-
从获取证书签名请求 (CSR) AWS 私有 CA。
-
CSR将提交给您的外部签名机构,并获取签名的 CA 证书以及所有链证书。
-
将 CA 证书和链导入 AWS 私有 CA 以激活您的从属 CA。
有关详细步骤,请参阅 外部签名的私有 CA 证书 。