package key-parsers

  1. Overview
  2. Docs

Description

This library provides parsers for several encodings of RSA, DSA, Diffie-Hellman or Elliptic curve public and private keys.

Published: 03 Sep 2018

README

README.md

Key-parsers

Key-parsers offers parsers and printers for various asymmetric key formats.

It currently comes with three submodules.

Asn1

Note that all the parsers in this module expect the raw DER encoded byte string. They don't handle PEM armoring (----BEGIN X---- and ----END X----) nor decode Base64 or hex.

Here you can find parsers for the following formats:

  • PKCS#1 encoding of RSA Private and Public keys as defined in PKCS#1 v2.2

  • PKCS#8 encoding of RSA, DSA, EC and DH Private keys as defined in RFC5208

  • X509 SubjectPublicKeyInfo encoding of RSA, DSA, EC and DH Public keys as defined in RFC5280

  • DER encodings of DSA, EC and DH Parameters and Private keys as produced by openssl commands such as dsaparam and gendsa

Ltpa

Parsers for LTPA (Ligthweight Third Party Authentication) encodings of RSA Private and Public keys.

Cvc

Parsers for CVC (Card Verifiable Certificates) encodings of RSA and EC Public keys.

Dependencies (10)

  1. cstruct >= "1.6.0" & < "6.0.0"
  2. ppx_bin_prot
  3. result >= "1.2"
  4. zarith >= "1.4.1"
  5. asn1-combinators >= "0.2.0" & < "0.3.0"
  6. hex >= "1.0.0"
  7. ppx_deriving_yojson >= "3.2" & < "4.0"
  8. ppx_deriving >= "4.2" & < "5.0"
  9. dune
  10. ocaml >= "4.04.1" & < "4.07.0"

Dev Dependencies (1)

  1. ounit with-test & >= "2.0.0"

Used by (1)

  1. pkcs11 < "0.10.0"

Conflicts (2)

  1. yojson >= "2.0.0"
  2. ppx_driver = "v0.9.1"