version: "2.0.3"
opam-version: "2.0"
homepage:     "https://github.com/mirleft/ocaml-tls"
dev-repo:     "git+https://github.com/mirleft/ocaml-tls.git"
bug-reports:  "https://github.com/mirleft/ocaml-tls/issues"
doc:          "https://mirleft.github.io/ocaml-tls/doc"
author:       ["David Kaloper <david@numm.org>" "Hannes Mehnert <hannes@mehnert.org>"]
maintainer:   ["Hannes Mehnert <hannes@mehnert.org>" "David Kaloper <david@numm.org>"]
license:      "BSD-2-Clause"

build: [
  ["dune" "subst"] {dev}
  ["dune" "build" "-p" name "-j" jobs]
  ["dune" "runtest" "-p" name "-j" jobs] {with-test}
]

depends: [
  "ocaml" {>= "4.13.0"}
  "dune" {>= "3.0"}
  "mirage-crypto" {>= "1.1.0"}
  "mirage-crypto-ec" {>= "1.0.0"}
  "mirage-crypto-pk" {>= "1.0.0"}
  "mirage-crypto-rng" {>= "1.2.0"}
  "x509" {>= "1.0.0"}
  "domain-name" {>= "0.3.0"}
  "fmt" {>= "0.8.7"}
  "ounit2" {with-test & >= "2.2.0"}
  "kdf" {>= "1.0.0"}
  "logs"
  "ipaddr"
  "ohex" {>= "0.2.0"}
  "digestif" {>= "1.2.0"}
  "ptime" {>= "1.2.0"}
  "alcotest" {with-test}
  "cmdliner" {with-test & >= "1.3.0"}
]
conflicts: [ "result" {< "1.5"} ]
tags: [ "org:mirage"]
synopsis: "Transport Layer Security purely in OCaml"
description: """
Transport Layer Security (TLS) is probably the most widely deployed security
protocol on the Internet. It provides communication privacy to prevent
eavesdropping, tampering, and message forgery. Furthermore, it optionally
provides authentication of the involved endpoints. TLS is commonly deployed for
securing web services ([HTTPS](http://tools.ietf.org/html/rfc2818)), emails,
virtual private networks, and wireless networks.

TLS uses asymmetric cryptography to exchange a symmetric key, and optionally
authenticate (using X.509) either or both endpoints. It provides algorithmic
agility, which means that the key exchange method, symmetric encryption
algorithm, and hash algorithm are negotiated.

Read our [Usenix Security 2015 paper](https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/kaloper-mersinjak).
"""
available: [ arch != "arm32" ] # see SIGBUS failures at https://github.com/ocaml/opam-repository/pull/26387
x-maintenance-intent: [ "(latest)" ]