本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
在中创建私有 CA AWS Private CA
您可以使用本节中的过程来创建根CAs或从属关系CAs,从而生成符合您组织需求的可审计信任关系层次结构。您可以使用或的 AWS Management Console、PCA部分创建 CA AWS CloudFormation。 AWS CLI
有关更新已创建 CA 配置的信息,请参阅 在中更新私有 CA AWS Private Certificate Authority。
有关使用 CA 为用户、设备和应用程序签署终端实体证书的信息,请参阅 颁发私有终端实体证书。
注意
从您创建私有 CA 的时间开始,每月将为每个私有 CA 向您的账户收取费用。
有关最新的定 AWS 私有 CA 价信息,请参阅AWS Private Certificate Authority 定价
CLI创建私有 CA 的示例
以下示例假设您已使用有效的默认区域、端点和凭证设置了 .aws
配置目录。有关配置 AWS CLI 环境的信息,请参阅配置和凭证文件设置。为了便于阅读,我们在示例命令中以JSON文件形式提供 CA 配置和撤销输入。根据需要修改示例文件以供您使用。
除非另有说明,否则所有示例都使用以下 ca_config.txt
配置文件。
文件:ca_config.txt
{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"
US
", "Organization":"Example Corp
", "OrganizationalUnit":"Sales
", "State":"WA
", "Locality":"Seattle
", "CommonName":"www.example.com
" } }
示例 1:在OCSP启用状态下创建 CA
在此示例中,吊销文件启用默认OCSP支持,即使用 AWS 私有 CA 响应器检查证书状态。
文件:revoke_config.txt for OCSP
{ "OcspConfiguration":{ "Enabled":true } }
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config.txt
\ --revocation-configuration file://revoke_config.txt
\ --certificate-authority-type "ROOT" \ --idempotency-token01234567
\ --tags Key=Name
,Value=MyPCA
如果成功,此命令将输出新 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws:acm-pca:region
:account
:
certificate-authority/CA_ID
"
}
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config.txt
\ --revocation-configuration file://revoke_config.txt
\ --certificate-authority-type "ROOT" \ --idempotency-token01234567
\ --tags Key=Name
,Value=MyPCA-2
如果成功,此命令将输出 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
"
}
使用以下命令检查 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
此描述应包含以下部分。
"RevocationConfiguration": {
...
"OcspConfiguration": {
"Enabled": true
}
...
}
示例 2:创建启用OCSP并CNAME启用自定义的 CA
在此示例中,撤销文件启用了自定义OCSP支持。该OcspCustomCname
参数采用完全限定域名 (FQDN) 作为其值。
如果您在此字段中提供,则FQDN在每个已颁发的证书的 “权限信息访问权限” 扩展 AWS 私有 CA 插件中插FQDN入,以取代 AWS OCSP响应URL者的默认值。当终端节点收到包含自定义证书的证书时FQDN,它会查询该地址以获取OCSP响应。要使此机制发挥作用,您需要采取另外两个操作:
-
使用代理服务器将到达您自定义的流量转发FQDN给 AWS OCSP响应者。
-
向DNS数据库中添加相应的CNAME记录。
提示
有关使用自定义实现完整OCSP解决方案的更多信息CNAME,请参阅为之OCSPURL定制 AWS Private CA。
例如,以下是在 Amazon Rou OCSP te 53 中显示的自定义CNAME记录。
记录名称 | 类型 | 路由策略 | 优势 | 值/流量路由至 |
---|---|---|---|---|
alternative.example.com |
CNAME | 简便 | - | proxy.example.com |
注意
的值CNAME不得包含协议前缀,例如 “http://” 或 “https://”。
文件:revoke_config.txt for OCSP
{ "OcspConfiguration":{ "Enabled":true, "OcspCustomCname":"
alternative.example.com
" } }
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config.txt
\ --revocation-configuration file://revoke_config.txt
\ --certificate-authority-type "ROOT" \ --idempotency-token01234567
\ --tags Key=Name
,Value=MyPCA-3
如果成功,此命令将输出 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
"
}
使用以下命令检查 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
此描述应包含以下部分。
"RevocationConfiguration": {
...
"OcspConfiguration": {
"Enabled": true,
"OcspCustomCname": "alternative.example.com
"
}
...
}
示例 3:创建附有证书的 CA CRL
在此示例中,撤销配置定义了CRL参数。
文件:revoke_config.txt
{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":
7
, "S3BucketName":"amzn-s3-demo-bucket
" } }
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config.txt
\ --revocation-configuration file://revoke_config.txt
\ --certificate-authority-type "ROOT" \ --idempotency-token01234567
\ --tags Key=Name
,Value=MyPCA-1
如果成功,此命令将输出 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
"
}
使用以下命令检查 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
此描述应包含以下部分。
"RevocationConfiguration": {
...
"CrlConfiguration": {
"Enabled": true,
"ExpirationInDays": 7,
"S3BucketName": "amzn-s3-demo-bucket
"
},
...
}
示例 4:创建已连接CRL且CNAME已启用自定义的 CA
在此示例中,撤销配置定义了包含自定义CNAME的CRL参数。
文件:revoke_config.txt
{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":
7
, "CustomCname": "alternative.example.com
", "S3BucketName":"amzn-s3-demo-bucket
" } }
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config.txt
\ --revocation-configuration file://revoke_config.txt
\ --certificate-authority-type "ROOT" \ --idempotency-token01234567
\ --tags Key=Name
,Value=MyPCA-1
如果成功,此命令将输出 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
"
}
使用以下命令检查 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
此描述应包含以下部分。
"RevocationConfiguration": {
...
"CrlConfiguration": {
"Enabled": true,
"ExpirationInDays": 7,
"CustomCname": "alternative.example.com
",
"S3BucketName": "amzn-s3-demo-bucket
",
...
}
}
示例 5:创建 CA 并指定使用模式
在此示例中,CA 使用模式是在创建 CA 时指定的。如果未指定,则使用模式参数默认为 GENERAL _ PURPOSE。在此示例中,参数设置为 SHORT LIVED _CERTIFICATE,这意味着 CA 将颁发最长有效期为七天的证书。在配置吊销不方便的情况下,已被泄露的短期证书很快就会过期,这是正常操作的一部分。因此,此示例 CA 缺少吊销机制。
注意
AWS 私有 CA 不对根 CA 证书执行有效性检查。
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config.txt
\ --certificate-authority-type "ROOT" \ --usage-mode SHORT_LIVED_CERTIFICATE \ --tags Key=usageMode,Value=SHORT_LIVED_CERTIFICATE
使用中的describe-certificate-authority命令显示 AWS CLI 有关生成的 CA 的详细信息,如以下命令所示:
$
aws acm-pca describe-certificate-authority \ --certificate-authority-arn arn:aws:acm:region
:account
:certificate-authority/CA_ID
{ "CertificateAuthority":{ "Arn":"arn:aws:acm-pca:
region
:account
:certificate-authority/CA_ID
", "CreatedAt":"2022-09-30T09:53:42.769000-07:00", "LastStateChangeAt":"2022-09-30T09:53:43.784000-07:00", "Type":"ROOT", "UsageMode":"SHORT_LIVED_CERTIFICATE", "Serial":"serial_number
", "Status":"PENDING_CERTIFICATE", "CertificateAuthorityConfiguration":{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "Country":"US
", "Organization":"Example Corp
", "OrganizationalUnit":"Sales
", "State":"WA
", "Locality":"Seattle
", "CommonName":"www.example.com
" } }, "RevocationConfiguration":{ "CrlConfiguration":{ "Enabled":false }, "OcspConfiguration":{ "Enabled":false } }, ...
示例 6:创建用于 Active Directory 登录的 CA
你可以创建适合在 Microsoft Active Directory (AD) 的企业NTAuth商店中使用的私有 CA,它可以在那里颁发卡登录证书或域控制器证书。有关将 CA 证书导入 AD 的信息,请参阅如何将第三方证书颁发机构 (CA) 证书导入企业NTAuth存储
通过调用 -dspublish 选项,可以使用 Microsoft certutil
此示例使用以下 ca_config_AD.txt
配置文件。
文件:ca_config_AD.txt
{ "KeyAlgorithm":"RSA_2048", "SigningAlgorithm":"SHA256WITHRSA", "Subject":{ "CustomAttributes":[ { "ObjectIdentifier":"2.5.4.3", "Value":"root CA" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"example" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"com" } ] } }
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config_AD.txt
\ --certificate-authority-type "ROOT" \ --tags Key=application,Value=ActiveDirectory
如果成功,此命令将输出 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
"
}
使用以下命令检查 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
此描述应包含以下部分。
... "Subject":{ "CustomAttributes":[ { "ObjectIdentifier":"2.5.4.3", "Value":"root CA" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"example" }, { "ObjectIdentifier":"0.9.2342.19200300.100.1.25", "Value":"com" } ] } ...
示例 7:创建一个 Matter CA,附带一个附件,CRL且已颁发的证书中省略了CDP扩展名
您可以创建适合颁发 Matter 智能家居标准证书的私有 CA。在此示例中,中的 CA 配置ca_config_PAA.txt
定义了 Matter Product 认证机构 (PAA),供应商 ID (VID) 设置为。FFF1
文件:ca_c PAA onfig_ .txt
{ "KeyAlgorithm":"EC_prime256v1", "SigningAlgorithm":"SHA256WITHECDSA", "Subject":{ "Country":"
US
", "Organization":"Example Corp
", "OrganizationalUnit":"SmartHome
", "State":"WA
", "Locality":"Seattle
", "CommonName":"Example Corp Matter PAA
", "CustomAttributes":[ { "ObjectIdentifier":"1.3.6.1.4.1.37244.2.1", "Value":"FFF1"
} ] } }
撤销配置启用CRLs并将 CA 配置为省略所有已颁发的证书CDPURL中的默认值。
文件:revoke_config.txt
{ "CrlConfiguration":{ "Enabled":true, "ExpirationInDays":
7
, "S3BucketName":"amzn-s3-demo-bucket
", "CrlDistributionPointExtensionConfiguration":{ "OmitExtension":true } } }
命令
$
aws acm-pca create-certificate-authority \ --certificate-authority-configuration file://
ca_config_PAA.txt
\ --revocation-configuration file://revoke_config.txt
\ --certificate-authority-type "ROOT" \ --idempotency-token01234567
\ --tags Key=Name
,Value=MyPCA-1
如果成功,此命令将输出 CA 的 Amazon 资源名称 (ARN)。
{
"CertificateAuthorityArn":"arn:aws
:acm-pca:us-east-1
:111122223333
:certificate-authority/11223344-1234-1122-2233-112233445566
"
}
使用以下命令检查 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
此描述应包含以下部分。
"RevocationConfiguration": {
...
"CrlConfiguration": {
"Enabled": true,
"ExpirationInDays": 7,
"S3BucketName": "amzn-s3-demo-bucket
",
"CrlDistributionPointExtensionConfiguration":{
"OmitExtension":true
}
},
...
}
...