查看 Apigee Edge 說明文件。
前往
Apigee X說明文件。 資訊
本文說明如何在將憑證上傳至 或在 Apigee Edge 中部署 KeyStore 或信任儲存庫這個程序仰賴 使用 OpenSSL 工具包驗證憑證 以及任何可使用 OpenSSL 的環境。
事前準備
使用本文件中的步驟前,請務必先瞭解下列主題:
- 如果您不熟悉憑證鏈結,請參閱 信任鏈。
- 如果您不熟悉 OpenSSL 程式庫,請參閱 OpenSSL。
- 如要使用本指南中的指令列範例,請安裝或更新 最新版 OpenSSL 用戶端。
- 確認憑證為 PEM 格式。如果憑證不是 PEM 格式, 請使用 將憑證轉換為支援的格式,以便將其轉換為 PEM 格式。
驗證整個鏈結的憑證主體和核發機構
如要使用 OpenSSL 指令驗證憑證鏈結,請完成 下列章節:
分割憑證鏈結
驗證憑證之前,您必須先將憑證鏈結分割為 憑證
- 登入 OpenSSL 用戶端所在的伺服器。
- 將憑證鏈結分割為下列憑證 (如果尚未建立):
-
實體憑證:
entity.pem
-
中繼憑證:
intermediate.pem
-
根憑證:
root.pem
下圖為憑證鏈結範例:
驗證憑證主體和核發者
本節說明如何取得憑證的主體和核發者,以及驗證 具備有效的憑證鏈結。
-
執行下列 OpenSSL 指令,取得
Subject
和 來自entity
的鏈結中的每個憑證Issuer
要求root
,驗證這些憑證鏈結是適當的憑證鏈結:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
其中 certificate 是憑證的名稱。
-
確認鏈結中的憑證符合下列規範:
-
Subject
每個憑證的Issuer
鏈結中的多個憑證 (Entity
憑證除外)。 -
根憑證的
Subject
和Issuer
相同。
如果鏈結中的憑證遵守這些規範,則系統會將該憑證鏈結視為完整且有效。
憑證鏈結驗證範例
以下是含有三個憑證的範例憑證鏈的 OpenSSL 指令輸出內容:
實體憑證
openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):' Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1 Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
中繼憑證
openssl x509 -text -in intermediate.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
根憑證
openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
在上述範例中,請注意下列事項:
-
中繼憑證的
Subject
與Issuer
相符 。 -
根憑證的
Subject
與以下項目的Issuer
相符: 使用中繼憑證 -
根憑證中的
Subject
和Issuer
相同。
在上述範例中,您可以確認範例憑證鏈結是否有效。
-
驗證憑證主體和核發者雜湊
本節說明如何取得憑證主體和核發者的雜湊,以及 驗證您的憑證鏈結是否有效。
建議驗證憑證的雜湊序列,這麼做有助於 指出憑證的通用名稱 (CN) 等問題。 特殊字元
- 執行下列 OpenSSL 指令,取得每個路徑的
hash
序列 由entity
至root
的鏈結中的憑證, 形成適當的憑證鏈結。 - 確認鏈結中的憑證符合下列規範:
-
每個憑證的
Subject
與上述的Issuer
相符 憑證中的憑證 (Entity
憑證除外)。 -
根憑證的
Subject
和Issuer
相同。 -
中繼憑證的
subject hash
與實體的issuer hash
相符 憑證 -
根憑證的
subject hash
與核發者憑證的issuer hash
相符。 -
根憑證中的
subject
和issuer hash
相同。
openssl x509 -hash -issuer_hash -noout -in certificate
其中 certificate 是憑證的名稱。
如果鏈結中的憑證遵循這些規範,則憑證鏈結 才視為完整且有效
透過雜湊序列執行憑證鏈結驗證範例
以下範例為憑證鏈範例的 OpenSSL 指令輸出內容 內含三個憑證
openssl x509 -in entity.pem -hash -issuer_hash -noout c54c66ba #this is subject hash 99bdd351 #this is issuer hash
openssl x509 -in intermediate.pem -hash -issuer_hash -noout 99bdd351 4a6481c9
openssl x509 -in root.pem -hash -issuer_hash -noout 4a6481c9 4a6481c9
在上述範例中,請注意下列事項:
在上述範例中,您可以確認範例憑證鏈結是否有效。
確認憑證過期
本節說明如何驗證鏈結中的憑證是否全部 透過下列方法執行過期:
- 取得憑證的開始和結束日期。
- 取得到期日。
開始和結束日期
執行下列 OpenSSL 指令,取得每個憑證的開始與結束日期
中的 entity
至 root
之間的所有憑證,
鏈結有效 (開始日期在今天之前) 且尚未過期。
透過開始和結束日期驗證憑證過期的範例
openssl x509 -startdate -enddate -noout -in entity.pem notBefore=Feb 6 21:57:21 2020 GMT notAfter=Feb 4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem notBefore=Jun 15 00:00:42 2017 GMT notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem notBefore=Apr 13 10:00:00 2011 GMT notAfter=Apr 13 10:00:00 2022 GMT
到期狀態
執行下列 OpenSSL 指令,檢查憑證是否已過期,
即將於 N seconds
後到期。這樣就會傳回
與目前系統日期相關聯的憑證
openssl x509 -checkend <N Seconds> -noout -in certificate
其中 certificate 是憑證的名稱。
透過檢查選項驗證憑證到期的範例
下列指令使用 0 seconds
檢查憑證是否屬於 Alread
是否已過期:
openssl x509 -checkend 0 -noout -in entity.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem Certificate will not expire
在這個範例中,Certificate will not expire
訊息表示
憑證尚未過期。