package x509

  1. Overview
  2. Docs

Description

X.509 is a public key infrastructure used mostly on the Internet. It consists of certificates which include public keys and identifiers, signed by an authority. Authorities must be exchanged over a second channel to establish the trust relationship. This library implements most parts of RFC5280 and RFC6125. The Public Key Cryptography Standards (PKCS) defines encoding and decoding, which is also partially implemented by this library - namely PKCS 1, PKCS 7, PKCS 8, PKCS 9 and PKCS 10.

Tags

org:mirage

Published: 02 Apr 2019

README

X.509 - Public Key Infrastructure purely in OCaml

0.6.3 X.509 is a public key infrastructure used mostly on the Internet. It consists of certificates which include public keys and identifiers, signed by an authority. Authorities must be exchanged over a second channel to establish the trust relationship. This library implements most parts of RFC5280 and RFC6125. The Public Key Cryptography Standards (PKCS) defines encoding and decoding, which is also partially implemented by this library - namely PKCS 1, PKCS 7, PKCS 8, PKCS 9 and PKCS 10.

Read further and our Usenix Security 2015 paper.

Documentation

API documentation

Installation

opam install x509 will install this library.

Dependencies (10)

  1. astring
  2. nocrypto >= "0.5.3"
  3. ptime
  4. asn1-combinators >= "0.2.0" & < "0.3.0"
  5. sexplib
  6. cstruct-sexp
  7. cstruct >= "4.0.0" & < "6.1.0"
  8. ppx_sexp_conv >= "v0.11.0"
  9. dune >= "1.2"
  10. ocaml >= "4.04.2"

Dev Dependencies (2)

  1. cstruct-unix with-test & >= "3.0.0"
  2. ounit with-test

Used by (14)

  1. calculon = "0.4"
  2. capnp-rpc-lwt = "0.3.2"
  3. caqti >= "2.1.1"
  4. castore >= "0.0.2"
  5. certify < "0.3.0"
  6. conex < "0.10.0"
  7. conex-nocrypto < "0.11.0"
  8. datakit-ci >= "0.12.4"
  9. dkim >= "0.3.0" & < "0.5.0"
  10. git-mirage >= "3.7.0" & < "3.10.0"
  11. irc-client-tls < "0.7.0"
  12. paf = "0.0.2"
  13. tls >= "0.9.0" & < "0.10.3"
  14. tlstunnel

Conflicts (1)

  1. ppx_sexp_conv = "v0.11.0"