Commit message (Collapse) | Author | Age | |
---|---|---|---|
* | Formatting pass | Benjamin Barenblat | 2018-04-28 |
| | | | | | | I don’t always like the output hindent gives, so reformat the project to be a bit closer to what you see in published Haskell books and the like. | ||
* | Switch to c2hs | Benjamin Barenblat | 2018-04-28 |
| | | | | | | | | | | Let the computer figure out its own types for most foreign imports. Continue using the vanilla FFI for finalizers, though, as that’s the easiest way to deal with function pointers. Reuse the build hook from gtk2hs-buildtools to work around Cabal’s inability to topologically sort .chs dependencies (https://github.com/haskell/cabal/issues/1906). | ||
* | Apply Apache License | Benjamin Barenblat | 2018-03-28 |
| | |||
* | Begin writing btls, a Haskell crypto and TLS library using BoringSSL | Benjamin Barenblat | 2017-12-30 |
So far, btls provides SHA-224, SHA-256, SHA-384, and SHA-512 algorithms. To do that, I - vendor BoringSSL and create a custom `Setup.hs` to build it, - wrap a number of functions and values from BoringSSL's EVP subsystem, and - implement the four SHA-2 algorithms using the wrapped routines. I provide conformance tests incorporating the official NIST example vectors and the vectors used in the Go SHA-2 test suite. The tests also use SmallCheck to compare btls’s SHA-2 implementations with those provided by the system’s Coreutils and openssl(1) installations. |