BuildOCSPRequest
數位簽章
描述
為憑證編碼 RFC 6960 OCSP 狀態請求。
語法
Delphi
Function TPDFlib.BuildOCSPRequest(Const SubjectCertDER, IssuerCertDER: AnsiString): AnsiString;參數
| SubjectCertDER | 被詢問狀態的憑證,DER 編碼。 |
|---|---|
| IssuerCertDER | 簽發它的憑證,DER 編碼。 |
傳回值
| Request | OCSPRequest,DER 編碼。 |
|---|---|
| Empty string | 兩張憑證之一無法讀取,或兩者不屬於同一鏈;原因由 GetTimeStampError 攜帶。 |
備註
CertID 由主體憑證的簽發者名稱與序號,加上簽發者憑證的公開金鑰組成,依 RFC 6960 §4.1.1 的規定以 SHA-1 雜湊。這個雜湊用來識別憑證,沒有任何保護作用
編碼之前會先核對這一對:主體憑證的簽發者名稱必須等於簽發者憑證的主體名稱。配對不符會產生 responder 以 unknown 回答的請求——看起來像撤銷問題,其實是呼叫端的錯,所以在這裡就先拒收。
不要求 nonce。許多憑證機構只提供預先產生的回應,遇到帶 nonce 的請求會直接拒絕;存進文件安全儲存區的回應是之後驗證,不是即時查驗
另見
FetchOCSPResponse, GetOCSPResponseStatus, GetCertificateOCSPURLs