package ssh-agent

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type
type ssh_dss = Nocrypto.Dsa.pub
val sexp_of_ssh_dss : ssh_dss -> Sexplib0.Sexp.t
type ssh_rsa = Nocrypto.Rsa.pub
val sexp_of_ssh_rsa : ssh_rsa -> Sexplib0.Sexp.t
type options = (string * string) list

options is a list of pairs of options used in critical_options and * extensions. The first element is the name of the option, and the second * is the option's data. * * The data seems to be always encoded as a ssh wire string inside this * string. The empty string would thus be "no data".

val sexp_of_options : options -> Sexplib0.Sexp.t
type ssh_rsa_cert_tbs = {
  1. nonce : string;
    (*

    CA-provided random bitstring.

    *)
  2. pubkey : ssh_rsa;
    (*

    The public key this certificate is valid for.

    *)
  3. serial : int64;
    (*

    Optional serial number set by the CA. Set to zero if unused.

    *)
  4. typ : Ssh_agent__.Protocol_number.ssh_cert_type;
    (*

    Whether this is a host key certificate or a user key certificate.

    *)
  5. key_id : string;
    (*

    Free-form text filled by the CA. Used to help identify the identity * principal.

    *)
  6. valid_principals : string list;
    (*

    valid_principals's semantics depends on the value of typ. * For Ssh_cert_type_user it's the valid usernames, while for * Ssh_cert_type_host it's the valid hostnames.

    *)
  7. valid_after : int64;
    (*

    valid_after defines when the certificate is valid from. It's * represented as seconds since epoch.

    *)
  8. valid_before : int64;
    (*

    valid_before defines when the certificate becomes invalid. It's * represented as seconds since epoch.

    *)
  9. critical_options : options;
    (*

    Critical extensions. Must be sorted lexicographically.

    *)
  10. extensions : options;
    (*

    Non-critical extensions. Must be sorted lexicographically.

    *)
  11. reserved : string;
    (*

    reserved is always empty currently according to the specification

    *)
  12. signature_key : t;
    (*

    Public key used for signing the signature

    *)
}
and ssh_rsa_cert = {
  1. to_be_signed : ssh_rsa_cert_tbs;
    (*

    The data that is signed

    *)
  2. signature : string;
    (*

    Signature of the serialized other fields

    *)
}
and t =
  1. | Ssh_dss of ssh_dss
  2. | Ssh_rsa of ssh_rsa
  3. | Ssh_rsa_cert of ssh_rsa_cert
  4. | Blob of {
    1. key_type : string;
    2. key_blob : string;
    }
    (*

    Blob is an unknown ssh wire string-unwrapped public key of type * key_type.

    *)
val sexp_of_ssh_rsa_cert_tbs : ssh_rsa_cert_tbs -> Sexplib0.Sexp.t
val sexp_of_ssh_rsa_cert : ssh_rsa_cert -> Sexplib0.Sexp.t
val sexp_of_t : t -> Sexplib0.Sexp.t
OCaml

Innovation. Community. Security.