更新您對Adobe新mTLS憑證階層的信任存放區 update-your-trust-store-for-adobes-new-mtls-certificate-hierarchy

Adobe正在更新憑證授權單位(CA)階層,該階層用於核發輸出相互傳輸層安全性(mTLS)連線至您端點的使用者端憑證。 如果您的系統驗證Adobe的mTLS使用者端憑證,則在Adobe開始提交從新階層發行的憑證之前,您需要將Adobe的新根和中間CA憑證新增到您的信任存放區。 本指南說明哪些內容正在變更、變更原因以及如何更新常見平台上的信任存放區。

IMPORTANT
此更新是信任存放區的一次性變更。 它不同於透過mTLS服務API使用的自動憑證擷取與生命週期,也不會取代該功能。 在此移轉過程中,您不需要請求、下載或取代Adobe的使用者端憑證。

受影響者 who-is-affected

此變更會影響您管理以驗證Adobe mTLS使用者端憑證的任何端點,包括HTTP API目的地的接收端點、Adobe Journey Optimizer自訂動作以及事件轉送整合。 如果您已將mTLS與任何Adobe Experience Platform整合搭配使用,請檢閱本指南,並完成下述信任存放區更新。

您需要做什麼 what-you-need-to-do

將Adobe的新根和中間CA憑證新增至信任存放區或驗證Adobe mTLS使用者端憑證的端點所使用的受信任CA套件組合。

請依照下列順序:

  1. 將新的根和中繼CA憑證新增到您的信任存放區,以及您現有的信任憑證。
  2. 維持您目前信任的階層。 您不可以在此更新中移除它。
  3. 如果您的平台需要信任組態,請套用或重新載入。
  4. 驗證更新,如驗證您的信任存放區更新中所述。
  5. 讓兩個階層在轉換的其餘階段都保持可信。

這僅是信任存放區更新。 您不需要:

  • 向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

下表比較了目前的憑證階層與新的憑證階層。

目前階層
新階層
擴充金鑰用途
TLS Web伺服器驗證+ TLS Web使用者端驗證
僅限TLS Web使用者端驗證
中繼CA
DigiCert Global G2 TLS RSA SHA256 2020 CA1
DigiCert Assured ID Client CA G2
根CA
DigiCert Global Root G2
DigiCert Assured ID Root G2

兩個階層都由DigiCert發行,但它們是獨立的根程式。 只信任DigiCert Global Root G2的信任存放區將不會信任從新階層發行的憑證。

下載新的CA憑證 download-certificates

將下列兩個憑證新增至信任存放區。 某些平台如果自動擷取中繼憑證,則可能只需要根憑證。 Adobe建議您同時新增根憑證和中間憑證,以確保完整的鏈結可用於驗證。

憑證
類型
一般名稱
下載
DigiCert Assured ID Root G2
DigiCert Assured ID Root G2
DigiCertAssuredIDRootG2.crt
DigiCert Assured ID Client CA G2
中級
DigiCert Assured ID Client CA G2
DigiCertAssuredIDClientCAG2.crt

DigiCert在其受信任的根授權單位憑證參考中維護有關其受信任的根憑證和憑證授權單位的資訊。

DigiCert以DER格式散發兩個檔案。 本指南稍後介紹的大多數平台都使用PEM格式,因此除非您使用Windows,否則請將兩個檔案都轉換為PEM。

NOTE
Windows直接接受原始的.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套件組合。

NOTE
在RHEL、CentOS或Fedora上,將PEM檔案複製到/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套件組合檔案(例如,透過--cacertSSL_CERT_FILECURL_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
NOTE
如果您的應用程式使用自訂信任存放區(以-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嵌入式管理單元,然後依照下列步驟進行:

  1. 執行mmc.exe
  2. 選取​File > Add/Remove Snap-in
  3. 在​ Add or Remove Snap-ins ​視窗中,選取​Certificates,然後選取​Add
  4. 在​ Certificates snap-in ​視窗中,選取​Computer account,然後選取​Next
  5. 在​ Select Computer ​視窗中,保持選取​Local computer,然後選取​Finish
  6. 在​ Add or Remove Snap-in ​視窗中,選取​OK
  7. 在主控台樹狀結構中,展開​Certificates (Local Computer) > Trusted Root Certification Authorities > Certificates
  8. 用滑鼠右鍵按一下​Certificates,選取​All Tasks > Import,然後匯入DigiCertAssuredIDRootG2.crt
  9. 展開​Intermediate Certification Authorities > Certificates
  10. 用滑鼠右鍵按一下​Certificates,選取​All Tasks > Import,然後匯入DigiCertAssuredIDClientCAG2.crt
NOTE
對於certutil命令,使用下載的原始.crt檔案,而不是轉換的.pem版本。 使用MMC嵌入式管理單元時,兩種格式都可使用。

如需Windows如何組織憑證儲存的背景資訊,請參閱Microsoft的憑證儲存概述

AWS aws

根據終止連線的服務,AWS使用不同的mTLS信任存放區機制。

針對使用雙向TLS的Amazon API Gateway個REST API,上傳您下載的憑證的組合PEM套件組合至Amazon S3,然後更新您的自訂網域以參考它。

NOTE
如果您已有信任存放區套件組合搭配您仍需要的其他CA,請將其也納入組合套件組合中 — 下面的命令會建立僅包含兩個新憑證的套件組合。
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
IMPORTANT
API Gateway快取信任存放區。 更新S3物件後,增加truststoreVersion (或變更URI),讓API Gateway取用變更:
code language-shell
aws apigateway update-domain-name \
      --domain-name api.example.com \
      --patch-operations op=replace,path=/mutualTlsAuthentication/truststoreVersion,value=$(date +%s)

如需完整的設定指南,請參閱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。

NOTE
如果您已有其他受信任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

使用下列症狀來識別連線失敗是否與此移轉有關。

症狀
可能的原因
先前運作的mTLS連線上的TLS交握失敗,未進行其他設定變更
您的信任存放區尚未包含新的根和中繼CA憑證。
參照未知或不受信任的簽發者的憑證驗證錯誤
您的信任存放區缺少中繼憑證和/或根憑證。
僅影響部分mTLS驗證的連線,不影響其他連線的失敗
個別連線會在不同時間轉換為新階層。 沒有更新信任存放區的端點將只會因為已使用新階層的連線而失敗。
憑證匯入失敗,或匯入的憑證看起來已損毀
您對您的平台使用錯誤的檔案格式。 本指南中的大部分平台都需要轉換的.pem檔案;Windows需要原始的.crt (DER)檔案。 請參閱下載新的CA憑證

如果您在新增根憑證和中間憑證後繼續看到失敗,請確認它們已新增至信任存放區或服務終止連線所使用的組合。 如果您的平台需要,也請確認已重新載入或重新啟動服務以套用更新的信任設定。

常見問題 faq

我需要做任何事嗎?

有。 如果您的端點驗證Adobe的mTLS使用者端憑證,請將Adobe的新根憑證和中間CA憑證新增至您的信任存放區。 不需要變更其他設定。

這是否與透過mTLS服務API提供的自動憑證擷取有關?

沒有。 mTLS服務API會自動擷取和生命週期Adobe的使用者端憑證,自動化不會受此變更影響。 更新您的信任存放區以包含新的CA階層是您對自己的系統執行的一次性個別動作。

我現有的整合是否會停止運作?

不要立即。 請參閱若您未更新會發生什麼情況,以瞭解整合受到影響的時間和方式。

我需要取代我的使用者端憑證嗎?

沒有。 Adobe的使用者端憑證會自動核發及輪換,如同目前一樣。 您的職責僅限於信任您這邊的新發行CA階層。

我可以在Adobe開始使用新的CA階層之前新增它嗎?

可以,Adobe建議這麼做。 請參閱何時完成此更新,瞭解為何提早新增不會中斷您現有的連線。

這何時會影響我的整合?

此轉換分階段進行,從2026年中開始並持續到2027年春季。 請參閱何時完成此更新,瞭解在此期間要做什麼。

使用下列資源深入瞭解Experience Platform中的mTLS設定、憑證擷取及憑證生命週期管理。

recommendation-more-help
experience-platform-help-landing