Tobias Brunner
e2abe7ae97
openssl: Update initialization and cleanup for OpenSSL 1.1.0
...
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).
2016-06-29 11:09:36 +02:00
Tobias Brunner
a6c43a8d8a
openssl: OpenSSL 1.1.0 is thread-safe so we don't have to setup callbacks
2016-06-29 11:09:36 +02:00
Tobias Brunner
47a46be597
openssl: BoringSSL does not support configuration
...
The other initialization functions are still defined but many are
apparently no-ops (this is also true for the threading initialization).
2016-04-15 10:32:53 +02:00
Andreas Steffen
a78e1c3b11
128 bit default security strength for IKE and ESP algorithms
...
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.
2015-12-17 17:49:48 +01:00
Andreas Steffen
5e2b740a00
128 bit default security strength requires 3072 bit prime DH group
2015-12-14 10:39:40 +01:00
Martin Willi
a336aefa89
curl: For SSL features, depend on thread-safety provided by our crypto plugins
...
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.
2014-09-24 17:35:16 +02:00
Martin Willi
d34d800c6c
openssl: Don't re-enter FIPS mode if we are already using it
...
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.
2014-06-04 15:53:11 +02:00
Martin Willi
93168c5f1d
openssl: Be less verbose about FIPS mode when not running as daemon
...
While this is valuable information, printing it for pki and other tools is
annoying.
2014-06-04 15:53:09 +02:00
Martin Willi
06c33ebf6a
openssl: Fix includes to prevent <winsock2.h> to complain about include order
2014-06-04 15:53:03 +02:00
Tobias Brunner
8dc6e71632
lib: All settings use configured namespace
2014-02-12 14:34:32 +01:00
Tobias Brunner
3c29d2822f
openssl: Add support for ECC Brainpool curves for DH, if defined by OpenSSL
...
OpenSSL does not include them in releases before 1.0.2.
2013-10-17 13:36:08 +02:00
Tobias Brunner
e2c9a03d15
Remove HASH_PREFERRED, usages are replaced with HASH_SHA1, which is required for IKEv2 anyway
2013-10-11 15:13:25 +02:00
Tobias Brunner
c8f34ba7b6
openssl: Properly log FIPS mode when enabled via openssl.conf
...
Enabling FIPS mode twice will fail, so if it is enabled in openssl.conf
it should be disabled in strongswan.conf (or the other way around).
Either way, we should log whether FIPS mode is enabled or not.
References #412 .
2013-09-27 09:24:03 +02:00
Tobias Brunner
bd538e8c4a
openssl: Only warn about unavailable FIPS mode if the user requested it
2013-05-08 15:23:14 +02:00
Tobias Brunner
904390e887
openssl: Cleanup thread specific error buffer
2013-05-08 15:02:40 +02:00
Tobias Brunner
3ee2af97bf
openssl: Don't use deprecated CRYPTO_set_id_callback() with OpenSSL >= 1.0.0
2013-05-08 15:02:40 +02:00
Tobias Brunner
780900ab0e
openssl: Add PKCS#12 parsing via OpenSSL
2013-05-08 15:02:40 +02:00
Tobias Brunner
651d5ab8e7
openssl: Properly cleanup OpenSSL library
2013-05-08 15:02:40 +02:00
Tobias Brunner
1f2a34d6d8
Add support for untruncated HMAC-SHA-512
2013-05-08 15:02:39 +02:00
Tobias Brunner
2d7b55bf9b
openssl: Define a default for FIPS_MODE
2013-05-03 15:11:19 +02:00
Andreas Steffen
f4de6496a2
support of OpenSSL FIPS-140-2 library
2013-04-16 12:37:04 +02:00
Tobias Brunner
4c969f7906
openssl: The EVP GCM interface requires at least OpenSSL 1.0.1
2013-03-01 16:57:45 +01:00
Tobias Brunner
81f9cd39fd
openssl: Provide AES-GCM implementation
2013-02-28 18:17:42 +01:00
Tobias Brunner
0d237763dc
openssl: Disable PKCS#7/CMS when building against OpenSSL < 0.9.8g
...
Fixes #292 .
2013-02-20 18:34:54 +01:00
Martin Willi
568ad938d1
Add a stub for OpenSSL PKCS#7 parsing
2012-12-19 10:32:08 +01:00
Tobias Brunner
f05b427265
Moved debug.[ch] to utils folder
2012-10-24 16:00:51 +02:00
Tobias Brunner
3570c43968
openssl: Fix registration of the PUBKEY builder
...
libtls drops support for RSA suites if it does not find an RSA backend
(final builder for RSA public keys).
2012-08-18 17:49:57 +02:00
Tobias Brunner
99dc3d2c15
Check rng return value when seeding OpenSSL RNG
2012-07-16 14:53:36 +02:00
Tobias Brunner
901dbc1077
openssl: Ensure the thread ID is never zero
...
This might otherwise cause problems because OpenSSL tries to lock
mutexes recursively if it assumes the lock is held by a different
thread e.g. during FIPS initialization.
2012-07-03 12:02:57 +02:00
Tobias Brunner
73d032e412
Use simple wrappers for HMAC based PRF and signer in openssl plugin
2012-06-25 16:35:06 +02:00
Aleksandr Grinberg
54081897cf
Adding OpenSSL HMAC signer functions to openssl plugin
2012-06-25 16:35:05 +02:00
Aleksandr Grinberg
0504b0a09f
Adding OpenSSL HMAC pseudo random functions to openssl plugin
2012-06-25 16:35:05 +02:00
Aleksandr Grinberg
4faece7b1e
Adding OpenSSL random number functions to openssl plugin
2012-06-25 16:35:05 +02:00
Martin Willi
0c7af2ce27
Certificate decoding soft-depends on public key decoding of specific types
2012-05-02 14:05:52 +02:00
Martin Willi
f5c574e17b
Fixed AES key length in openssl plugin
2011-10-14 10:05:47 +02:00
Martin Willi
02572b84f9
Announce openssl features only if actually supported
2011-10-14 10:05:46 +02:00
Martin Willi
9dc54fc56a
Add features support to openssl plugin
2011-10-14 10:05:45 +02:00
Martin Willi
c55818ebb0
Added a (not yet implemented) plugin_t method to reload plugin configuration
2011-04-15 10:07:13 +02:00
Martin Willi
787b5884aa
Added a get_name() function to plugin_t, create_plugin_enumerator enumerates over plugin_t
2011-04-15 10:07:12 +02:00
Andreas Steffen
5932f41fcc
trace back crypto algorithms to the plugins that registered them
2010-12-18 16:31:12 +01:00
Tobias Brunner
ed174fd7e2
Added missing include for RAND_seed and RAND_status.
2010-10-21 14:16:09 +02:00
Martin Willi
d987946e80
Added a final flag to builder registration to enumerate the actually supported algorithms
2010-09-03 18:09:48 +02:00
Martin Willi
42b1ac91c4
Added support for MODP_CUSTOM to openssl plugin
2010-09-03 09:33:15 +02:00
Martin Willi
ba31fe1fd6
Use a seperate section for each nested struct member in INIT macro
2010-08-18 12:15:03 +02:00
Martin Willi
4ec53e95f5
Double check that the OpenSSL RNG has been seeded, do so otherwise
2010-08-11 10:12:50 +02:00
Martin Willi
57202484e4
Migrated remaining classes in openssl plugin to INIT/METHOD macros
2010-08-10 18:46:30 +02:00
Martin Willi
3479c27931
Support module names in %smartcard specifier, streamlined smartcard building
2010-08-04 09:26:20 +02:00
Tobias Brunner
1e3d66f8d3
Fixing compilation of the OpenSSL plugin if ENGINE support is disabled.
...
That is, enable compilation if OpenSSL was configured with
OPENSSL_NO_ENGINE.
2010-06-22 11:55:34 +02:00
Tobias Brunner
5a367e99c3
Fixing compilation of the OpenSSL plugin if Elliptic Curve support is disabled.
...
That is, enable compilation if OpenSSL was configured with
OPENSSL_NO_EC.
2010-06-22 11:55:33 +02:00
Martin Willi
6d7eed9a37
Implemented X.509 CRL reading using OpenSSL
2010-05-21 16:25:51 +02:00