Module X509_async.Certificate

val decode_pkcs1_digest_info : string -> ([ `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ] * string, [> `Msg of string ]) Stdlib.result
val encode_pkcs1_digest_info : ([ `MD5 | `SHA1 | `SHA224 | `SHA256 | `SHA384 | `SHA512 ] * string) -> string
type t = X509.Certificate.t
val pp : t Fmt.t
val encode_der : t -> string
val fold_decode_pem_multiple : ('a -> (t, [> `Msg of string ]) Stdlib.result -> 'a) -> 'a -> string -> 'a
val encode_pem_multiple : t list -> string
val encode_pem : t -> string
val supports_keytype : t -> X509.Key_type.t -> bool
val public_key : t -> X509.Public_key.t
val signature_algorithm : t -> (X509.Key_type.signature_scheme * Digestif.hash') option
val hostnames : t -> X509.Host.Set.t
val supports_hostname : t -> [ `host ] Domain_name.t -> bool
val ips : t -> Ipaddr.Set.t
val supports_ip : t -> Ipaddr.t -> bool
val fingerprint : Digestif.hash' -> t -> string
val subject : t -> X509.Distinguished_name.t
val issuer : t -> X509.Distinguished_name.t
val serial : t -> string
val validity : t -> Ptime.t * Ptime.t
val extensions : t -> X509.Extension.t
val decode_pem_multiple : contents:string -> t list Core.Or_error.t
val decode_pem : contents:string -> t Core.Or_error.t
val decode_der : contents:string -> t Core.Or_error.t
val of_pem_file : Core.Filename.t -> t list Async.Deferred.Or_error.t
val of_pem_directory : directory:Core.Filename.t -> t list Async.Deferred.Or_error.t