]> git.ipfire.org Git - thirdparty/gnutls.git/log
thirdparty/gnutls.git
8 years ago.gitlab-ci.yml: removed unnecessary options from minimal build
Nikos Mavrogiannopoulos [Tue, 11 Jul 2017 08:30:56 +0000 (10:30 +0200)] 
.gitlab-ci.yml: removed unnecessary options from minimal build

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agopubkey: print the failed signature algorithm when verification fails
Nikos Mavrogiannopoulos [Mon, 3 Jul 2017 07:52:21 +0000 (09:52 +0200)] 
pubkey: print the failed signature algorithm when verification fails

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agognutls-cli: added option to allow verification with broken algorithms
Nikos Mavrogiannopoulos [Mon, 3 Jul 2017 07:58:35 +0000 (09:58 +0200)] 
gnutls-cli: added option to allow verification with broken algorithms

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agotls sessions will not fail of insecure algorithms which are explicitly enabled
Nikos Mavrogiannopoulos [Mon, 3 Jul 2017 08:06:22 +0000 (10:06 +0200)] 
tls sessions will not fail of insecure algorithms which are explicitly enabled

That is, if DSA-SHA1 is allowed, do not propagate errors from
gnutls_pubkey_verify_data2() due to SHA1 considered insecure, but rather
ignore such errors.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agotests: mini-record-2: made more robust
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 12:37:00 +0000 (14:37 +0200)] 
tests: mini-record-2: made more robust

It will no longer close the session prior to peer processing
all messages. This prevents the peer stopping processing
prior to all messages being received.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agotests: mini-record: made more robust
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 12:22:33 +0000 (14:22 +0200)] 
tests: mini-record: made more robust

It will no longer use a stream socket as this can does not work
well with damaged records (they may end up merged).

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agorecord: reject 0-byte long ciphertext
Nikos Mavrogiannopoulos [Thu, 13 Jul 2017 11:21:29 +0000 (13:21 +0200)] 
record: reject 0-byte long ciphertext

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agorecord: added sanity checking in the record layer version copy
Nikos Mavrogiannopoulos [Tue, 11 Jul 2017 08:18:56 +0000 (10:18 +0200)] 
record: added sanity checking in the record layer version copy

Previously we assumed that an active session had always a version
set, however there have been reports of evolution crashing in
that particular point. Although, this could have been due to
memory corruption, be careful and check for invalid input.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agorecord: more precise calculation of max recv size
Nikos Mavrogiannopoulos [Mon, 3 Jul 2017 09:51:20 +0000 (11:51 +0200)] 
record: more precise calculation of max recv size

Previously we were using a rough calculation of the max recv size
based on maximum values. Now we calculate the exact maximum value once
the epoch is initialized and enforce it throughout the session.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agodecryption: use the same error code on all cases
Nikos Mavrogiannopoulos [Wed, 14 Jun 2017 13:33:01 +0000 (15:33 +0200)] 
decryption: use the same error code on all cases

This eases testing using tlsfuzzer.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agognutls-serv: allow receiving requests up to 16kb
Nikos Mavrogiannopoulos [Mon, 3 Jul 2017 09:08:49 +0000 (11:08 +0200)] 
gnutls-serv: allow receiving requests up to 16kb

This makes gnutls-serv useful for few tlsfuzzer test cases.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agomax_record_recv_size: removed call to gnutls_compression_get()
Nikos Mavrogiannopoulos [Mon, 3 Jul 2017 09:19:44 +0000 (11:19 +0200)] 
max_record_recv_size: removed call to gnutls_compression_get()

We no longer support compression.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoPrint the requested CA names when in debug mode
Nikos Mavrogiannopoulos [Tue, 11 Jul 2017 07:10:39 +0000 (09:10 +0200)] 
Print the requested CA names when in debug mode

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agognutls-http-serv: do not set the obsolete PGP options
Nikos Mavrogiannopoulos [Tue, 27 Jun 2017 09:00:20 +0000 (11:00 +0200)] 
gnutls-http-serv: do not set the obsolete PGP options

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agodoc: updated documentation on client authentication [ci skip]
Nikos Mavrogiannopoulos [Tue, 11 Jul 2017 06:51:07 +0000 (08:51 +0200)] 
doc: updated documentation on client authentication [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agodoc: explicitly state intended usage of priorities on server-side
Nikos Mavrogiannopoulos [Mon, 10 Jul 2017 07:53:55 +0000 (09:53 +0200)] 
doc: explicitly state intended usage of priorities on server-side

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agodoc: use the default priorities in server example
Nikos Mavrogiannopoulos [Tue, 4 Jul 2017 07:26:57 +0000 (09:26 +0200)] 
doc: use the default priorities in server example

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Mon, 26 Jun 2017 12:04:37 +0000 (14:04 +0200)] 
updated auto-generated files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agotests: added unit tests for gnutls_priority_set*()
Nikos Mavrogiannopoulos [Mon, 26 Jun 2017 08:26:03 +0000 (10:26 +0200)] 
tests: added unit tests for gnutls_priority_set*()

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoDocumented use gnutls_priority_set2().
Nikos Mavrogiannopoulos [Mon, 26 Jun 2017 08:18:33 +0000 (10:18 +0200)] 
Documented use gnutls_priority_set2().

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agopriorities: share priority structures across sessions
Nikos Mavrogiannopoulos [Mon, 26 Jun 2017 08:02:22 +0000 (10:02 +0200)] 
priorities: share priority structures across sessions

As the contents of the priority cache grows, it makes sense to shared
these structures across many sessions (in server side) rather than
copying them to a session. All overrides of the priority contents
were moved to session->internals. On client side where gnutls_priority_set_direct()
is more commonly used, ensure that the set priority is deinitialized.

That also introduces gnutls_priority_set2() which does not copy the priority
contents by default.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoset_client_ciphersuite: use the new internal APIs
Nikos Mavrogiannopoulos [Tue, 27 Jun 2017 09:19:37 +0000 (11:19 +0200)] 
set_client_ciphersuite: use the new internal APIs

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years ago.gitignore: ignore new tests
Nikos Mavrogiannopoulos [Sun, 25 Jun 2017 14:06:49 +0000 (16:06 +0200)] 
.gitignore: ignore new tests

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agotests: added unit testing for server/client cipher negotiation
Nikos Mavrogiannopoulos [Sun, 25 Jun 2017 13:32:52 +0000 (15:32 +0200)] 
tests: added unit testing for server/client cipher negotiation

This verifies that the expected algorithm (cipher) is negotiated.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agotests: added unit testing for server ciphersuite/KX negotiation
Nikos Mavrogiannopoulos [Sun, 25 Jun 2017 10:03:46 +0000 (12:03 +0200)] 
tests: added unit testing for server ciphersuite/KX negotiation

This verifies whether the ciphersuite negotiation will detect and
reject incompatible data present in credentials.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agodoc: corrected typo
Nikos Mavrogiannopoulos [Fri, 23 Jun 2017 12:00:52 +0000 (14:00 +0200)] 
doc: corrected typo

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoRenamed fields of sign_algorithm_st
Nikos Mavrogiannopoulos [Fri, 23 Jun 2017 11:32:09 +0000 (13:32 +0200)] 
Renamed fields of sign_algorithm_st

The new names better reflect the reality with signature algorithms
in TLS 1.3, and correct the initial naming error.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agohandshake: simplified signature algorithm list generation
Nikos Mavrogiannopoulos [Fri, 23 Jun 2017 11:24:48 +0000 (13:24 +0200)] 
handshake: simplified signature algorithm list generation

Similarly to ciphersuites, that also utilizes a cache of signature algorithms
on the priority structure which is used to quickly generate the signature
algorithm list.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoEliminated access to obsolete priority cache fields
Nikos Mavrogiannopoulos [Fri, 23 Jun 2017 09:55:23 +0000 (11:55 +0200)] 
Eliminated access to obsolete priority cache fields

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agohandshake: simplified the client-side ciphersuite negotiation
Nikos Mavrogiannopoulos [Fri, 23 Jun 2017 08:34:11 +0000 (10:34 +0200)] 
handshake: simplified the client-side ciphersuite negotiation

This takes advantage of the ciphersuite cache in priorities structure
while keeping the same ciphersuite selection checks in place.

The previous ciphersuite selection checks kept:
 * Removing SRP ciphersuites when no SRP credentials are set
 * Removing ciphersuites when no corresponding to KX credentials were set
 * SCSV addition in SSL 3.0 and fallback SCSV

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agohandshake: simplified the server-side ciphersuite negotiation
Nikos Mavrogiannopoulos [Wed, 21 Jun 2017 09:54:39 +0000 (11:54 +0200)] 
handshake: simplified the server-side ciphersuite negotiation

This eliminates all the back and forth loops in the previous code
while keeping the same ciphersuite selection checks in place.

The ciphersuite selection tests that were kept:
 * Check if key exchange supports the server public key and key usage flags
 * Check if DH or other parameters required for the ciphersuite are present
 * Find appropriate certificate for the credentials and ciphersuite
 * Check whether a curve is negotiated for the ECDH ciphersuites

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agopriority: include a cache of supported ciphersuites
Nikos Mavrogiannopoulos [Wed, 21 Jun 2017 08:25:32 +0000 (10:25 +0200)] 
priority: include a cache of supported ciphersuites

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoremoved unused cipher-suite and KX related functions
Nikos Mavrogiannopoulos [Wed, 21 Jun 2017 07:31:31 +0000 (09:31 +0200)] 
removed unused cipher-suite and KX related functions

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoalgorithm/kx: sorted key exchange algorithms based on current trends
Nikos Mavrogiannopoulos [Wed, 21 Jun 2017 07:17:57 +0000 (09:17 +0200)] 
algorithm/kx: sorted key exchange algorithms based on current trends

That optimizes linear search for the common options.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoRemoved unused functions
Nikos Mavrogiannopoulos [Fri, 23 Jun 2017 09:07:11 +0000 (11:07 +0200)] 
Removed unused functions

These were identified using callcatcher.
  http://www.skynet.ie/~caolan/Packages/callcatcher.html

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agofuzz: added make update command [ci skip]
Nikos Mavrogiannopoulos [Fri, 7 Jul 2017 13:43:25 +0000 (15:43 +0200)] 
fuzz: added make update command [ci skip]

This allows updating the fuzzer corpus from openssl using a single
command.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agofuzz: added corpora from openssl [ci skip]
Nikos Mavrogiannopoulos [Fri, 7 Jul 2017 13:11:13 +0000 (15:11 +0200)] 
fuzz: added corpora from openssl [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agofuzz: undid changes related to boringssl server/client corpus format [ci skip]
Nikos Mavrogiannopoulos [Fri, 7 Jul 2017 12:59:52 +0000 (14:59 +0200)] 
fuzz: undid changes related to boringssl server/client corpus format [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agofuzz: included verbatim corpus from boringssl
Nikos Mavrogiannopoulos [Fri, 7 Jul 2017 12:58:34 +0000 (14:58 +0200)] 
fuzz: included verbatim corpus from boringssl

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agofuzz: gnutls-client-fuzzer: read directly from memory [ci skip]
Nikos Mavrogiannopoulos [Fri, 7 Jul 2017 10:22:23 +0000 (12:22 +0200)] 
fuzz: gnutls-client-fuzzer: read directly from memory [ci skip]

Also updated to read the prefixed boringssl corpus files.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agofuzz: gnutls-server-fuzzer: read directly from memory [ci skip]
Nikos Mavrogiannopoulos [Fri, 7 Jul 2017 09:45:05 +0000 (11:45 +0200)] 
fuzz: gnutls-server-fuzzer: read directly from memory [ci skip]

Also updated to read the prefixed boring ssl corpus files.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Wed, 5 Jul 2017 18:14:54 +0000 (20:14 +0200)] 
updated auto-generated files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agopriority_options.gperf: modified for gperf 3.1
Nikos Mavrogiannopoulos [Sat, 1 Jul 2017 16:00:45 +0000 (18:00 +0200)] 
priority_options.gperf: modified for gperf 3.1

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agotlsfuzzer: enabled ALPN tests
Nikos Mavrogiannopoulos [Tue, 4 Jul 2017 14:12:26 +0000 (16:12 +0200)] 
tlsfuzzer: enabled ALPN tests

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoupdated tlsfuzzer
Nikos Mavrogiannopoulos [Wed, 5 Jul 2017 19:44:19 +0000 (21:44 +0200)] 
updated tlsfuzzer

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agoext/alpn: added stricter checks on field lengths
Nikos Mavrogiannopoulos [Tue, 4 Jul 2017 14:15:08 +0000 (16:15 +0200)] 
ext/alpn: added stricter checks on field lengths

That is, no longer tolerate empty fields, and error on invalid
lengths.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agognutls-serv: added the --alpn and --alpn-fatal options
Nikos Mavrogiannopoulos [Tue, 4 Jul 2017 13:35:25 +0000 (15:35 +0200)] 
gnutls-serv: added the --alpn and --alpn-fatal options

This allows specifying ALPN protocols supported by server, allowing
to test the ALPN negotiation.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agofuzz: updated server with multiple keys (ECDSA, RSA) and DH parameters [ci skip]
Nikos Mavrogiannopoulos [Tue, 4 Jul 2017 09:42:59 +0000 (11:42 +0200)] 
fuzz: updated server with multiple keys (ECDSA, RSA) and DH parameters [ci skip]

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoOCSP: find_signercert: improved DER length calculation
Nikos Mavrogiannopoulos [Sat, 1 Jul 2017 08:50:57 +0000 (10:50 +0200)] 
OCSP: find_signercert: improved DER length calculation

Previously we were assuming a fixed amount of length bytes which
is not correct for all possible lengths. Use libtasn1 to decode
the length field.

Resolves: #223

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agoOCSP: check the subject public key identifier field to figure issuer
Nikos Mavrogiannopoulos [Fri, 30 Jun 2017 08:04:01 +0000 (10:04 +0200)] 
OCSP: check the subject public key identifier field to figure issuer

Normally when attempting to match the 'Responder Key ID' in an OCSP response
against the issuer certificate we check (according to RFC6960) against the
hash of the SPKI field. However, in few certificates (see commit:
"added ECDSA OCSP response verification"), that may not be the case. In that
certificate, that value matches the Subject Public Key identifier field
but not the hash.

To account for these certificates, we enhance the matching to also consider
the Subject Public Key identifier field.

Relates: #223

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agoOCSP: added more verbose debug logging on verification
Nikos Mavrogiannopoulos [Fri, 30 Jun 2017 07:33:08 +0000 (09:33 +0200)] 
OCSP: added more verbose debug logging on verification

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agotests: added ECDSA OCSP response verification
Nikos Mavrogiannopoulos [Thu, 29 Jun 2017 19:17:34 +0000 (21:17 +0200)] 
tests: added ECDSA OCSP response verification

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years ago.travis.yml: do not fail on brew install failures
Nikos Mavrogiannopoulos [Fri, 30 Jun 2017 08:43:20 +0000 (10:43 +0200)] 
.travis.yml: do not fail on brew install failures

brew install seems to fail on several occasions when a newer package
is available than the installed. Ignore those errors rather than
failing build.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
8 years agotests: added check on saving certs and OCSP responses
Nikos Mavrogiannopoulos [Thu, 29 Jun 2017 12:34:20 +0000 (14:34 +0200)] 
tests: added check on saving certs and OCSP responses

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
8 years agognutls-cli: save OCSP response at the time certificate is saved
Nikos Mavrogiannopoulos [Thu, 29 Jun 2017 12:28:29 +0000 (14:28 +0200)] 
gnutls-cli: save OCSP response at the time certificate is saved

That ensures that we always save the OCSP response, even when certificate
verification fails.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agomoved compression-related APIs to compat.h
Nikos Mavrogiannopoulos [Tue, 6 Jun 2017 12:26:07 +0000 (14:26 +0200)] 
moved compression-related APIs to compat.h

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc: removed any references to compression and documented change
Nikos Mavrogiannopoulos [Tue, 6 Jun 2017 06:56:09 +0000 (08:56 +0200)] 
doc: removed any references to compression and documented change

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: removed tests related to zlib support
Nikos Mavrogiannopoulos [Mon, 5 Jun 2017 14:20:25 +0000 (16:20 +0200)] 
tests: removed tests related to zlib support

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Mon, 5 Jun 2017 13:58:35 +0000 (15:58 +0200)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoRemoved support for compression mechanisms
Nikos Mavrogiannopoulos [Mon, 5 Jun 2017 13:36:18 +0000 (15:36 +0200)] 
Removed support for compression mechanisms

They are not required for TLS 1.3, and are deprecated for TLS 1.2.
We eliminate them in order to reduce the complexity in the record
packet handling.

Resolves #212

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls-cli: be less verbose in OCSP error messages
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 11:59:54 +0000 (13:59 +0200)] 
gnutls-cli: be less verbose in OCSP error messages

Previously we were reporting "No issuer found" if any certificate
in a chain could not be verified. That was confusing information
and not strictly necessary. No longer print that.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agognutls-cli: improved error message of OCSP failure
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 11:57:15 +0000 (13:57 +0200)] 
gnutls-cli: improved error message of OCSP failure

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 07:12:39 +0000 (09:12 +0200)] 
updated auto-generated files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: ocsptool: added test of --verify-response with --load-chain
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 18:50:22 +0000 (20:50 +0200)] 
tests: ocsptool: added test of --verify-response with --load-chain

This utilizes the provided chain to find the signer of the
OCSP response.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoocsp: print response's signature algorithm in compact listing
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 07:09:41 +0000 (09:09 +0200)] 
ocsp: print response's signature algorithm in compact listing

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoocsptool: verify_response will print information on the response
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 07:06:01 +0000 (09:06 +0200)] 
ocsptool: verify_response will print information on the response

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoocsptool: doc update
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 06:59:45 +0000 (08:59 +0200)] 
ocsptool: doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoocsptool: allow combining --load-trust with --verify-response
Nikos Mavrogiannopoulos [Tue, 20 Jun 2017 06:31:41 +0000 (08:31 +0200)] 
ocsptool: allow combining --load-trust with --verify-response

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoocsptool: --load-chain will sort the input chain
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 18:58:21 +0000 (20:58 +0200)] 
ocsptool: --load-chain will sort the input chain

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoocsptool: introduced --verify-allow-broken option
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 18:50:22 +0000 (20:50 +0200)] 
ocsptool: introduced --verify-allow-broken option

This allows verification to succeed even when broken algorithms are
involved.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoocsptool: the --verify-response can be combined with --load-chain
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 18:47:10 +0000 (20:47 +0200)] 
ocsptool: the --verify-response can be combined with --load-chain

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agognutls_certificate_verification_status_print: mention OCSP in error messages
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 18:27:24 +0000 (20:27 +0200)] 
gnutls_certificate_verification_status_print: mention OCSP in error messages

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoocsptool: added --load-chain option
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 12:36:43 +0000 (14:36 +0200)] 
ocsptool: added --load-chain option

This option allows to directly verify all the members of a certificate
chain.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc update
Nikos Mavrogiannopoulos [Mon, 19 Jun 2017 06:20:47 +0000 (08:20 +0200)] 
doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: enabled X25519 interop tests with openssl 1.1.0
Nikos Mavrogiannopoulos [Sun, 18 Jun 2017 15:35:06 +0000 (17:35 +0200)] 
tests: enabled X25519 interop tests with openssl 1.1.0

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoNORMAL priority: no longer enable the smaller curves by default
Nikos Mavrogiannopoulos [Sun, 18 Jun 2017 12:35:57 +0000 (14:35 +0200)] 
NORMAL priority: no longer enable the smaller curves by default

They are not widely enabled by web servers, and they provide no
advantage over X25519.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoNORMAL priority: enable X25519 curve
Nikos Mavrogiannopoulos [Sun, 18 Jun 2017 12:35:33 +0000 (14:35 +0200)] 
NORMAL priority: enable X25519 curve

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopkcs11: cleanups in pkcs11_login()
Nikos Mavrogiannopoulos [Sat, 17 Jun 2017 12:22:02 +0000 (14:22 +0200)] 
pkcs11: cleanups in pkcs11_login()

Use pkcs11_rv_to_err() to return the right error code map after
PKCS#11 calls; separate checks for already log in status for SO and
user login.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: pkcs11-mock: reset state when requesting reauth
Nikos Mavrogiannopoulos [Sat, 17 Jun 2017 12:07:50 +0000 (14:07 +0200)] 
tests: pkcs11-mock: reset state when requesting reauth

That is, for the MOCK_FLAG_SAFENET_ALWAYS_AUTH flag we ensure that
GetSessionInfo() will return the right state when authentication
is required for the first time.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopkcs11: improved handling of HSMs without CKU_CONTEXT_SPECIFIC support
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 20:04:49 +0000 (22:04 +0200)] 
pkcs11: improved handling of HSMs without CKU_CONTEXT_SPECIFIC support

That is, when the HSM returns CKR_USER_NOT_LOGGED_IN, switch
to CKU_USER, instead of relying to a fallback within pkcs11_login().
That simplifies login logic.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agotests: added unit test for safenet protectserver HSM's PKCS#11 support
Nikos Mavrogiannopoulos [Sun, 28 May 2017 09:07:50 +0000 (11:07 +0200)] 
tests: added unit test for safenet protectserver HSM's PKCS#11 support

That is, detect whether the absence of C_Login will fallback to CKU_USER
after CKU_CONTEXT_SPECIFIC is tried.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agopkcs11: simplified pkcs11_login()
Nikos Mavrogiannopoulos [Mon, 29 May 2017 09:26:19 +0000 (11:26 +0200)] 
pkcs11: simplified pkcs11_login()

By cleanups, as well as including the reauth flag in the flags option.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agopkcs11: the GNUTLS_PKCS11_OBJ_FLAG_LOGIN will force a login
Nikos Mavrogiannopoulos [Mon, 29 May 2017 09:11:24 +0000 (11:11 +0200)] 
pkcs11: the GNUTLS_PKCS11_OBJ_FLAG_LOGIN will force a login

That is, even in tokens which do not have a CKF_LOGIN_REQUIRED flag
a login will be forced. This allows operation on the safenet HSMs
which do not set that flag.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoHandle specially safenet HSMs which cannot handle CKU_CONTEXT_SPECIFIC
Nikos Mavrogiannopoulos [Sat, 27 May 2017 05:24:36 +0000 (07:24 +0200)] 
Handle specially safenet HSMs which cannot handle CKU_CONTEXT_SPECIFIC

These HSMs do not support CKA_ALWAYS_AUTHENTICATE, nor understand CKU_CONTEXT_SPECIFIC,
but rather return CKR_USER_NOT_LOGGED_IN on the first private key operation.
Try to discover that state by calling C_Login when CKR_USER_NOT_LOGGED_IN
is seen, and retrying with CKU_USER after CKU_CONTEXT_SPECIFIC login fails.
See discussion in https://github.com/OpenSC/libp11/issues/160

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agoAdded documentation to legacy openpgp functions
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 10:06:36 +0000 (12:06 +0200)] 
Added documentation to legacy openpgp functions

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoRemoved unnecessary certificate type functionality
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 08:58:23 +0000 (10:58 +0200)] 
Removed unnecessary certificate type functionality

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoNEWS: doc update
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 08:23:19 +0000 (10:23 +0200)] 
NEWS: doc update

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoupdated auto-generated files
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 08:21:52 +0000 (10:21 +0200)] 
updated auto-generated files

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agodoc: removed references to openpgp
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 08:21:10 +0000 (10:21 +0200)] 
doc: removed references to openpgp

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agopo: removed openpgp/output.c
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 08:14:58 +0000 (10:14 +0200)] 
po: removed openpgp/output.c

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoguile: removed openpgp related tests
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 07:55:44 +0000 (09:55 +0200)] 
guile: removed openpgp related tests

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agofuzz: removed the openpgp certificate fuzzer
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 07:30:41 +0000 (09:30 +0200)] 
fuzz: removed the openpgp certificate fuzzer

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotools: removed options for openpgp support
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 07:03:05 +0000 (09:03 +0200)] 
tools: removed options for openpgp support

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agoRemoved support for openpgp certificates and keys
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 06:50:32 +0000 (08:50 +0200)] 
Removed support for openpgp certificates and keys

Resolves #178

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: removed openpgp related tests
Nikos Mavrogiannopoulos [Fri, 16 Jun 2017 06:38:42 +0000 (08:38 +0200)] 
tests: removed openpgp related tests

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added reproducer for assertion trigger
Nikos Mavrogiannopoulos [Wed, 7 Jun 2017 09:58:25 +0000 (11:58 +0200)] 
tests: added reproducer for assertion trigger

This relates to handshakes with support for RSA-PSS.
Found with oss-fuzz:
  https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=2132

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agonettle: ported fix for assertion failure in pss_verify_mgf1
Daiki Ueno [Thu, 8 Jun 2017 13:42:30 +0000 (15:42 +0200)] 
nettle: ported fix for assertion failure in pss_verify_mgf1

Backport the upstream fix from:
https://git.lysator.liu.se/nettle/nettle/commit/b1252fedf6ee1dbb8468d1d3f177711a16e83e52

Signed-off-by: Daiki Ueno <dueno@redhat.com>
9 years ago.gitlab-ci.yml: keep logs of tests in abi build
Nikos Mavrogiannopoulos [Thu, 8 Jun 2017 15:33:21 +0000 (17:33 +0200)] 
.gitlab-ci.yml: keep logs of tests in abi build

Signed-off-by: Nikos Mavrogiannopoulos <nmav@gnutls.org>
9 years agodoc: simplified the default client example
Nikos Mavrogiannopoulos [Thu, 15 Jun 2017 11:41:36 +0000 (13:41 +0200)] 
doc: simplified the default client example

Removed optional paths.

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>
9 years agotests: added reproducer for OCSP response found test cases
Nikos Mavrogiannopoulos [Thu, 15 Jun 2017 11:20:51 +0000 (13:20 +0200)] 
tests: added reproducer for OCSP response found test cases

Signed-off-by: Nikos Mavrogiannopoulos <nmav@redhat.com>