Plasma GitLab Archive
Projects Blog Knowledge

sig
  type oid = Netoid.t
  class type directory_name =
    object
      method eq_name : (Netx509.oid * Netasn1.Value.value) list list
      method eq_string : string
      method name : (Netx509.oid * Netasn1.Value.value) list list
      method string : string
    end
  class type x509_certificate =
    object
      method extensions : (Netx509.oid * string * bool) list
      method issuer : Netx509.directory_name
      method issuer_unique_id : Netasn1.Value.bitstring_value option
      method public_key : Netasn1.Value.bitstring_value
      method public_key_algorithm : Netx509.oid * Netasn1.Value.value option
      method serial_number : string
      method signature : Netasn1.Value.bitstring_value
      method signature_algorithm : Netx509.oid * Netasn1.Value.value option
      method subject : Netx509.directory_name
      method subject_unique_id : Netasn1.Value.bitstring_value option
      method valid_not_after : float
      method valid_not_before : float
      method version : int
    end
  module DN_attributes :
    sig
      val at_name : Netx509.oid
      val at_surname : Netx509.oid
      val at_givenName : Netx509.oid
      val at_initials : Netx509.oid
      val at_generationQualifier : Netx509.oid
      val at_commonName : Netx509.oid
      val at_localityName : Netx509.oid
      val at_stateOrProvinceName : Netx509.oid
      val at_organizationName : Netx509.oid
      val at_organizationalUnitName : Netx509.oid
      val at_title : Netx509.oid
      val at_dnQualifier : Netx509.oid
      val at_countryName : Netx509.oid
      val at_serialNumber : Netx509.oid
      val at_pseudonym : Netx509.oid
      val at_domainComponent : Netx509.oid
      val at_emailAddress : Netx509.oid
      val at_uid : Netx509.oid
      val attribute_types : (Netx509.oid * string * string list) list
      val lookup_attribute_type_by_oid : Netx509.oid -> string * string list
      val lookup_attribute_type_by_name :
        string -> Netx509.oid * string * string list
    end
  module X509_DN_string : Netdn.DN_string
  val lookup_dn_ava :
    Netx509.directory_name -> Netx509.oid -> Netasn1.Value.value
  val lookup_dn_ava_utf8 : Netx509.directory_name -> Netx509.oid -> string
  class x509_dn_from_ASN1 : Netasn1.Value.value -> directory_name
  class x509_dn_from_string : string -> directory_name
  class x509_certificate_from_ASN1 : Netasn1.Value.value -> x509_certificate
  class x509_certificate_from_DER : string -> x509_certificate
  module CE :
    sig
      val ce_authority_key_identifier : Netx509.oid
      val ce_subject_key_identifier : Netx509.oid
      val ce_key_usage : Netx509.oid
      val ce_certificate_policies : Netx509.oid
      val ce_any_policy : Netx509.oid
      val ce_policy_mappings : Netx509.oid
      val ce_subject_alt_name : Netx509.oid
      val ce_issuer_alt_name : Netx509.oid
      val ce_subject_directory_attributes : Netx509.oid
      val ce_basic_constraints : Netx509.oid
      val ce_name_constraints : Netx509.oid
      val ce_policy_constraints : Netx509.oid
      val ce_ext_key_usage : Netx509.oid
      val ce_crl_distribution_points : Netx509.oid
      val ce_inhibit_any_policy : Netx509.oid
      val ce_freshest_crl : Netx509.oid
      val ce_authority_info_access : Netx509.oid
      val ce_subject_info_access : Netx509.oid
      val certificate_extensions : (Netx509.oid * string) list
    end
  exception Extension_not_found of Netx509.oid
  val find_extension :
    Netx509.oid -> (Netx509.oid * string * bool) list -> string * bool
  val check_critical_exts :
    Netx509.oid list -> (Netx509.oid * string * bool) list -> bool
  type general_name =
      [ `DNS_name of string
      | `Directory_name of Netx509.directory_name
      | `Edi_party_name of string option * string
      | `IP_address of Unix.socket_domain * Unix.inet_addr * Unix.inet_addr
      | `Other_name of Netx509.oid * Netasn1.Value.value
      | `Registered_ID of Netx509.oid
      | `Rfc822_name of string
      | `Uniform_resource_identifier of string
      | `X400_address of Netasn1.Value.value ]
  type authority_key_identifier = {
    aki_key_identifier : string option;
    aki_authority_cert_issuer : Netx509.general_name list;
    aki_authority_cert_serial_number : string option;
  }
  val parse_authority_key_identifier :
    string -> Netx509.authority_key_identifier
  val parse_subject_key_identifier : string -> string
  type key_usage_flag =
      [ `Crl_sign
      | `Data_encipherment
      | `Decipher_only
      | `Digital_signature
      | `Encipher_only
      | `Key_agreement
      | `Key_cert_sign
      | `Key_encipherment
      | `Non_repudiation ]
  val parse_key_usage : string -> Netx509.key_usage_flag list
  val parse_subject_alt_name : string -> Netx509.general_name list
  val parse_issuer_alt_name : string -> Netx509.general_name list
  val parse_subject_directory_attributes :
    string -> (Netx509.oid * Netasn1.Value.value list) list
  val parse_basic_constraints : string -> bool * int option
  type ext_key_usage_flag =
      [ `Client_auth
      | `Code_signing
      | `Email_protection
      | `OCSP_signing
      | `Server_auth
      | `Time_stamping
      | `Unknown ]
  val parse_ext_key_usage :
    string -> (Netx509.oid * Netx509.ext_key_usage_flag) list
  module KP :
    sig
      val kp_server_auth : Netx509.oid
      val kp_client_auth : Netx509.oid
      val kp_code_signing : Netx509.oid
      val kp_email_protection : Netx509.oid
      val kp_time_stamping : Netx509.oid
      val kp_ocsp_signing : Netx509.oid
      val ext_key_purposes :
        (Netx509.oid * Netx509.ext_key_usage_flag * string) list
    end
  type authority_access_description_flag = [ `CA_issuers | `OCSP | `Unknown ]
  type subject_access_description_flag =
      [ `CA_repository | `Time_stamping | `Unknown ]
  type access_description_flag =
      [ `CA_issuers | `CA_repository | `OCSP | `Time_stamping | `Unknown ]
  val parse_authority_info_access :
    string ->
    (Netx509.oid * Netx509.authority_access_description_flag *
     Netx509.general_name)
    list
  val parse_subject_info_access :
    string ->
    (Netx509.oid * Netx509.subject_access_description_flag *
     Netx509.general_name)
    list
  module AD :
    sig
      val ad_ca_issuers : Netx509.oid
      val ad_ocsp : Netx509.oid
      val ad_ca_repository : Netx509.oid
      val ad_time_stamping : Netx509.oid
      val access_descriptions :
        (Netx509.oid * Netx509.access_description_flag * string) list
    end
  val general_name_from_ASN1 : Netasn1.Value.value -> Netx509.general_name
  val general_names_from_ASN1 :
    Netasn1.Value.value -> Netx509.general_name list
  val directory_string_from_ASN1 : Netasn1.Value.value -> string
  val attribute_from_ASN1 :
    Netasn1.Value.value -> Netx509.oid * Netasn1.Value.value list
  val attributes_from_ASN1 :
    Netasn1.Value.value -> (Netx509.oid * Netasn1.Value.value list) list
end
This web site is published by Informatikbüro Gerd Stolpmann
Powered by Caml