package tls
Install
Dune Dependency
Authors
Maintainers
Sources
sha256=47e5decdd30ed1c367736458a63ae077474147b3dd675c14590b81a92d5031d4
sha512=da0765852ebaa0badab2600e77b9f602e7b68784d35845bcf44ee87639b14247abdeb08190df5882dd99aa59d534dbc5119c32994446604eb38e4c72d30c0f06
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), 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.
README
TLS - Transport Layer Security purely in OCaml
v0.17.3
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), 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 further and our Usenix Security 2015 paper.
Documentation
Installation
opam install tls
will install this library.
You can also build this locally by conducting the steps:
opam install --deps-only -t . # or a named package instead of `.` - i.e. ./tls-lwt.opam
dune build --profile=release # you can also put a package list here, i.e. tls,tls-lwt -- you can also use `@all` target to compile examples as well
Dependencies (13)
- ipaddr
- logs
-
hkdf
< "2.0.0"
-
fmt
>= "0.8.7"
-
domain-name
>= "0.3.0"
-
x509
>= "0.15.0"
-
mirage-crypto-rng
>= "0.8.0" & < "1.0.0"
-
mirage-crypto-pk
< "1.0.0"
-
mirage-crypto-ec
>= "0.10.0" & < "1.0.0"
-
mirage-crypto
>= "0.11.0" & < "1.0.0"
-
cstruct
>= "6.0.0"
-
dune
>= "3.0"
-
ocaml
>= "4.08.0"
Dev Dependencies (4)
-
randomconv
with-test & < "0.2.0"
-
alcotest
with-test
-
ounit2
with-test & >= "2.2.0"
-
cstruct-unix
with-test & >= "3.0.0"
Used by (56)
-
albatross
>= "1.5.6" & < "2.2.0"
-
aws-s3-lwt
< "3.0.0"
-
azure-cosmos-db
>= "0.1.5" & < "0.2.0"
-
calculon
< "0.5"
-
capnp-rpc-lwt
>= "0.3.1" & < "0.5.0"
-
capnp-rpc-net
< "1.1" | >= "1.2.1"
-
caqti
>= "2.1.1"
-
caqti-mirage
>= "2.1.1"
-
caqti-tls
< "2.1.2"
-
comby
< "1.7.0"
-
conduit-mirage
= "2.2.0" | >= "4.0.2" & < "7.0.0"
-
current_github
< "0.6.4"
-
current_slack
< "0.6.4"
-
datakit-ci
>= "0.12.1"
-
dkim-bin
>= "0.6.0"
-
dns-certify
< "4.4.0"
-
dns-resolver
>= "6.0.0" & < "9.0.0"
-
doculib
< "1.3.5"
-
dropbox
>= "0.2"
-
git
>= "2.0.0" & < "3.0.0"
-
git-mirage
>= "2.0.0" & < "3.0.0" | >= "3.6.0" & < "3.17.0"
-
git-paf
>= "3.5.0" & < "3.17.0"
-
git-unix
= "2.0.0" | >= "2.1.1" & < "3.0.0" | >= "3.5.0" & < "3.17.0"
-
github
>= "2.0.0" & < "3.0.0"
-
github-unix
< "3.1.0"
- gitlab-unix
-
http-lwt-client
>= "0.2.2" & < "0.3.0"
-
imaplet-lwt
>= "0.1.8" & < "0.1.10" | >= "0.1.14"
-
irc-client-tls
< "0.7.0"
-
ldp_tls
< "0.3.0"
-
letters
>= "0.3.3"
-
links
>= "0.9.6"
-
mehari
>= "0.3"
- mehari-eio
- mirror
-
mqtt
>= "0.2.2"
-
octez-node
< "16.0"
-
opam-publish
>= "0.3.5" & < "2.1.0"
-
paf
= "0.0.2" | >= "0.0.6" & < "0.6.0"
- quests
-
riot
>= "0.0.8"
-
sendmail
>= "0.4.1" & < "0.8.1"
-
sendmail-lwt
>= "0.8.0"
- sendmail-mirage
-
sihl
< "0.1.6" | >= "0.3.0~rc2"
- sihl-core
-
slacko
>= "0.13.0"
-
syndic
>= "1.5" & < "1.6.0"
-
tezos-node
!= "9.0"
-
tls-async
= "0.17.3"
-
tls-eio
= "0.17.3"
- tls-liquidsoap
-
tls-lwt
= "0.17.3"
-
tls-mirage
= "0.17.3"
-
tlstunnel
>= "0.1.3"
-
wcs-api
= "2017-05-26.02"
Conflicts (1)
-
result
< "1.5"