本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
在 中建立私有 CA AWS Private CA
您可以使用本節中的程序來建立根 CAs 或下級 CAs,進而產生符合您組織需求的可稽核信任關係階層。您可以使用 AWS Management Console、 AWS CLI或 的 PCA 部分來建立 CA AWS CloudFormation。
如需更新已建立 CA 組態的相關資訊,請參閱 在 中更新私有 CA AWS Private Certificate Authority。
如需使用 CA 為您的使用者、裝置和應用程式簽署最終實體憑證的相關資訊,請參閱 發出私有終端實體憑證。
注意
從您帳戶的建立時間開始,會針對每個私有 CA 每月向您收取費用。
如需最新的 AWS 私有 CA 定價資訊,請參閱AWS Private Certificate Authority 定價
建立私有 CA 的 CLI 範例
下列範例假設您已使用有效的預設區域、端點和憑證設定.aws
組態目錄。如需設定 AWS CLI 環境的相關資訊,請參閱組態和憑證檔案設定。為了便於讀取,我們在範例命令中提供 CA 組態和撤銷輸入作為 JSON 檔案。視需要修改範例檔案以供您使用。
除非另有說明,否則所有範例都使用下列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 Resource Name (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 Resource Name (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 時, 會將 FQDN AWS 私有 CA 插入每個發行憑證的 Authority Information Access 延伸模組中,以取代 URL 回應程式的預設 AWS OCSP。當端點收到包含自訂 FQDN 的憑證時,它會查詢 OCSP 回應的定址。若要讓此機制正常運作,您需要採取兩個額外動作:
-
使用代理伺服器將到達自訂 FQDN 的流量轉送至 AWS OCSP 回應程式。
-
將對應的 CNAME 記錄新增至您的 DNS 資料庫。
提示
如需使用自訂 OCSP 實作完整 CNAME 解決方案的詳細資訊,請參閱 自訂 OCSP URL 的 AWS Private CA。
例如,這是自訂 CNAME 的 OCSP 記錄,如 Amazon Route 53 所示。
記錄名稱 | Type | 路由政策 | 差異化器 | 值/將流量路由到 |
---|---|---|---|---|
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 Resource Name (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:使用連接的 CRL 建立 CA
在此範例中,撤銷組態會定義 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 Resource Name (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
在此範例中,撤銷組態會定義包含自訂 CRL 的 CNAME 參數。
檔案: 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 Resource Name (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) 的 Enterprise NTAuth 存放區中使用的私有 CA,在該處可以發行卡片登入或網域控制程式憑證。如需將 CA 憑證匯入 AD 的資訊,請參閱如何將第三方憑證授權機構 (CA) 憑證匯入 Enterprise NTAuth 存放區
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 Resource Name (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:使用連接的 CRL 和從發行的憑證中省略的 CDP 延伸來建立 Matter CA
您可以建立適合為 Matter 智慧家庭標準發出憑證的私有 CA。在此範例中, 中的 CA 組態ca_config_PAA.txt
定義了 Matter Product Attestation Authority (PAA),其中供應商 ID (VID) 設定為 FFF1。
檔案:ca_config_PAA.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 從URL任何發行的憑證中省略預設的 CDP。
檔案: 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 Resource Name (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
}
},
...
}
...