]>
git.ipfire.org Git - thirdparty/gnutls.git/log
Nikos Mavrogiannopoulos [Mon, 14 Sep 2015 19:32:05 +0000 (21:32 +0200)]
_gnutls_hex2bin: avoid overrun in the provided buffer
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 17:29:41 +0000 (19:29 +0200)]
certtool: don't output PKCS #8 on key-info option
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 11:57:26 +0000 (13:57 +0200)]
better error checking in seed decoding
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 11:52:30 +0000 (13:52 +0200)]
gnutls_x509_privkey_verify_seed: fail on keys without seed information
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 11:39:13 +0000 (13:39 +0200)]
certtool: on provable keys always print the legacy format
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 11:27:12 +0000 (13:27 +0200)]
Use separate PEM headers for provable private keys
Also introduce GNUTLS_PRIVKEY_FLAG_EXPORT_COMPAT to allow exporting
provable private keys in the old compatibility format.
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 09:06:39 +0000 (11:06 +0200)]
doc update
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 09:06:00 +0000 (11:06 +0200)]
certtool: provable key generation was moved to a separate flag that can be combined with --generate-privkey
Also enhanced the test suite with DSA provable key generation/verification.
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 08:57:39 +0000 (10:57 +0200)]
Allow verifying and generating provable DSA keys
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 07:51:25 +0000 (09:51 +0200)]
tests: added checks for provable key generation and verification
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 07:36:46 +0000 (09:36 +0200)]
certtool: added provable key verification
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 07:32:32 +0000 (09:32 +0200)]
Made the new key generation API flexible to allow extensions in the future
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 07:06:12 +0000 (09:06 +0200)]
Added API to verify private keys generated with seed
Nikos Mavrogiannopoulos [Sun, 13 Sep 2015 07:01:41 +0000 (09:01 +0200)]
gnutls_asn1_tab: updated auto-generated file
Nikos Mavrogiannopoulos [Sat, 12 Sep 2015 14:20:13 +0000 (16:20 +0200)]
doc update
Nikos Mavrogiannopoulos [Sat, 12 Sep 2015 14:18:10 +0000 (16:18 +0200)]
certtool: allow the generation of "provable" private keys
Relates to #34
Nikos Mavrogiannopoulos [Sat, 12 Sep 2015 13:47:38 +0000 (15:47 +0200)]
Added API to generate private keys from a given seed
Currently it is restricted to RSA and FIPS 186-4 key generation with SHA384.
Relates to #34
Nikos Mavrogiannopoulos [Sat, 12 Sep 2015 12:47:02 +0000 (14:47 +0200)]
properly generate asn1_tab.c
Nikos Mavrogiannopoulos [Fri, 11 Sep 2015 13:44:06 +0000 (15:44 +0200)]
Don't use formatted output for fixed strings
Resolves #35
Nikos Mavrogiannopoulos [Wed, 9 Sep 2015 20:24:27 +0000 (22:24 +0200)]
README.md: updated information
Nikos Mavrogiannopoulos [Sat, 5 Sep 2015 04:20:58 +0000 (06:20 +0200)]
renamed the auto-verification functions
The names are more consistent with the rest of the library.
Nikos Mavrogiannopoulos [Fri, 4 Sep 2015 12:05:02 +0000 (14:05 +0200)]
pkcs11: when storing public keys, make sure they are marked as not private
Nikos Mavrogiannopoulos [Mon, 31 Aug 2015 12:22:02 +0000 (14:22 +0200)]
README.md: mention the testsuite
Nikos Mavrogiannopoulos [Sun, 30 Aug 2015 21:41:11 +0000 (23:41 +0200)]
README.md: print build status
Nikos Mavrogiannopoulos [Sun, 30 Aug 2015 21:31:06 +0000 (23:31 +0200)]
README.md: refer to files using markdown
Nikos Mavrogiannopoulos [Sun, 30 Aug 2015 21:26:27 +0000 (23:26 +0200)]
Updated coding style
Nikos Mavrogiannopoulos [Fri, 28 Aug 2015 14:54:47 +0000 (16:54 +0200)]
gnutls-cli-debug: corrected typo in inappropriate fallback check
Nikos Mavrogiannopoulos [Fri, 28 Aug 2015 14:51:35 +0000 (16:51 +0200)]
.gitlab-ci.yml: use the same number of CPUs in all the checks
Nikos Mavrogiannopoulos [Fri, 28 Aug 2015 10:05:02 +0000 (12:05 +0200)]
gnutls-cli-debug: added check for inappropriate fallback support
Nikos Mavrogiannopoulos [Thu, 27 Aug 2015 20:12:55 +0000 (22:12 +0200)]
Introduced GNUTLS_E_CERTIFICATE_VERIFICATION_ERROR to be returned by the auto-verification functions
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 17:39:22 +0000 (19:39 +0200)]
nettle: simplified SHA3 checks for nettle
nettle 3.1 doesn't have the functions nettle for
runtime version checking.
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 17:34:59 +0000 (19:34 +0200)]
export _gnutls_digest_exists for self tests
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 09:51:09 +0000 (11:51 +0200)]
x509: tolerate missing subject or issuer fields
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 09:42:01 +0000 (11:42 +0200)]
certtool: added support for sha3
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 09:37:13 +0000 (11:37 +0200)]
gnutls_oid_to_digest(): don't return supported but disabled algorithms
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 09:02:39 +0000 (11:02 +0200)]
Added support for the SHA3 digest algorithm
Nikos Mavrogiannopoulos [Wed, 26 Aug 2015 07:13:52 +0000 (09:13 +0200)]
corrected typo in ex-server-anon
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 12:13:24 +0000 (14:13 +0200)]
Define more precisely the auto verification function semantics.
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 11:59:21 +0000 (13:59 +0200)]
Allow overriding the verification flags from the auto-verification functions
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 11:43:09 +0000 (13:43 +0200)]
doc update
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 11:39:33 +0000 (13:39 +0200)]
Document the new verification functions
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 11:19:51 +0000 (13:19 +0200)]
examples: simplify the X.509 client example by using the new verification API
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 11:13:57 +0000 (13:13 +0200)]
tests: check the auto-verification functionality
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 10:00:10 +0000 (12:00 +0200)]
Added simpler verification functions for clients
The major use-case for the TLS protocol is verification of PKIX
certificates. However, certificate verification support while is
similar for almost all projects it requires around 100 lines of code
(a callback) to be duplicated to all applications. That patch
set gets rid of the callback and simplifies certificate verification
support, by introducing a very simple API; one that would accept
the session and the hostname only.
Resolves #27
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 09:10:26 +0000 (11:10 +0200)]
tests: added test for gnutls_session_set_verify_function
Nikos Mavrogiannopoulos [Mon, 24 Aug 2015 09:03:09 +0000 (11:03 +0200)]
Added gnutls_session_set_verify_function
That allows to set a verification callback per session rather
than only globally on the credentials structure.
Nikos Mavrogiannopoulos [Sun, 23 Aug 2015 20:54:22 +0000 (22:54 +0200)]
getfuncs.pl: ignore defines in headers
Nikos Mavrogiannopoulos [Sun, 23 Aug 2015 20:33:59 +0000 (22:33 +0200)]
Makefiles: updated for new filenames
Nikos Mavrogiannopoulos [Sun, 23 Aug 2015 17:28:09 +0000 (19:28 +0200)]
Moved pk_* functions to pk.c
Nikos Mavrogiannopoulos [Sun, 23 Aug 2015 17:19:45 +0000 (19:19 +0200)]
Removed the 'gnutls_' prefix from files to simplify file naming
Nikos Mavrogiannopoulos [Sun, 23 Aug 2015 16:44:26 +0000 (18:44 +0200)]
Moved the PRF functions to prf.c
Nikos Mavrogiannopoulos [Sun, 23 Aug 2015 12:19:17 +0000 (14:19 +0200)]
hex decoding: more reasonable error codes
That is, return GNUTLS_E_PARSING_ERROR instead of base64 decoding
error, and document that fact.
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 13:10:46 +0000 (15:10 +0200)]
tests: Added resumption tests for PSK ciphersuites
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 12:35:09 +0000 (14:35 +0200)]
Set the extended master secret status based on resumption data only
That is, don't require a new negotiation with extensions.
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 12:23:38 +0000 (14:23 +0200)]
tests: corrected resumption tests to disable tickets when needed
That is, perform the tests that require no tickets, with tickets disabled.
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 12:06:51 +0000 (14:06 +0200)]
session packing: corrected issue in PSK session unpack
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 11:54:41 +0000 (13:54 +0200)]
PSK: save the username in client side in the auth structure
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 11:26:08 +0000 (13:26 +0200)]
_gnutls_hash() returns error code if any.
Ideally we would like to eliminate any return codes from that
function. However, since that's on exported API we cannot easily
do without breaking the ABI. Reported by Benedikt Klotz.
Resolves #28
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 11:15:11 +0000 (13:15 +0200)]
x509: when appending CRLs to a trust list ensure that we don't have duplicates
That is, overwrite CRLs if they have been obsoleted.
Nikos Mavrogiannopoulos [Fri, 21 Aug 2015 09:34:39 +0000 (11:34 +0200)]
certtool: allow exporting very long CRLs
Nikos Mavrogiannopoulos [Fri, 14 Aug 2015 10:15:16 +0000 (12:15 +0200)]
tests: verify that a key usage violation is detected
That is that the certificate key usage flags are respected
by either the client side or the server side.
Nikos Mavrogiannopoulos [Fri, 14 Aug 2015 10:14:55 +0000 (12:14 +0200)]
Enable key usage checks in the client side of RSA ciphersuites
Nikos Mavrogiannopoulos [Fri, 14 Aug 2015 10:14:08 +0000 (12:14 +0200)]
priorities: Added internal option to allow key usage violations in server side
Nikos Mavrogiannopoulos [Fri, 14 Aug 2015 09:55:04 +0000 (11:55 +0200)]
fix typo in comment
Nikos Mavrogiannopoulos [Fri, 14 Aug 2015 09:27:50 +0000 (11:27 +0200)]
Re-enable the certificate key usage checks for compliance with ciphersuite
There is a new attack on the TLS protocol which relies on using certificates
for ECDSA as certificates for ECDH ciphersuites. That attack while it doesn't
affect gnutls, which doesn't support static ECDH, assumes that implementations
ignore the key usage bits in the certificate. We have done it since 3.1.0 for
compatibility reasons (see http://www.gnutls.org/faq.html#key-usage-violation),
but that clearly opens the door for real attacks in the future.
For this reason the key usage bits will no longer be ignored.
Resolves #24
Nikos Mavrogiannopoulos [Thu, 13 Aug 2015 10:10:59 +0000 (12:10 +0200)]
tests: verify whether CRL date setting works as expected
Nikos Mavrogiannopoulos [Thu, 13 Aug 2015 10:05:35 +0000 (12:05 +0200)]
certtool: Allow specifying CRL dates as fixed dates
Nikos Mavrogiannopoulos [Thu, 13 Aug 2015 09:48:15 +0000 (11:48 +0200)]
tests: verify CRL appending effectiveness
Nikos Mavrogiannopoulos [Thu, 13 Aug 2015 09:45:50 +0000 (11:45 +0200)]
gnutls_x509_crl_set_authority_key_id, gnutls_x509_crl_set_number allow overwritting
That allows them to overwrite values which were previously set (e.g.,
on an imported CRL).
Nikos Mavrogiannopoulos [Thu, 13 Aug 2015 09:36:17 +0000 (11:36 +0200)]
certtool: allow appending certificates to a CRL
Nikos Mavrogiannopoulos [Wed, 12 Aug 2015 21:03:20 +0000 (23:03 +0200)]
certtool: removed limit on maximum imported certificates in the -i option
Nikos Mavrogiannopoulos [Wed, 12 Aug 2015 20:49:15 +0000 (22:49 +0200)]
tests: check whether the CRL generation code works as expected
Nikos Mavrogiannopoulos [Wed, 12 Aug 2015 20:48:45 +0000 (22:48 +0200)]
certtool: eliminated memory leaks due to new cert loading code
Nikos Mavrogiannopoulos [Wed, 12 Aug 2015 20:22:55 +0000 (22:22 +0200)]
certtool: lifted limits on file size to load
Nikos Mavrogiannopoulos [Mon, 10 Aug 2015 14:43:28 +0000 (16:43 +0200)]
before dist ensure that included libopts matches autogen
Nikos Mavrogiannopoulos [Mon, 10 Aug 2015 14:12:05 +0000 (16:12 +0200)]
configure: use ':' instead of /bin/true for programs not found
Nikos Mavrogiannopoulos [Sun, 9 Aug 2015 19:20:33 +0000 (21:20 +0200)]
doc update
Nikos Mavrogiannopoulos [Sun, 9 Aug 2015 18:58:40 +0000 (20:58 +0200)]
tests: include all cert-tests into dist
Nikos Mavrogiannopoulos [Fri, 7 Aug 2015 14:59:18 +0000 (16:59 +0200)]
doc update
Nikos Mavrogiannopoulos [Fri, 7 Aug 2015 14:13:12 +0000 (16:13 +0200)]
doc update
Nikos Mavrogiannopoulos [Fri, 7 Aug 2015 14:04:12 +0000 (16:04 +0200)]
tests: check gnutls_check_version_numeric()
Nikos Mavrogiannopoulos [Fri, 7 Aug 2015 13:45:21 +0000 (15:45 +0200)]
gnutls.h: added macro gnutls_check_version_numeric
This simplifies version checking, and allows the compiler to optimize
out. It can only accept numerals.
Patch by David Woodhouse.
Nikos Mavrogiannopoulos [Fri, 7 Aug 2015 13:19:33 +0000 (15:19 +0200)]
use pure and const gcc attributes in headers
Nikos Mavrogiannopoulos [Fri, 7 Aug 2015 12:14:44 +0000 (14:14 +0200)]
mention version macro
Nikos Mavrogiannopoulos [Thu, 6 Aug 2015 08:37:15 +0000 (10:37 +0200)]
p11tool: test-sign will not fail if a pubkey is not found
Nikos Mavrogiannopoulos [Tue, 4 Aug 2015 18:32:25 +0000 (20:32 +0200)]
key decoding: set key to null for consistency
Nikos Mavrogiannopoulos [Tue, 4 Aug 2015 12:08:37 +0000 (14:08 +0200)]
key decoding: simplify decoding logic by removing the fallback
Nikos Mavrogiannopoulos [Tue, 4 Aug 2015 11:56:41 +0000 (13:56 +0200)]
key decoding: corrected regression with PKCS #8 key decoding
Reported by Daniel Berrange.
Nikos Mavrogiannopoulos [Tue, 4 Aug 2015 11:55:56 +0000 (13:55 +0200)]
tests: added check for decoding of a PKCS #8 key as fallback
Nikos Mavrogiannopoulos [Mon, 3 Aug 2015 12:17:16 +0000 (14:17 +0200)]
pkcs11: set the CKA_TOKEN attribute on generated public keys
That also introduces the GNUTLS_PKCS11_OBJ_FLAG_NO_STORE_PUBKEY flag,
to simulate the previous behavior.
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 15:03:33 +0000 (17:03 +0200)]
tests: added check for the fallback SCSV
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 15:02:00 +0000 (17:02 +0200)]
handshake: check inappropriate fallback against the configured max version
That allows to operate on a server which is explicitly configured to
utilize earlier than TLS 1.2 versions.
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 15:01:36 +0000 (17:01 +0200)]
corrected GNUTLS_E_INAPPROPRIATE_FALLBACK error code
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 14:44:13 +0000 (16:44 +0200)]
DCO: added Alessandro Ghedini
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 12:21:59 +0000 (14:21 +0200)]
copy_ciphersuites: use definition for reserved ciphersuites
Alessandro Ghedini [Fri, 31 Jul 2015 22:38:10 +0000 (00:38 +0200)]
handshake: add FALLBACK_SCSV priority option
This allows clients to enable the TLS_FALLBACK_SCSV mechanism during
the handshake, as defined in RFC7507.
Alessandro Ghedini [Fri, 31 Jul 2015 22:04:16 +0000 (00:04 +0200)]
handshake: check for TLS_FALLBACK_SCSV
If TLS_FALLBACK_SCSV was sent by the client during the handshake, and
the advertised protocol version is lower than GNUTLS_TLS_VERSION_MAX,
send the "Inappropriate fallback" fatal alert and abort the handshake.
This mechanism was defined in RFC7507.
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 07:10:53 +0000 (09:10 +0200)]
cfg.mk: fix order of arguments in gnulib-tool
Nikos Mavrogiannopoulos [Sat, 1 Aug 2015 06:38:50 +0000 (08:38 +0200)]
use gettext-h gnulib module
Nikos Mavrogiannopoulos [Fri, 31 Jul 2015 22:12:25 +0000 (00:12 +0200)]
tests: added missing certtool-long-cn