Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/mirleft/ocaml-tls
TLS in pure OCaml
https://github.com/mirleft/ocaml-tls
mirageos ocaml security tls
Last synced: about 1 month ago
JSON representation
TLS in pure OCaml
- Host: GitHub
- URL: https://github.com/mirleft/ocaml-tls
- Owner: mirleft
- License: bsd-2-clause
- Created: 2014-02-13T22:45:01.000Z (over 10 years ago)
- Default Branch: main
- Last Pushed: 2024-09-04T08:25:45.000Z (2 months ago)
- Last Synced: 2024-09-29T06:41:08.286Z (about 2 months ago)
- Topics: mirageos, ocaml, security, tls
- Language: OCaml
- Homepage:
- Size: 5.21 MB
- Stars: 304
- Watchers: 26
- Forks: 68
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGES.md
- License: LICENSE.md
Awesome Lists containing this project
- awesome-list - ocaml-tls
README
## TLS - Transport Layer Security purely in OCaml
%%VERSION%%
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 [further](https://nqsb.io) and our [Usenix Security 2015 paper](https://www.usenix.org/conference/usenixsecurity15/technical-sessions/presentation/kaloper-mersinjak).
## Documentation
[API documentation](https://mirleft.github.io/ocaml-tls/doc)
## Installation
`opam install tls` will install this library.
You can also build this locally by conducting the steps:
```bash
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
```