OCSP.ResponseModule for encoding and decoding OCSP responses.
type for OCSPResponseStatus
val pp_status : status Fmt.tpp_status ppf status pretty prints status
type for CertStatus
val pp_cert_status : cert_status Fmt.tpp_cert_status ppf status pretty prints cert status
val create_single_response :
?next_update:Ptime.t ->
?single_extensions:Extension.t ->
cert_id ->
cert_status ->
Ptime.t ->
single_responsecreate_single_response ~next_update ~single_extension cert_id
cert_status this_update creates response info for one cert, this_update should be current time.
val pp_single_response : single_response Fmt.tpp_single_response ppf response pretty prints single response
val single_response_cert_id : single_response -> cert_idsingle_response_cert_id response is cert_id in this single response
val single_response_status : single_response -> cert_statussingle_response_cert_id response is cert_status in this single response
type for ResponderID
val create_responder_id : Public_key.t -> responder_idcreate_responder_id pubkey creates responderID identified by this key. Note: octets here contains SHA1 hash of public key, not itself.
val pp_responder_id : responder_id Fmt.tpp_responder_id ppf responderID pretty prints responderID
val create_success :
?digest:Digestif.hash' ->
?certs:Certificate.t list ->
?response_extensions:Extension.t ->
Private_key.t ->
responder_id ->
Ptime.t ->
single_response list ->
(t, [> `Msg of string ]) Stdlib.resultcreate_success ~digest ~certs ~response_extensions priv_key
responderID producedAt responses creates response and signs it with priv_key. producedAt should be current timestamp.
val create :
[ `MalformedRequest
| `InternalError
| `TryLater
| `SigRequired
| `Unauthorized ] ->
tcreate status creates error response. Successful status is not allowed here because it requires responseBytes.
val pp : t Fmt.tpp ppf response pretty prints response
val responder_id : t -> (responder_id, [> `Msg of string ]) Stdlib.resultresponder_id request is responder id from response
val responses : t -> (single_response list, [> `Msg of string ]) Stdlib.resultresponses response is a list of responses (status per certificate).
val decode_der : string -> (t, Asn.error) Stdlib.resultdecode_der buffer decodes response in buffer
val encode_der : t -> stringencode_der request encodes response into buffer
val validate :
t ->
?allowed_hashes:Digestif.hash' list ->
?now:Ptime.t ->
Public_key.t ->
(unit, [> Validation.signature_error | `No_signature | `Time_invalid ])
Stdlib.resultvalidate response key validates the signature of response with the pulic key.