本產品的文件集力求使用無偏見用語。針對本文件集的目的,無偏見係定義為未根據年齡、身心障礙、性別、種族身分、民族身分、性別傾向、社會經濟地位及交織性表示歧視的用語。由於本產品軟體使用者介面中硬式編碼的語言、根據 RFP 文件使用的語言,或引用第三方產品的語言,因此本文件中可能會出現例外狀況。深入瞭解思科如何使用包容性用語。
思科已使用電腦和人工技術翻譯本文件,讓全世界的使用者能夠以自己的語言理解支援內容。請注意,即使是最佳機器翻譯,也不如專業譯者翻譯的內容準確。Cisco Systems, Inc. 對這些翻譯的準確度概不負責,並建議一律查看原始英文文件(提供連結)。
本檔案介紹簡單憑證註冊通訊協定(SCEP),這是用於註冊和其他公開金鑰基礎架構(PKI)運作的通訊協定。
SCEP最初由思科開發,並記錄在Internet工程任務組(IETF)草案中。
其主要特點是:
SCEP的註冊和使用通常遵循以下工作流程:
SCEP使用CA憑證以保護CSR的訊息交換。因此,必須獲取CA證書的副本。使用GetCACert操作。
請求將作為HTTP GET請求傳送。該請求的資料包捕獲方式如下所示:
GET /cgi-bin/pkiclient.exe?operation=GetCACert
響應只是二進位制編碼的CA證書(X.509)。 客戶端需要通過檢查指紋/雜湊來驗證CA證書是否受信任。這必須通過帶外方法(通過電話呼叫系統管理員或在信任點內預配置指紋)完成。
註冊請求將作為HTTP GET請求傳送。該請求的資料包捕獲如下所示:
/cgi-bin/pkiclient.exe?operation=PKIOperation&message=
MIIHCgYJKoZIhvcNAQcCoIIG%2BzCCBvcCAQExDjA......<snip>
對SCEP註冊請求的響應為以下三種型別之一:
在證書到期之前,客戶端需要獲取新證書。續訂和滾動更新之間存在細微的行為差異。當客戶端的ID證書即將到期,並且其到期日期與CA證書的到期日期不同(早於)時,就會發生續訂。當ID證書即將到期,並且其到期日期與CA的證書到期日期相同時,會發生滾動更新。
隨著ID證書到期日期的臨近,SCEP客戶端可能需要獲取新證書。使用者端會產生CSR並完成註冊程式(如先前所定義)。 當前證書用於簽署SignedData PKCS#7,從而向CA證明身份。收到新憑證後,使用者端會立即刪除目前的憑證,並替換為新憑證,新憑證會立即生效。
滾動更新是CA證書過期並生成新CA證書的特殊情況。CA產生新的CA證書,該證書在當前的CA證書過期後生效。CA通常會在滾動時間之前的某個時間生成此「影子CA」證書,因為需要為客戶端生成「影子ID」證書。
當SCEP客戶端的ID證書即將到期時,SCEP客戶端將向CA查詢「影子CA」證書。此操作通過GetNextCACert操作完成,如下所示:
GET /cgi-bin/pkiclient.exe?operation=GetNextCACert
一旦SCEP客戶端具有「影子CA」證書,它將在正常註冊過程後請求「影子ID」證書。CA會使用「影子CA」憑證簽署「影子ID」憑證。與正常的續訂請求不同,返回的「影子ID」證書在CA證書過期(滾動更新)時有效。 因此,客戶端需要保留CA和ID證書的更新前後證書的副本。在CA過期(滾動更新)時,SCEP客戶端刪除當前CA證書和ID證書並用「影子」副本替換它們。
此結構用作SCEP的構建塊。
附註:PKCS#7和PKCS#10不是SCEP特定的。
PKCS#7是一種允許對資料進行簽名或加密的已定義資料格式。資料格式包括執行加密操作所需的原始資料和相關的後設資料。
帶簽名的信封是一種傳輸資料的格式,用於確認封裝的資料在傳輸過程中不會通過數位簽章更改。其中包括以下資訊:
SignedData ::= SEQUENCE {
version CMSVersion,
digestAlgorithms DigestAlgorithmIdentifiers,
encapContentInfo EncapsulatedContentInfo,
certificates [0] IMPLICIT CertificateSet OPTIONAL,
crls [1] IMPLICIT RevocationInfoChoices OPTIONAL,
signerInfos SignerInfos }
封裝的資料未加密或模糊處理。此格式只是針對被更改的消息提供保護。
包封資料格式承載加密的資料,並且只能由指定的收件人解密。 其中包括以下資訊:
EnvelopedData ::= SEQUENCE {
version CMSVersion,
originatorInfo [0] IMPLICIT OriginatorInfo OPTIONAL,
recipientInfos RecipientInfos,
encryptedContentInfo EncryptedContentInfo,
unprotectedAttrs [1] IMPLICIT UnprotectedAttributes OPTIONAL }
PKCS#10說明CSR的格式。CSR包含使用者端要求包含在其憑證中的資訊:
以下是CSR的範例:
Certificate Request:
Data:
Version: 0 (0x0)
Subject: CN=scepclient
Subject Public Key Info:
Public Key Algorithm: rsaEncryption Public-Key: (1024 bit)
Modulus:
00:cd:46:5b:e2:13:f9:bf:14:11:25:6d:ff:2f:43:
64:75:89:77:f6:8a:98:46:97:13:ca:50:83:bb:10:
cf:73:a4:bc:c1:b0:4b:5c:8b:58:25:38:d1:19:00:
a2:35:73:ef:9e:30:72:27:02:b1:64:41:f8:f6:94:
7b:90:c4:04:28:a1:02:c2:20:a2:14:da:b6:42:6f:
e6:cb:bb:33:c4:a3:64:de:4b:3a:7d:4c:a0:d4:e1:
b8:d8:71:cc:c7:59:89:88:43:24:f1:a4:56:66:3f:
10:25:41:69:af:e0:e2:b8:c8:a4:22:89:55:e1:cb:
00:95:31:3f:af:51:3f:53:ad
Exponent: 65537 (0x10001)
Attributes:
challengePassword :
Requested Extensions:
X509v3 Key Usage: critical
Digital Signature, Key Encipherment
X509v3 Subject Alternative Name:
DNS:webserver.example.com
Signature Algorithm: sha1WithRSAEncryption
8c:d6:4c:52:4e:c0:d0:28:ca:cf:dc:c1:67:93:aa:4a:93:d0:
d1:92:d9:66:d0:99:f5:ad:b4:79:a5:da:2d:6a:f0:39:63:8f:
e4:02:b9:bb:39:9d:a0:7a:6e:77:bf:d2:49:22:08:e2:dc:67:
ea:59:45:8f:77:45:60:62:67:64:1d:fe:c7:d6:a0:c3:06:85:
e8:f8:11:54:c5:94:9e:fd:42:69:be:e6:73:40:dc:11:a5:9a:
f5:18:a0:47:33:65:22:d3:45:9f:f0:fd:1d:f4:6f:38:75:c7:
a6:8b:3a:33:07:09:12:f3:f1:af:ba:b7:cf:a6:af:67:cf:47: 60:fc
請求採用以下格式的HTTP GET傳送:
GET CGI-path/pkiclient.exe?operation=operation&message=message HTTP/version
其中:
使用GET方法時,消息部分可以是純文字檔案,也可以是轉換為Base64的可分辨編碼規則(DER)編碼的PKCS#7。如果支援POST方法,則使用GET的Base64編碼傳送的內容可能會改為使用POST以二進位制格式傳送。
操作的可能值及其關聯的消息值:
PKIOperation
:
SCEP響應作為標準HTTP內容返回,其Content-Type取決於原始請求和返回的資料型別。DER內容以二進位制形式返回(對於請求不以Base64形式返回)。PKCS#7內容可能包含加密/已簽名的信封資料,也可能不包含這些資料;如果沒有(僅包含一組證書),則將其稱為PKCS#7。
Content-Type的可能值:
application/x-pki-message:
application/x-x509-ca-cert:
application/x-x509-ca-ra-cert:
application/x-x509-next-ca-cert:
2.16.840.1.113733.1.9.2 scep-messageType
2.16.840.1.113733.1.9.3 scep-pkiStatus
2.16.840.1.113733.1.9.4 scep-failInfo
2.16.840.1.113733.1.9.5 scep-senderNonce
2.16.840.1.113733.1.9.6 scep-recipientNonce
2.16.840.1.113733.1.9.7 scep-transId
2.16.840.1.113733.1.9.8 scep-extensionReq