您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件。 info
本文說明如何先驗證憑證用途,再將憑證上傳至金鑰儲存區或信任儲存區。這個程序會使用 OpenSSL 進行驗證,適用於任何可使用 OpenSSL 的環境。
TLS 憑證通常會核發一或多個用途,供您使用。 通常是為了限制憑證中公開金鑰可執行的作業數量。憑證用途可透過下列憑證擴充功能取得:
- 金鑰用途
- 擴充金鑰使用方式
金鑰用途
金鑰用途擴充功能會定義憑證中所含金鑰的用途 (例如加密、簽章或憑證簽署)。如果公開金鑰用於實體驗證,憑證擴充功能應具有金鑰用途「數位簽章」。
透過憑證授權單位 (CA) 程序建立的 TLS 憑證可使用下列金鑰使用方式擴充功能:
- 數位簽章
- 不可否認性
- 金鑰編密
- 資料編密
- 金鑰協議
- 憑證簽署
- CRL 簽署
- 僅限編密
- 僅限解密
如要進一步瞭解這些金鑰用途擴充功能,請參閱 RFC5280「金鑰用途」。
擴充金鑰使用方式
這個擴充功能會指出認證公開金鑰的一或多個用途,可取代或補充金鑰用途擴充功能中指出的基本用途。一般來說,這項擴充功能只會出現在終端實體憑證中。
以下是一些常見的擴充金鑰使用方式擴充功能:
-
TLS Web server authentication -
TLS Web client authentication -
anyExtendedKeyUsage
擴充金鑰可以是重大或非重大。
- 如果擴充功能是重要擴充功能,則憑證只能用於指定用途。如果憑證用於其他用途,即違反憑證授權單位的政策。
- 如果擴充功能是非重要功能,表示金鑰的預期用途僅供參考,並不代表 CA 會將金鑰用途限制為所指用途。不過,使用憑證的應用程式可能需要指出特定用途,憑證才能接受。
如果憑證同時包含金鑰用途欄位和擴充金鑰用途欄位,且兩者皆為重要欄位,則必須分別處理這兩個欄位,且憑證只能用於滿足兩者金鑰用途值的用途。不過,如果沒有任何用途能同時滿足這兩個金鑰用途值,則該憑證不得用於任何用途。
取得憑證時,請務必定義適當的金鑰用途,以滿足用戶端或伺服器憑證的需求,否則 TLS 握手程序會失敗。
建議用於 Apigee Edge 憑證的金鑰使用方式和擴充金鑰使用方式
| 目的 |
鍵使用方式
(強制) |
擴充金鑰使用方式
(選填) |
| Apigee Edge 虛擬主機金鑰儲存區中使用的伺服器實體憑證 |
|
TLS 網路伺服器驗證 |
| Apigee Edge 虛擬主機信任儲存區中使用的用戶端實體憑證 |
|
TLS 網頁用戶端驗證 |
| Apigee Edge 目標伺服器的信任儲存區中使用的伺服器實體憑證 |
|
TLS 網路伺服器驗證 |
| Apigee Edge 目標伺服器金鑰儲存區中使用的用戶端實體憑證 |
|
TLS 網頁用戶端驗證 |
| 中繼和根憑證 |
|
事前準備
使用本文中的步驟前,請務必瞭解下列主題:
- 如果您不熟悉憑證鏈結,請參閱「信任鏈結」。
- 如果您不熟悉 OpenSSL 程式庫,請參閱 OpenSSL
- 如要進一步瞭解金鑰使用方式擴充功能和擴充金鑰使用方式,請參閱 RFC5280。
- 如要使用本指南提供的指令列範例,請安裝或更新至最新版本的 OpenSSL 用戶端。
- 確認憑證為 PEM 格式,如果不是,請 將憑證轉換為 PEM 格式。
驗證憑證用途
本節說明驗證憑證用途的步驟。
- 登入 OpenSSL 所在的伺服器。
-
如要取得憑證的金鑰用途,請執行下列 OpenSSL 指令:
openssl x509 -noout -ext keyUsage < certificate
其中 certificate 是憑證名稱。
輸出內容範例
openssl x509 -noout -ext keyUsage < entity.pem X509v3 Key Usage: critical Digital Signature, Key Encipherment openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign -
如果金鑰用途為必要,則會定義為嚴重,如下所示:
openssl x509 -noout -ext keyUsage < intermediate.pem X509v3 Key Usage: critical Certificate Sign, CRL Sign -
執行下列指令,取得憑證的擴充金鑰用途。
如果擴充金鑰用途未定義為重要,則為建議而非強制規定。
openssl x509 -noout -ext extendedKeyUsage < certificate
其中 certificate 是憑證名稱。
輸出內容範例
openssl x509 -noout -ext extendedKeyUsage < entity.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication openssl x509 -noout -ext extendedKeyUsage < intermediate.pem X509v3 Extended Key Usage: TLS Web Server Authentication, TLS Web Client Authentication