aboutsummaryrefslogtreecommitdiffstats
path: root/lib/crypto/c_src
AgeCommit message (Collapse)Author
2019-03-19Add missing cipher modes to crypto:cipher_info/1 resultLoïc Hoguin
2019-03-18Merge branch 'hans/crypto/fix_chacha20_bug/OTP-15678'Hans Nilsson
* hans/crypto/fix_chacha20_bug/OTP-15678: crypto: Disable chacha20 if OpenSSL 1.1.0-1.1.0c
2019-03-15crypto: Disable chacha20 if OpenSSL 1.1.0-1.1.0cHans Nilsson
due to a bug. The cipher first appeared in 1.1.0
2019-03-15crypto: Fix bug in error return for crypto:poly1305/2Hans Nilsson
Returned the atom notsup instead of the exception notsup.
2019-03-06Add crypto:cipher_info/1 and crypto:hash_info/1Loïc Hoguin
Also adds some more aliases that contain the key length in their name.
2019-02-27crypto: Fix FIPS modeHans Nilsson
There were some bad values returned if FIPS mode was enabled. The exclusion of algorithms were not completly correct either.
2019-02-25crypto: New experimental apiHans Nilsson
The new files api_ng.h and api_ng.c implements an api using EVP. The api is not by any mean new, except for the crypto application in Erlang/OTP. The aims at using the block api in a stream manor, that is 1) call crypto_init/4 2..N) call crypto_update/{2,3} The purpose is to simplify and hopefully optimize the SSL and SSH applications. By keeping the crypto state in C in an enif_resource the costful state copying in SSL and SSH is reduced with 1-2 per message sent or received. Changes in other files are for adaptation like FIPS etc since many functions uses the central get_cipher_type() function.
2019-02-06crypto: Disable blake2 in LibreSSL (not supported)Hans Nilsson
2019-02-06Merge pull request #2129 from hanssv/crypto/add_blake2_supportHans Nilsson
Add hash function BLAKE2 to crypto:hash/hmac OTP-15564
2019-02-04Add hash function BLAKE2 to crypto:hash/hmacHans Svensson
Adds two hash functions blake2b and blake2s (64 bit hash and 32 bit hash respectively). These are modern and standard hash functions used in blockchains and encrypted communication protocols (e.g. Noise - http://www.noiseprotocol.org/). The hash functions are available in OpenSSL since version 1.1.1. Also add test cases and mention in documentation.
2019-02-04otp_test_engine.c fixesHans Nilsson
2019-02-04crypto: Fix compilation < 1.0.0Hans Nilsson
2019-01-16Fix label s/out_err/err/ in OPENSSL_NO_EC2M case per PR commentDoug Hogan
2019-01-15When using DEBUG, avoid comparison of different signsDoug Hogan
2019-01-15Convert argc checks to ASSERTs per PRDoug Hogan
2019-01-15Make it easier to turn on debug outputDoug Hogan
2019-01-15Fix documentation and argc check for engine_ctrl_cmd_strings_nifDoug Hogan
2019-01-14Reference all of the free/release call positions in cocci fileDoug Hogan
2019-01-14Make crypto_free() NULL safeDoug Hogan
2019-01-14Add more Erlang functions that are not NULL safe to coccinelleDoug Hogan
2019-01-14Fix documentation and argc check in engine_get_first_nif()Doug Hogan
* This was documented as sending in an argument but it doesn't read argv.
2019-01-14dh_p is referenced after dh_params owns itDoug Hogan
* Need to keep a reference even though ownership was transfered to dh_params. * Also, be more conservative and return atom_error where the original code did.
2019-01-14enif_release_resource is not NULL safeDoug Hogan
* Add if checks and update coccinelle script.
2019-01-12Also include stdint for code that doesn't pull in common.hDoug Hogan
2019-01-12Add missing headerDoug Hogan
2019-01-08Add Coccinelle scripts that I used to verify API callsDoug Hogan
2019-01-08Convert put_int32 to put_uint32Doug Hogan
2019-01-08Explicitly set all of the fields in digest_typesDoug Hogan
2019-01-08Explicitly initialize all of the fields in cipher_typesDoug Hogan
2019-01-08Initialize all fields for ErlNifFunc in nif_funcsDoug Hogan
2019-01-08Revamp test_rsa_verify()Doug Hogan
2019-01-08Revamp test_rsa_sign()Doug Hogan
2019-01-08Revamp fake_flag so it's staticDoug Hogan
2019-01-08Revamp pem_passwd_cb_fun()Doug Hogan
2019-01-08Revamp test_key_load()Doug Hogan
2019-01-08Revamp CONSUME_REDS()Doug Hogan
2019-01-08Revamp bind_helper()Doug Hogan
2019-01-08Revamp test_engine_digest_selector()Doug Hogan
2019-01-08Revamp test_engine_md5_final()Doug Hogan
2019-01-08Revamp test_init()Doug Hogan
2019-01-08Revamp init_hmac_ctx()Doug Hogan
2019-01-08Revamp init_hash_ctx()Doug Hogan
2019-01-08Revamp init_engine_ctx()Doug Hogan
2019-01-08Revamp init_cipher_ctx()Doug Hogan
2019-01-08Revamp rc4_encrypt_with_state()Doug Hogan
2019-01-08Revamp privkey_to_pubkey_nif()Doug Hogan
2019-01-08Revamp pkey_crypt_nif()Doug Hogan
2019-01-08Revamp size_of_RSA()Doug Hogan
2019-01-08Revamp get_pkey_crypt_options()Doug Hogan
2019-01-08Revamp pkey_verify_nif()Doug Hogan