mte/unikernel/duniverse/ocaml-tls/async/x509_async.mli

232 lines
5.1 KiB
OCaml
Raw Normal View History

2025-11-11 02:07:51 +01:00
open! Core
open! Async
include module type of struct
include X509
end
module Authenticator : sig
include module type of struct
include Authenticator
end
module Param : sig
type t
val ca_file
: ?allowed_hashes:Digestif.hash' list
-> ?crls:Filename.t
-> Filename.t
-> unit
-> t
val ca_dir
: ?allowed_hashes:Digestif.hash' list
-> ?crls:Filename.t
-> Filename.t
-> unit
-> t
(** The fingerprint can be collected from a browser or by invoking an openssl command
like 'openssl x509 -in <pem_file> -noout -fingerprint -sha256' *)
val cert_fingerprint
: Digestif.hash'
-> string
-> t
(** The fingerprint can be collected from a browser or by invoking an openssl command
like 'openssl x509 -in <pem_file> -noout -pubkey | openssl pkey -pubin -outform DER | openssl dgst -sha256' *)
val key_fingerprint
: Digestif.hash'
-> string
-> t
(** Async programs often don't use [Ptime_clock], so this is provided as a convenience
function. Relies on [Unix.gettimeofday]. *)
val time : unit -> Ptime.t option
val to_authenticator
: time:(unit -> Ptime.t option)
-> t
-> Authenticator.t Deferred.Or_error.t
end
end
module Private_key : sig
include module type of struct
include Private_key
end
val sign
: Digestif.hash'
-> ?scheme:Key_type.signature_scheme
-> t
-> [ `Digest of string | `Message of string ]
-> string Or_error.t
val decode_der : contents:string -> t Or_error.t
val decode_pem : contents:string -> t Or_error.t
val of_pem_file : Filename.t -> t Deferred.Or_error.t
end
module Public_key : sig
include module type of struct
include Public_key
end
val verify
: Digestif.hash'
-> ?scheme:Key_type.signature_scheme
-> signature:string
-> t
-> [ `Digest of string | `Message of string ]
-> unit Or_error.t
val decode_der : contents:string -> t Or_error.t
val decode_pem : contents:string -> t Or_error.t
end
module Certificate : sig
include module type of struct
include Certificate
end
val decode_pem_multiple : contents:string -> t list Or_error.t
val decode_pem : contents:string -> t Or_error.t
val decode_der : contents:string -> t Or_error.t
val of_pem_file : Filename.t -> t list Deferred.Or_error.t
val of_pem_directory : directory:Filename.t -> t list Deferred.Or_error.t
end
module Distinguished_name : sig
include module type of struct
include Distinguished_name
end
val decode_der : contents:string -> t Or_error.t
end
module CRL : sig
include module type of struct
include CRL
end
val decode_der : contents:string -> t Or_error.t
val revoke
: ?digest:Digestif.hash'
-> issuer:Distinguished_name.t
-> this_update:Ptime.t
-> ?next_update:Ptime.t
-> ?extensions:Extension.t
-> revoked_cert list
-> Private_key.t
-> t Or_error.t
val revoke_certificate
: revoked_cert
-> this_update:Ptime.t
-> ?next_update:Ptime.t
-> t
-> Private_key.t
-> t Or_error.t
val revoke_certificates
: revoked_cert list
-> this_update:Ptime.t
-> ?next_update:Ptime.t
-> t
-> Private_key.t
-> t Or_error.t
val of_pem_dir : directory:Filename.t -> t list Deferred.Or_error.t
end
module OCSP : sig
include module type of struct
include OCSP
end
module Request : sig
include module type of struct
include Request
end
val create
: ?certs:Certificate.t list
-> ?digest:Digestif.hash'
-> ?requestor_name:General_name.b
-> ?key:Private_key.t
-> cert_id list
-> t Or_error.t
val decode_der : contents:string -> t Or_error.t
end
module Response : sig
include module type of struct
include Response
end
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 Or_error.t
val responses : t -> single_response list Or_error.t
val decode_der : contents:string -> t Or_error.t
end
end
module PKCS12 : sig
include module type of struct
include PKCS12
end
val decode_der : contents:string -> t Or_error.t
val verify
: string
-> t
-> [ `Certificate of Certificate.t
| `Crl of CRL.t
| `Decrypted_private_key of Private_key.t
| `Private_key of Private_key.t
]
list
Or_error.t
end
module Signing_request : sig
include module type of struct
include Signing_request
end
val decode_der : ?allowed_hashes:Digestif.hash' list -> string -> t Or_error.t
val decode_pem : string -> t Or_error.t
val create
: Distinguished_name.t
-> ?digest:Digestif.hash'
-> ?extensions:Ext.t
-> Private_key.t
-> t Or_error.t
val sign
: ?allowed_hashes:Digestif.hash' list
-> ?digest:Digestif.hash'
-> ?serial:string
-> ?extensions:Extension.t
-> t
-> Private_key.t
-> Distinguished_name.t
-> valid_from:Ptime.t
-> valid_until:Ptime.t
-> Certificate.t Or_error.t
end