Tobias Brunner
414f255561
unit-tests: Add RSA-PSS signature tests with specific salts
2017-11-08 16:48:10 +01:00
Tobias Brunner
37efb9787b
gcrypt: Add support for static salts when signing with RSA-PSS
2017-11-08 16:48:10 +01:00
Tobias Brunner
f241a981aa
gmp: Add support for static salts when signing with RSA-PSS
2017-11-08 16:48:10 +01:00
Tobias Brunner
c380608a89
signature-params: Optionally pass a specific salt value when signing
2017-11-08 16:48:10 +01:00
Tobias Brunner
fa7f5e2d0c
unit-tests: Warn if we skip RSA tests due to dependencies
2017-11-08 16:48:10 +01:00
Tobias Brunner
4c5dd39aa3
unit-tests: Add ability to issue a warning message for a test case
...
This way we can warn if we e.g. skipped actually doing something due to
dependencies (otherwise the test case would just appear to have succeeded).
2017-11-08 16:48:10 +01:00
Tobias Brunner
90a3bc5075
mgf1: Add support for SHA-224/384 based MGF1
2017-11-08 16:48:10 +01:00
Tobias Brunner
720a76c229
xof: Add identifiers for MGF1 XOFs based on SHA-224/384
2017-11-08 16:48:10 +01:00
Tobias Brunner
126fd8af09
gmp: Use helper to determine XOF type
2017-11-08 16:48:10 +01:00
Tobias Brunner
883e7fcd65
xof: Add helper to determine MGF1 XOF type from hash algorithm
2017-11-08 16:48:10 +01:00
Tobias Brunner
3ce8b0556a
gcrypt: Add support for RSA-PSS signatures
...
For salt lengths other than 20 this requires 0bd8137e68c2 ("cipher:
Add option to specify salt length for PSS verification."), which was
included in libgcrypt 1.7.0 (for Ubuntu requires 17.04). As that makes
it pretty much useless for us (SHA-1 is a MUST NOT), we require that version
to even provide the feature.
2017-11-08 16:48:10 +01:00
Tobias Brunner
89c3987baf
gcrypt: Register supported RSA signature/verification schemes
2017-11-08 16:48:10 +01:00
Tobias Brunner
c9a2b3b784
configure: Enable mgf1 plugin if gmp plugin is enabled
2017-11-08 16:48:10 +01:00
Tobias Brunner
7d6b81648b
gmp: Add support for RSASSA-PSS signature verification
2017-11-08 16:48:10 +01:00
Tobias Brunner
154ee7f66a
gmp: Add support for RSASSA-PSS signature creation
2017-11-08 16:48:10 +01:00
Tobias Brunner
00d161f2db
unit-tests: Add FIPS 186-4 RSASSA-PSS test vectors
...
Since not all implementations allow setting a specific salt value when
generating signatures (e.g. OpenSSL doesn't), we are often limited to
only using the test vectors with salt length of 0.
We also exclude test vectors with SHA-1, SHA-224 and SHA-384.
2017-11-08 16:48:10 +01:00
Tobias Brunner
89015dff9e
unit-tests: Create and verify some RSA PSS signatures
2017-11-08 16:48:10 +01:00
Tobias Brunner
2f95d7195d
openssl: Add support for verifying RSASSA-PSS signatures
2017-11-08 16:48:10 +01:00
Tobias Brunner
51dd2fd2db
openssl: Add support for creating RSASSA-PSS signatures
2017-11-08 16:48:10 +01:00
Tobias Brunner
5ae3f5cea8
openssl: Add helper to determine EVP_MD from hash_algorithm_t
2017-11-08 16:48:10 +01:00
Tobias Brunner
a994407d50
unit-tests: Add FIPS 186-4 RSA test vectors
...
Excluding SHA-224 and the stuff from FIPS 186-2 (SHA-1, 1024 bit keys).
2017-11-08 16:48:10 +01:00
Tobias Brunner
183a9108fb
gcrypt: Determine missing RSA private key parameters
...
We only need n, e, and d. The primes p and q and the coefficient
for the Chinese remainder algorithm can be determined from these.
2017-11-08 16:48:10 +01:00
Tobias Brunner
bd4df68a7b
gmp: Determine missing RSA private key parameters
...
We only need n, e, and d. The parameters for the Chinese remainder
algorithm and even p and q can be determined from these.
2017-11-08 16:48:10 +01:00
Tobias Brunner
03eda5a822
openssl: Add functions to determine missing RSA private key parameters
...
We only need n, e, and d. The parameters for the Chinese remainder
algorithm and even p and q can be determined from these.
2017-11-08 16:48:10 +01:00
Tobias Brunner
a22316520b
signature-params: Add functions to parse/build ASN.1 RSASSA-PSS params
2017-11-08 16:48:10 +01:00
Tobias Brunner
c2b878cd61
hasher: Add function to determine length of hashes
2017-11-08 16:48:10 +01:00
Tobias Brunner
ffd0eeecf0
asn1: Add function to generate an ASN.1 integer from an uint64_t
2017-11-08 16:48:10 +01:00
Tobias Brunner
bfe1cb3a94
asn1: Add OID for MGF1
2017-11-08 16:48:10 +01:00
Tobias Brunner
d03c5b7994
signature-params: Add struct for RSASSA-PSS parameters
2017-11-08 16:48:10 +01:00
Tobias Brunner
de280c2e03
private-key: Add optional parameters argument to sign() method
2017-11-08 16:48:10 +01:00
Tobias Brunner
a413571f3b
public-key: Add optional parameters argument to verify() method
2017-11-08 16:48:10 +01:00
Tobias Brunner
677072accc
public-key: Add RSASSA-PSS signature scheme identifier
2017-11-08 16:48:10 +01:00
Tobias Brunner
69502f5afd
asn1: Add OID for RSASSA-PSS
2017-11-08 16:48:10 +01:00
Tobias Brunner
43b59d1323
ikev2: Don't use SHA-1 for RFC 7427 signature authentication
...
RFC 8247 demoted it to MUST NOT.
References #2427 .
2017-11-08 16:47:24 +01:00
Tobias Brunner
76c58498ef
proposal: Remove MODP-1024 from default IKE proposal
...
RFC 8247 demoted it to SHOULD NOT. This might break connections with
Windows clients unless they are configured to use a stronger group or
matching weak proposals are configured explicitly on the server.
References #2427 .
2017-11-08 16:47:16 +01:00
Tobias Brunner
10da451fc3
proposal: Remove MD5 from default IKE proposal
...
RFC 8247 demoted MD5 to MUST NOT.
References #2427 .
2017-11-08 16:47:04 +01:00
Tobias Brunner
2294606aa5
proposal: Remove deprecated algorithms from default ESP and AH proposals
...
This removes algorithms that were deprecated by RFC 8221 (3DES, BF, MD5)
from the default proposals for ESP and AH.
References #8247 .
2017-11-08 16:46:51 +01:00
Martin Willi
63ffcfaa49
configure: Fix check for libtpmtss to build it only when needed
...
Testing for x$tpm always yields true, hence libtpmtss is built even if it
is unneeded. Properly test against xtrue as we do in all other tests.
2017-11-08 16:43:18 +01:00
Tobias Brunner
0a6fbe8f7e
pool: Destroy enumerator before deleting existing pool
...
The MySQL client doesn't like overlapping queries on the same
connection, so we make sure to destroy the enumerator used to check for
an existing pool before deleting it when --replace is used.
2017-11-08 16:40:14 +01:00
Tobias Brunner
88a8fba1c7
kernel-pfkey: Support anti-replay windows > 2k
...
FreeBSD 11.1 supports a new extension to configure larger anti-replay
windows, now configured as number of packets.
Fixes #2461 .
2017-11-08 16:35:38 +01:00
Tobias Brunner
21a500a092
kernel-pfkey: Don't include keys in SADB_UPDATE message to update IPs on FreeBSD
...
The FreeBSD kernel explicitly rejects messages containing keys for mature SAs.
Fixes #2457 .
2017-11-08 16:34:12 +01:00
Tobias Brunner
441d083cfb
Merge branch 'vici-counters'
...
Refactors the IKE event counters feature of the stroke plugin into a separate
plugin, which allows to publish the numbers also via vici/swanctl.
2017-11-08 16:28:49 +01:00
Tobias Brunner
052bccfac4
swanctl: Add --counters command
2017-11-08 16:28:28 +01:00
Tobias Brunner
fdf33b0f1c
vici: Add 'get|reset-counters' commands
2017-11-08 16:28:28 +01:00
Tobias Brunner
6f74b8748a
counters: Move IKE event counter collection from stroke to a separate plugin
2017-11-08 16:28:28 +01:00
Tobias Brunner
c81b87ac26
systime-fix: Add timeout option to stop waiting for valid system time
...
A certificate check is forced once the timeout is reached even if the
system time appears to be invalid.
2017-11-08 16:20:35 +01:00
Tobias Brunner
1fe71a50f1
android: Add log message if failed to retrieve user certificate encoding
2017-11-02 12:19:36 +01:00
Tobias Brunner
7fdad3bb97
testing: Fix output matching of lease time in ipsec pool utility
2017-11-02 11:32:52 +01:00
Tobias Brunner
6ebf852c3f
shunt-mananger: Make outbound FWD shunt policies optional
2017-11-02 10:47:53 +01:00
Thomas Egerer
2dad293647
ike: Do not send initial contact only for UNIQUE_NEVER
...
Signed-off-by: Thomas Egerer <thomas.egerer@secunet.com >
2017-11-02 10:17:24 +01:00