Commit message (Collapse) | Author | Age | Files | Lines | |
---|---|---|---|---|---|
* | gmp: Support of SHA-3 RSA signatures | Andreas Steffen | 2016-09-22 | 3 | -20/+20 |
| | |||||
* | Fixed some typos, courtesy of codespell | Tobias Brunner | 2016-07-04 | 1 | -1/+1 |
| | |||||
* | openssl: Update GCM/crypter API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -13/+13 |
| | |||||
* | openssl: Update HMAC API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -9/+25 |
| | |||||
* | openssl: Don't use deprecated RAND_pseudo_bytes() | Tobias Brunner | 2016-06-29 | 1 | -7/+0 |
| | |||||
* | openssl: Update PKCS#12 API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -1/+5 |
| | |||||
* | openssl: Update PKCS#7 API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -3/+7 |
| | |||||
* | openssl: Update CRL API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -7/+42 |
| | | | | | | There is currently no way to compare the outer and inner algorithms encoded in a parsed CRL. X509_CRL_verify() does not seem to check that either, though (unlike X509_verify()). | ||||
* | openssl: Update x509 API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -12/+48 |
| | |||||
* | openssl: Update ECDSA API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 2 | -5/+24 |
| | |||||
* | openssl: Update RSA API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 2 | -16/+52 |
| | |||||
* | openssl: Make some utilities take const BIGNUM pointers | Tobias Brunner | 2016-06-29 | 2 | -4/+6 |
| | |||||
* | openssl: Add macro to define fallback functions for non-opaque OpenSSL versions | Tobias Brunner | 2016-06-29 | 1 | -0/+38 |
| | |||||
* | openssl: Update DH API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -11/+41 |
| | |||||
* | openssl: Update crypter API to OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -12/+17 |
| | | | | | EVP_CIPHER and EVP_CIPHER_CTX are now opaque types, the getters already existed before. | ||||
* | openssl: Fix mapping from ASN1 to chunk_t with OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -1/+7 |
| | | | | ASN1_OBJECT is now opaque. | ||||
* | openssl: Update initialization and cleanup for OpenSSL 1.1.0 | Tobias Brunner | 2016-06-29 | 1 | -7/+17 |
| | | | | | | We can't call OPENSSL_cleanup() as that would prevent us from re-initializing the library again (which we use in the Android app, that loads/unloads plugins). | ||||
* | openssl: OpenSSL 1.1.0 is thread-safe so we don't have to setup callbacks | Tobias Brunner | 2016-06-29 | 1 | -0/+13 |
| | |||||
* | android: Use non-aliased cipher identifiers | Tobias Brunner | 2016-06-13 | 1 | -12/+12 |
| | | | | | | Some of these are also understood by BoringSSL. Fixes #1510. | ||||
* | openssl: BoringSSL does not support configuration | Tobias Brunner | 2016-04-15 | 1 | -0/+4 |
| | | | | | The other initialization functions are still defined but many are apparently no-ops (this is also true for the threading initialization). | ||||
* | openssl: The member storing the DH exponent length has been renamed in BoringSSL | Tobias Brunner | 2016-04-15 | 1 | -0/+4 |
| | |||||
* | openssl: Use proper EVP macro to determine size of a hash | Tobias Brunner | 2016-04-15 | 2 | -2/+2 |
| | |||||
* | Use standard unsigned integer types | Andreas Steffen | 2016-03-24 | 5 | -6/+6 |
| | |||||
* | 128 bit default security strength for IKE and ESP algorithms | Andreas Steffen | 2015-12-17 | 1 | -19/+19 |
| | | | | | | | | | | | | | | | | | The default ESP cipher suite is now AES_CBC-128/HMAC_SHA2_256_128 and requires SHA-2 HMAC support in the Linux kernel (correctly implemented since 2.6.33). The default IKE cipher suite is now AES_CBC-128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/ECP_256 if the openssl plugin is loaded or AES_CBC-128/HMAC_SHA2_256_128/PRF_HMAC_SHA2_256/MODP_3072 if ECC is not available. The use of the SHA-1 hash algorithm and the MODP_2048 DH group has been deprecated and ENCR_CHACHA20_POLY1305 has been added to the default IKE AEAD algorithms. | ||||
* | 128 bit default security strength requires 3072 bit prime DH group | Andreas Steffen | 2015-12-14 | 1 | -4/+4 |
| | |||||
* | openssl: Explicitly include openssl/bn.h | Tobias Brunner | 2015-09-16 | 5 | -0/+5 |
| | | | | | | | | If OpenSSL is compiled with OPENSSL_NO_DEPRECATED some of the headers we include don't include openssl/bn.h anymore. Therefore, we have to explicitly include it ourselves where we use BN_* functions. Fixes #1113. | ||||
* | openssl: Don't refer to EVP_des_ecb() if OpenSSL is built without DES support | Tobias Brunner | 2015-04-17 | 1 | -0/+2 |
| | | | | | | While DES-ECB is not registered by the plugin in this case (so the function will never actually be called), the compiler still warns about the implicitly declared function. | ||||
* | openssl: Support setting ECDH private values | Martin Willi | 2015-04-15 | 1 | -0/+44 |
| | |||||
* | openssl: Support setting private Diffie-Hellman values | Martin Willi | 2015-04-15 | 1 | -0/+13 |
| | |||||
* | utils: Use chunk_equals_const() for all cryptographic purposes | Martin Willi | 2015-04-14 | 2 | -2/+2 |
| | |||||
* | openssl: Don't pre-initialize OpenSSL HMAC with an empty key | Martin Willi | 2015-04-13 | 1 | -6/+16 |
| | | | | | | | | | | With OpenSSL commit 929b0d70c19f60227f89fac63f22a21f21950823 setting an empty key fails if no previous key has been set on that HMAC. In 9138f49e we explicitly added the check we remove now, as HMAC_Update() might crash if HMAC_Init_ex() has not been called yet. To avoid that, we set and check a flag locally to let any get_mac() call fail if set_key() has not yet been called. | ||||
* | diffie-hellman: Verify public DH values in backends | Martin Willi | 2015-03-23 | 2 | -0/+10 |
| | |||||
* | diffie-hellman: Add a bool return value to set_other_public_value() | Martin Willi | 2015-03-23 | 2 | -5/+7 |
| | |||||
* | diffie-hellman: Add a bool return value to get_my_public_value() | Martin Willi | 2015-03-23 | 2 | -2/+4 |
| | |||||
* | diffie-hellman: Use bool instead of status_t as get_shared_secret() return value | Martin Willi | 2015-03-23 | 2 | -6/+6 |
| | | | | | While such a change is not unproblematic, keeping status_t makes the API inconsistent once we introduce return values for the public value operations. | ||||
* | openssl: Return the proper IV length for OpenSSL crypters | Tobias Brunner | 2015-02-23 | 1 | -1/+1 |
| | | | | | | | For instance, the NULL cipher has a block size of 1 but an IV length of 0. Fixes #854. | ||||
* | crypto: Define MODP_CUSTOM outside of IKE DH range | Tobias Brunner | 2014-12-23 | 2 | -2/+2 |
| | | | | | | | | | Before this fix it was possible to crash charon with an IKE_SA_INIT message containing a KE payload with DH group MODP_CUSTOM(1025). Defining MODP_CUSTOM outside of the two byte IKE DH identifier range prevents it from getting negotiated. Fixes CVE-2014-9221. | ||||
* | curl: For SSL features, depend on thread-safety provided by our crypto plugins | Martin Willi | 2014-09-24 | 1 | -0/+2 |
| | | | | | | | | | To use SSL in curl, we need to initialize the SSL library in a thread-safe manner and provide the appropriate callbacks. As we already do that in our crypto plugins using these libraries, we depend on these features. This implies that we need the same plugin enabled (openssl, gcrypt) as the curl backend is configured to use to fetch from HTTPS URIs. | ||||
* | openssl: Report correct key length for EC keys when not using NIST curves | Tobias Brunner | 2014-09-02 | 2 | -22/+2 |
| | | | | Fixes #688. | ||||
* | openssl: Don't re-enter FIPS mode if we are already using it | Martin Willi | 2014-06-04 | 1 | -2/+3 |
| | | | | | | If FIPS mode has been enabled by other means, under some environments it can't be entered again. It fails with "FIPS mode already set". To avoid it, we first check the mode before changing it. | ||||
* | openssl: Be less verbose about FIPS mode when not running as daemon | Martin Willi | 2014-06-04 | 1 | -2/+2 |
| | | | | | While this is valuable information, printing it for pki and other tools is annoying. | ||||
* | openssl: Fix includes to prevent <winsock2.h> to complain about include order | Martin Willi | 2014-06-04 | 2 | -6/+8 |
| | |||||
* | openssl: Undef OpenSSLs X509_NAME defined by <wincrypt.h> | Martin Willi | 2014-06-04 | 1 | -0/+6 |
| | |||||
* | openssl: Check and link against libeay32 instead of libcrypto on Windows | Martin Willi | 2014-06-04 | 1 | -1/+1 |
| | | | | Most Windows OpenSSL builds come with the crypto library named libeay32. | ||||
* | plugins: Don't link with -rdynamic on Windows | Martin Willi | 2014-06-04 | 1 | -1/+1 |
| | |||||
* | aead: Support custom AEAD salt sizes | Martin Willi | 2014-03-31 | 2 | -2/+12 |
| | | | | | | | | | The salt, or often called implicit nonce, varies between AEAD algorithms and their use in protocols. For IKE and ESP, GCM uses 4 bytes, while CCM uses 3 bytes. With TLS, however, AEAD mode uses 4 bytes for both GCM and CCM. Our GCM backends currently support 4 bytes and CCM 3 bytes only. This is fine until we go for CCM mode support in TLS, which requires 4 byte nonces. | ||||
* | openssl: Add default fallback when calculating fingerprints of RSA keys | Tobias Brunner | 2014-03-22 | 1 | -1/+15 |
| | | | | | | We still try to calculate these directly as it can avoid a dependency on the pkcs1 or other plugins. But for e.g. PGPv3 keys we need to delegate the actual fingerprint calculation to the pgp plugin. | ||||
* | lib: All settings use configured namespace | Tobias Brunner | 2014-02-12 | 5 | -5/+5 |
| | |||||
* | openssl: Verify that a peer's ECDH public value is a point on the elliptic curve | Tobias Brunner | 2013-11-19 | 1 | -0/+5 |
| | | | | | This check is mandated by RFC 6989. Since we don't reuse DH secrets, it is mostly a sanity check. | ||||
* | openssl: Add workaround if ECC Brainpool curves are not defined | Tobias Brunner | 2013-10-17 | 1 | -11/+247 |
| |