Bug 1326451 - gnutls-serv reports "Server Signature" for ciphersuites that don't use it
Summary: gnutls-serv reports "Server Signature" for ciphersuites that don't use it
Keywords:
Status: CLOSED ERRATA
Alias: None
Product: Red Hat Enterprise Linux 7
Classification: Red Hat
Component: gnutls
Version: 7.2
Hardware: Unspecified
OS: Unspecified
unspecified
unspecified
Target Milestone: rc
: ---
Assignee: Nikos Mavrogiannopoulos
QA Contact: Stanislav Zidek
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-04-12 17:26 UTC by Hubert Kario
Modified: 2016-11-04 00:59 UTC (History)
2 users (show)

Fixed In Version: gnutls-3.3.23-1.el7
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2016-11-04 00:59:26 UTC
Target Upstream Version:


Attachments (Terms of Use)
Set of certificates to test easily (15.43 KB, application/x-gzip)
2016-04-12 17:26 UTC, Hubert Kario
no flags Details


Links
System ID Private Priority Status Summary Last Updated
Red Hat Product Errata RHBA-2016:2218 0 normal SHIPPED_LIVE gnutls bug fix and enhancement update 2016-11-03 13:25:10 UTC

Description Hubert Kario 2016-04-12 17:26:04 UTC
Created attachment 1146558 [details]
Set of certificates to test easily

Description of problem:
When gnutls-serv is used with TLSv1.2 protocol and ciphersuites that use RSA key exchange, it reports "Server Signature", equal to the Client Certificate.

Version-Release number of selected component (if applicable):
gnutls-3.3.8-14.el7_2.x86_64

How reproducible:
always

Steps to Reproduce:
1. git clone https://github.com/tomato42/tlsfuzzer.git
2. pushd tlsfuzzer
3. git clone https://github.com/warner/python-ecdsa .python-ecdsa
4. ln -s .python-ecdsa/ecdsa ecdsa
5. git clone https://github.com/tomato42/tlslite-ng.git .tlslite-ng
6. ln -s .tlslite-ng/tlslite tlslite
7. popd
8. tar xzf certificates.tar.gz
9. gnutls-serv --priority NORMAL:+VERS-TLS1.2 --port 4433 --http --x509cafile ca/cert.pem --x509keyfile server/key.pem --x509certfile server/cert.pem
(in other console, same directory)
10. PYTHONPATH=tlsfuzzer python tlsfuzzer/scripts/test-rsa-sigs-on-certificate-verify.py -k client/key.pem -c client/cert.pem

Actual results:
multiple times (with different hashes) in gnutls-serv output:
...
- Version: TLS1.2
- Key Exchange: RSA
- Server Signature: RSA-SHA256
- Client Signature: RSA-SHA256
- Cipher: AES-128-CBC
- MAC: SHA1
...

Expected results:
no "Server Signature: " lines

Additional info:

Comment 1 Nikos Mavrogiannopoulos 2016-04-13 12:09:57 UTC
It seems that the while verifying the client's certificate signature, the server's (idea of) signature algorithm gets overwritten. That is something trivial to fix.

Comment 8 errata-xmlrpc 2016-11-04 00:59:26 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://rhn.redhat.com/errata/RHBA-2016-2218.html


Note You need to log in before you can comment on or make changes to this bug.