更新您對Adobe新mTLS憑證階層的信任存放區 update-your-trust-store-for-adobes-new-mtls-certificate-hierarchy
Adobe正在更新憑證授權單位(CA)階層,該階層用於核發輸出相互傳輸層安全性(mTLS)連線至您端點的使用者端憑證。 如果您的系統驗證Adobe的mTLS使用者端憑證,則在Adobe開始提交從新階層發行的憑證之前,您需要將Adobe的新根和中間CA憑證新增到您的信任存放區。 本指南說明哪些內容正在變更、變更原因以及如何更新常見平台上的信任存放區。
受影響者 who-is-affected
此變更會影響您管理以驗證Adobe mTLS使用者端憑證的任何端點,包括HTTP API目的地的接收端點、Adobe Journey Optimizer自訂動作以及事件轉送整合。 如果您已將mTLS與任何Adobe Experience Platform整合搭配使用,請檢閱本指南,並完成下述信任存放區更新。
您需要做什麼 what-you-need-to-do
將Adobe的新根和中間CA憑證新增至信任存放區或驗證Adobe mTLS使用者端憑證的端點所使用的受信任CA套件組合。
請依照下列順序:
- 將新的根和中繼CA憑證新增到您的信任存放區,以及您現有的信任憑證。
- 維持您目前信任的階層。 您不可以在此更新中移除它。
- 如果您的平台需要信任組態,請套用或重新載入。
- 驗證更新,如驗證您的信任存放區更新中所述。
- 讓兩個階層在轉換的其餘階段都保持可信。
這僅是信任存放區更新。 您不需要:
- 向Adobe請求新的使用者端憑證。
- 變更在Adobe整合中啟用或設定mTLS的方式。
- 修改您透過mTLS服務API擷取憑證的方式。
何時完成此更新 when-to-update
請儘快完成此更新,而不是等候特定連線受到影響。 由於信任存放區可同時保留多個有效階層,因此新增根和中間連線現在對您目前正常運作的連線沒有影響。
Adobe從2026年中開始將mTLS使用者端憑證轉換為新的憑證階層,並持續到2027年春季。
如果不更新會發生什麼情況 what-happens-if-you-dont-update
一旦Adobe在連線至端點的作業上,提供從新階層發行的憑證後,如果您的信任存放區尚未包含新的根憑證和中間憑證,TLS交握就會失敗。 這會在受影響的整合上顯示為連線或傳送失敗。 例如,目的地傳送失敗或失敗的自訂動作呼叫,直到您更新信任存放區為止。
您如何知道您已準備就緒? readiness
驗證您的憑證檔案與確認您的生產端點已就緒不同。 憑證驗證會確認下載的檔案是否有效且連結正確,但不會確認終止Adobe mTLS連線的服務正在使用更新的信任設定。
完成下列平台特定步驟後,請依照確認您的信任存放區更新區段中所述的步驟,確認您的憑證檔案和鏈結有效。 Adobe目前不提供通用的端對端測試,以確認您的生產端點使用更新的設定。 使用您的平台或環境支援的任何驗證方法來確認整備程度。
變更內容 what-is-changing
Adobe發行mTLS使用者端憑證,以驗證您所控制之端點的輸出連線,例如HTTP API目的地接收端點、Adobe Journey Optimizer自訂動作或事件轉送整合。 Adobe正在將這些憑證從伺服器和使用者端驗證之間共用的憑證階層移至專用於使用者端驗證的階層。
這表示Adobe mTLS使用者端憑證背後的根憑證授權單位與中繼憑證授權單位正在變更。 此變更不會影響憑證的運作方式,或在Adobe整合中設定mTLS的方式。
為什麼會變更 why-this-is-changing
憑證授權單位的產業標準現在要求用於伺服器驗證和使用者端驗證的憑證從不同的階層發行。 此分隔有助於防止憑證在預期用途之外使用。 這項要求廣泛適用於公眾信任憑證生態系統。 此並非特定於Adobe或任何單一整合。
新憑證階層 new-certificate-hierarchy
下表比較了目前的憑證階層與新的憑證階層。
兩個階層都由DigiCert發行,但它們是獨立的根程式。 只信任DigiCert Global Root G2的信任存放區將不會信任從新階層發行的憑證。
下載新的CA憑證 download-certificates
將下列兩個憑證新增至信任存放區。 某些平台如果自動擷取中繼憑證,則可能只需要根憑證。 Adobe建議您同時新增根憑證和中間憑證,以確保完整的鏈結可用於驗證。
DigiCert Assured ID Client CA G2DigiCert在其受信任的根授權單位憑證參考中維護有關其受信任的根憑證和憑證授權單位的資訊。
DigiCert以DER格式散發兩個檔案。 本指南稍後介紹的大多數平台都使用PEM格式,因此除非您使用Windows,否則請將兩個檔案都轉換為PEM。
.crt (DER)檔案。 本指南中的其他每個平台都使用轉換的.pem檔案。curl -O http://cacerts.digicert.com/DigiCertAssuredIDRootG2.crt
curl -O http://cacerts.digicert.com/DigiCertAssuredIDClientCAG2.crt
openssl x509 -inform DER -in DigiCertAssuredIDRootG2.crt -out DigiCertAssuredIDRootG2.pem
openssl x509 -inform DER -in DigiCertAssuredIDClientCAG2.crt -out DigiCertAssuredIDClientCAG2.pem
在繼續之前,請確認您已下載預期的憑證,而且這些憑證形成了有效的鏈結。 驗證每個憑證的主體是否符合預期的一般名稱,然後驗證中繼憑證是否連結至根:
openssl x509 -in DigiCertAssuredIDRootG2.pem -noout -subject -issuer
openssl x509 -in DigiCertAssuredIDClientCAG2.pem -noout -subject -issuer
openssl verify -CAfile DigiCertAssuredIDRootG2.pem DigiCertAssuredIDClientCAG2.pem
成功的鏈結驗證傳回DigiCertAssuredIDClientCAG2.pem: OK。
更新您的信任存放區 update-trust-store
新增新CA憑證至信任存放區的步驟取決於終止端點mTLS連線的平台或軟體。 以下各節假設您已下載並轉換憑證,如下載新的CA憑證節中所述。 以下章節涵蓋常見的平台和設定。
Linux和OpenSSL linux-openssl
這會更新OpenSSL和大部分以Debian和Ubuntu型發行版本上的TLS資料庫所使用的系統範圍CA套件組合。
/etc/pki/ca-trust/source/anchors/並改為執行sudo update-ca-trust。將您下載並轉換🔗的PEM檔案複製到系統CA目錄中,然後重建信任套件:
sudo cp DigiCertAssuredIDRootG2.pem /usr/local/share/ca-certificates/DigiCertAssuredIDRootG2.crt
sudo cp DigiCertAssuredIDClientCAG2.pem /usr/local/share/ca-certificates/DigiCertAssuredIDClientCAG2.crt
sudo update-ca-certificates
自訂CA套件組合檔案 custom-ca-bundle
如果您的服務參考自訂CA套件組合檔案(例如,透過--cacert、SSL_CERT_FILE或CURL_CA_BUNDLE),請將您下載的新憑證直接附加至該檔案:
cat DigiCertAssuredIDRootG2.pem >> /path/to/your/ca-bundle.crt
cat DigiCertAssuredIDClientCAG2.pem >> /path/to/your/ca-bundle.crt
請確定每個憑證區塊都以換行字元分隔,且一個-----END CERTIFICATE-----區塊的結尾與下一個-----BEGIN CERTIFICATE-----區塊的開頭之間沒有額外的空格。
Java (keytool) java-keytool
Java應用程式使用自己的信任存放區,通常是名為cacerts的檔案,而不是作業系統信任存放區,因此您需要直接匯入您下載的憑證。 首先,找出您的JVM的cacerts檔案:
JAVA_CACERTS="$(dirname $(dirname $(readlink -f $(which java))))/lib/security/cacerts"
然後匯入兩個憑證(預設的cacerts密碼為changeit):
keytool -importcert -trustcacerts \
-alias digicert-assured-id-root-g2 \
-file DigiCertAssuredIDRootG2.pem \
-keystore "$JAVA_CACERTS" \
-storepass changeit \
-noprompt
keytool -importcert -trustcacerts \
-alias digicert-assured-id-client-ca-g2 \
-file DigiCertAssuredIDClientCAG2.pem \
-keystore "$JAVA_CACERTS" \
-storepass changeit \
-noprompt
確認已新增兩個憑證:
keytool -list -keystore "$JAVA_CACERTS" -storepass changeit -alias digicert-assured-id-root-g2
keytool -list -keystore "$JAVA_CACERTS" -storepass changeit -alias digicert-assured-id-client-ca-g2
-Djavax.net.ssl.trustStore=/path/to/truststore.jks指定),請將憑證匯入該檔案,而非JVM的預設cacerts檔案。如需完整的keytool選項集,請參閱Oracle的keytool命令參考。
nginx nginx
nginx使用ssl_client_certificate指示詞來指定信任哪些CA進行使用者端憑證驗證。 將您下載的新憑證附加到該指示詞所參考的套件組合檔案中:
cat DigiCertAssuredIDRootG2.pem >> /etc/nginx/ssl/trusted-client-cas.pem
cat DigiCertAssuredIDClientCAG2.pem >> /etc/nginx/ssl/trusted-client-cas.pem
測試組態並重新載入nginx以套用變更:
nginx -t && nginx -s reload
請參閱nginx的ngx_http_ssl_module檔案,以取得包括ssl_client_certificate在內的SSL/TLS指示詞完整清單。
Apache httpd apache-httpd
Apache httpd使用SSLCACertificateFile指示詞來指定受信任的使用者端CA。 將您下載的新憑證附加到該指示詞所參考的套件組合檔案中:
cat DigiCertAssuredIDRootG2.pem >> /etc/httpd/ssl/trusted-client-cas.pem
cat DigiCertAssuredIDClientCAG2.pem >> /etc/httpd/ssl/trusted-client-cas.pem
測試組態並重新啟動Apache httpd以套用變更:
apachectl configtest && apachectl graceful
如需整組mod_ssl指示,包括SSLCACertificateFile,請參閱Apache的mod_ssl檔案。
Windows windows
使用提升許可權的命令提示字元中的certutil,將您下載的憑證新增至適當的存放區:
certutil -addstore Root DigiCertAssuredIDRootG2.crt
certutil -addstore CA DigiCertAssuredIDClientCAG2.crt
或者,您可以使用Windows圖形介面將憑證新增到本機電腦的憑證存放區。 若要這麼做,請在Microsoft Management Console (MMC)中開啟Certificates嵌入式管理單元,然後依照下列步驟進行:
- 執行
mmc.exe。 - 選取File > Add/Remove Snap-in。
- 在 Add or Remove Snap-ins 視窗中,選取Certificates,然後選取Add。
- 在 Certificates snap-in 視窗中,選取Computer account,然後選取Next。
- 在 Select Computer 視窗中,保持選取Local computer,然後選取Finish。
- 在 Add or Remove Snap-in 視窗中,選取OK。
- 在主控台樹狀結構中,展開Certificates (Local Computer) > Trusted Root Certification Authorities > Certificates。
- 用滑鼠右鍵按一下Certificates,選取All Tasks > Import,然後匯入
DigiCertAssuredIDRootG2.crt。 - 展開Intermediate Certification Authorities > Certificates。
- 用滑鼠右鍵按一下Certificates,選取All Tasks > Import,然後匯入
DigiCertAssuredIDClientCAG2.crt。
certutil命令,使用下載的原始.crt檔案,而不是轉換的.pem版本。 使用MMC嵌入式管理單元時,兩種格式都可使用。如需Windows如何組織憑證儲存的背景資訊,請參閱Microsoft的憑證儲存概述。
AWS aws
根據終止連線的服務,AWS使用不同的mTLS信任存放區機制。
針對使用雙向TLS的Amazon API Gateway個REST API,上傳您下載的憑證的組合PEM套件組合至Amazon S3,然後更新您的自訂網域以參考它。
cat DigiCertAssuredIDRootG2.pem DigiCertAssuredIDClientCAG2.pem > truststore.pem
aws s3 cp truststore.pem s3://your-bucket/truststore.pem
aws apigateway update-domain-name \
--domain-name api.example.com \
--patch-operations op=replace,path=/mutualTlsAuthentication/truststoreUri,value=s3://your-bucket/truststore.pem
truststoreVersion (或變更URI),讓API Gateway取用變更:| code language-shell |
|---|
|
如需完整的設定指南,請參閱AWS的REST API雙向TLS檔案🔗。
對於使用雙向TLS的Application Load Balancer或Network Load Balancer,請使用ELBv2 API來建立或更新包含用來驗證使用者端憑證之CA憑證的信任存放區:
aws elbv2 create-trust-store \
--name digicert-assured-id-trust-store \
--ca-certificates-bundle-s3-bucket your-bucket \
--ca-certificates-bundle-s3-key truststore.pem
如果您已有此監聽器的信任存放區,請更新它,而非建立新存放區:
aws elbv2 modify-trust-store \
--trust-store-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:truststore/your-trust-store/abc123 \
--ca-certificates-bundle-s3-bucket your-bucket \
--ca-certificates-bundle-s3-key truststore.pem
然後,將信任存放區與處理mTLS連線的接聽程式建立關聯:
aws elbv2 modify-listener \
--listener-arn arn:aws:elasticloadbalancing:us-east-1:123456789012:listener/app/my-alb/abc123/def456 \
--mutual-authentication Mode=verify,TrustStoreArn=arn:aws:elasticloadbalancing:us-east-1:123456789012:truststore/your-trust-store/abc123
如需完整的設定指南,請參閱AWS的應用程式負載平衡器雙向TLS檔案。
如果您使用CloudFormation管理此組態,請更新AWS::ApiGateway::DomainName以透過MutualTlsAuthentication.TruststoreUri參考更新的信任存放區,或更新AWS::ElasticLoadBalancingV2::TrustStore以包含新的CA憑證。 針對Terraform,以對應的信任存放區變更來更新aws_api_gateway_domain_name (mutual_tls_authentication.truststore_uri)或aws_lb_trust_store。
Azure azure
針對Azure Application Gateway,上傳您下載的根和中間憑證作為信任的使用者端憑證,然後將它們附加至已啟用使用者端驗證的SSL設定檔:
az network application-gateway root-cert create \
--gateway-name myAppGateway \
--resource-group myResourceGroup \
--name DigiCertAssuredIDRootG2 \
--cert-file DigiCertAssuredIDRootG2.pem
az network application-gateway root-cert create \
--gateway-name myAppGateway \
--resource-group myResourceGroup \
--name DigiCertAssuredIDClientCAG2 \
--cert-file DigiCertAssuredIDClientCAG2.pem
az network application-gateway ssl-profile update \
--gateway-name myAppGateway \
--resource-group myResourceGroup \
--name myMtlsSslProfile \
--client-auth-configuration verify-client-cert-issuer-dn=true \
--trusted-client-certificates DigiCertAssuredIDRootG2 DigiCertAssuredIDClientCAG2
如需此設定的背景,請參閱Microsoft的應用程式閘道相互驗證總覽。
針對Azure API Management,將根與中繼CA憑證新增至受管理閘道所使用的CA憑證存放區。 這可讓Azure API Management在針對新階層驗證Adobe的使用者端憑證時建立信任。
az apim certificate create \
--resource-group myResourceGroup \
--service-name myApiManagement \
--certificate-id digicert-assured-id-root-g2 \
--certificate-file DigiCertAssuredIDRootG2.pem
az apim certificate create \
--resource-group myResourceGroup \
--service-name myApiManagement \
--certificate-id digicert-assured-id-client-ca-g2 \
--certificate-file DigiCertAssuredIDClientCAG2.pem
您也可以在Azure入口網站中新增CA憑證。 從您的API管理執行個體中,選取安全性 > 憑證 > CA憑證。
如需逐步指示,請參閱Microsoft在API管理中新增自訂CA憑證的指南。
如果您使用Terraform管理此組態,請在azurerm_application_gateway (ssl_profile.trusted_client_certificate_names)中更新信任的使用者端憑證組態,或在azurerm_api_management_certificate中更新CA憑證組態。
Google Cloud google-cloud
Google Cloud Load Balancing使用憑證管理員TrustConfig來定義mTLS信任的CA。
TrustConfig,請更新以包含新的信任錨點和中間的,而不是透過修訂的YAML檔案使用gcloud certificate-manager trust-configs update,來建立新的信任錨點。建立信任設定檔,將您下載的新根與中間CA憑證新增至使用者端驗證所信任的憑證集:
trustStores:
- trustAnchors:
- pemCertificate: |
<paste contents of DigiCertAssuredIDRootG2.pem here>
intermediateCas:
- pemCertificate: |
<paste contents of DigiCertAssuredIDClientCAG2.pem here>
建立TrustConfig資源:
gcloud certificate-manager trust-configs create digicert-assured-id-trust-config \
--source=trust-config.yaml \
--location=global
然後建立參照信任設定的伺服器TLS原則:
mtlsPolicy:
clientValidationMode: REJECT_INVALID
clientValidationTrustConfig: projects/YOUR_PROJECT/locations/global/trustConfigs/digicert-assured-id-trust-config
gcloud network-security server-tls-policies create my-mtls-policy \
--source=server-tls-policy.yaml \
--location=global
將ServerTlsPolicy附加至您的目標HTTPS Proxy:
gcloud compute target-https-proxies update my-https-proxy \
--server-tls-policy=my-mtls-policy \
--region=global
如果您使用Terraform管理此組態,請更新google_certificate_manager_trust_config以在trust_stores.trust_anchors中包含新的根CA,並在trust_stores.intermediate_cas中包含新的中間CA。
如需此設定的完整逐步說明,請參閱Google Cloud的使用使用者提供的憑證設定前端mTLS指南。
驗證信任存放區更新 verify
更新您的信任存放區後,請確認由新階層核發的憑證會針對新CA鏈進行驗證。 從新的根和中間CA憑證建立合併的套件,然後使用它來驗證為使用者端驗證核發的憑證:
cat DigiCertAssuredIDRootG2.pem DigiCertAssuredIDClientCAG2.pem > digicert-assured-id-chain.pem
openssl verify -CAfile digicert-assured-id-chain.pem -purpose sslclient client-cert.pem
如果您有從新階層發行的使用者端憑證,請將client-cert.pem取代為該憑證的路徑。 成功的結果會確認OpenSSL可以根據TLS使用者端驗證的新CA鏈來驗證憑證。
如果您沒有從新階層簽發的使用者端憑證,您仍然可以驗證中繼憑證是否依據新根進行驗證:
openssl verify -CAfile DigiCertAssuredIDRootG2.pem DigiCertAssuredIDClientCAG2.pem
成功的結果傳回DigiCertAssuredIDClientCAG2.pem: OK,確認中繼憑證已針對新根進行驗證。
若要確認僅針對使用者端驗證核發憑證,請檢查其擴充金鑰用法:
openssl x509 -in client-cert.pem -noout -ext extendedKeyUsage
對於僅使用者端驗證憑證,擴充金鑰使用應包含TLS Web Client Authentication而非TLS Web Server Authentication。
疑難排解 troubleshooting
使用下列症狀來識別連線失敗是否與此移轉有關。
如果您在新增根憑證和中間憑證後繼續看到失敗,請確認它們已新增至信任存放區或服務終止連線所使用的組合。 如果您的平台需要,也請確認已重新載入或重新啟動服務以套用更新的信任設定。
常見問題 faq
我需要做任何事嗎?
有。 如果您的端點驗證Adobe的mTLS使用者端憑證,請將Adobe的新根憑證和中間CA憑證新增至您的信任存放區。 不需要變更其他設定。
這是否與透過mTLS服務API提供的自動憑證擷取有關?
沒有。 mTLS服務API會自動擷取和生命週期Adobe的使用者端憑證,自動化不會受此變更影響。 更新您的信任存放區以包含新的CA階層是您對自己的系統執行的一次性個別動作。
我現有的整合是否會停止運作?
不要立即。 請參閱若您未更新會發生什麼情況,以瞭解整合受到影響的時間和方式。
我需要取代我的使用者端憑證嗎?
沒有。 Adobe的使用者端憑證會自動核發及輪換,如同目前一樣。 您的職責僅限於信任您這邊的新發行CA階層。
我可以在Adobe開始使用新的CA階層之前新增它嗎?
可以,Adobe建議這麼做。 請參閱何時完成此更新,瞭解為何提早新增不會中斷您現有的連線。
這何時會影響我的整合?
此轉換分階段進行,從2026年中開始並持續到2027年春季。 請參閱何時完成此更新,瞭解在此期間要做什麼。
相關檔案 related-documentation
使用下列資源深入瞭解Experience Platform中的mTLS設定、憑證擷取及憑證生命週期管理。
- Adobe Experience Platform中的資料加密,以進一步瞭解Experience Platform如何加密傳輸中及閒置的資料,包括mTLS支援。
- mTLS服務API總覽,以程式設計方式擷取Adobe的公用使用者端憑證。
- 公用憑證端點,以取得自動化憑證生命週期的詳細資料。
- HTTP API目的地,用於在HTTP API目的地上設定mTLS。