# Digital signatures in ocaml

**URL:** <https://discuss.ocaml.org/t/digital-signatures-in-ocaml/5659>\
**Category:** Learning\
**Tags:** encryption, cryptography, dune\
**Created:** [April 30, 2020, 7:05am UTC](https://discuss.ocaml.org/t/digital-signatures-in-ocaml/5659 "2020-04-30T07:05:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sahana123](https://avatars.discourse-cdn.com/v4/letter/s/db5fbb/32.png) [@sahana123](https://discuss.ocaml.org/u/sahana123)\
**Post date:** [April 30, 2020, 7:05am UTC](https://discuss.ocaml.org/t/digital-signatures-in-ocaml/5659/1 "2020-04-30T07:05:48Z")

</div>

Which libraries in OCaml can be used for creating digital signatures?

---

<div class="post-metadata">

**Author:** ![raphael-proust](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/raphael-proust/32/415_2.png) [@raphael-proust](https://discuss.ocaml.org/u/raphael-proust)\
**Post date:** [April 30, 2020, 8:59am UTC](https://discuss.ocaml.org/t/digital-signatures-in-ocaml/5659/2 "2020-04-30T08:59:52Z")

</div>

You can checkout `hacl` (available in opam) or better `hacl-star` and `hacl-star-raw` (which are almost released in `opam`: [https://github.com/ocaml/opam-repository/pull/16243](https://github.com/ocaml/opam-repository/pull/16243)

---

<div class="post-metadata">

**Author:** ![hannes](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ocaml.org/hannes/32/2302_2.png) [@hannes](https://discuss.ocaml.org/u/hannes)\
**Post date:** [April 30, 2020, 9:53am UTC](https://discuss.ocaml.org/t/digital-signatures-in-ocaml/5659/3 "2020-04-30T09:53:51Z")

</div>

The [mirage-crypto](https://github.com/mirage/mirage-crypto) repository provides DSA and RSA (PKCS1, PSS) signatures ([https://mirage.github.io/mirage-crypto/doc/mirage-crypto-pk/Mirage\_crypto\_pk/index.html](https://mirage.github.io/mirage-crypto/doc/mirage-crypto-pk/Mirage_crypto_pk/index.html)) - `opam install mirage-crypto-pk` (a fork of [nocrypto](https://github.com/mirleft/ocaml-nocrypto)).

The [x509](https://github.com/mirleft/ocaml-x509) uses mirage-crypto to verify and provision X.509 certificates ([https://mirleft.github.io/ocaml-x509/doc/x509/X509/Signing\_request/index.html#val-sign](https://mirleft.github.io/ocaml-x509/doc/x509/X509/Signing_request/index.html#val-sign)) `opam install x509`.
