]> Cypherpunks repositories - gostls13.git/commit
crypto/x509: require a NULL parameters for RSA public keys.
authorAdam Langley <agl@golang.org>
Wed, 17 Aug 2016 22:55:15 +0000 (15:55 -0700)
committerAdam Langley <agl@golang.org>
Wed, 17 Aug 2016 23:47:18 +0000 (23:47 +0000)
commit59aeac20c0412442848982a9287b4bab66c25682
treecdb1e362a35fa08d9e89c04c18141f206e7ca0d2
parent57370a87d80be0ab588eb8bb9a5e2a31f4613355
crypto/x509: require a NULL parameters for RSA public keys.

The RFC is clear that the Parameters in an AlgorithmIdentifer for an RSA
public key must be NULL. BoringSSL enforces this so we have strong
evidence that this is a widely compatible change.

Embarrassingly enough, the major source of violations of this is us. Go
used to get this correct in only one of two places. This was only fixed
in 2013 (with 4874bc9b). That's why lots of test certificates are
updated in this change.

Fixes #16166.

Change-Id: Ib9a4551349354c66e730d44eb8cee4ec402ea8ab
Reviewed-on: https://go-review.googlesource.com/27312
Reviewed-by: Brad Fitzpatrick <bradfitz@golang.org>
63 files changed:
src/crypto/tls/conn_test.go
src/crypto/tls/handshake_server_test.go
src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-ECDSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-ECDSA
src/crypto/tls/testdata/Client-TLSv10-ClientCert-RSA-RSA
src/crypto/tls/testdata/Client-TLSv10-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Client-TLSv10-ECDHE-RSA-AES
src/crypto/tls/testdata/Client-TLSv10-RSA-RC4
src/crypto/tls/testdata/Client-TLSv11-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Client-TLSv11-ECDHE-RSA-AES
src/crypto/tls/testdata/Client-TLSv11-RSA-RC4
src/crypto/tls/testdata/Client-TLSv12-AES128-GCM-SHA256
src/crypto/tls/testdata/Client-TLSv12-AES256-GCM-SHA384
src/crypto/tls/testdata/Client-TLSv12-ALPN
src/crypto/tls/testdata/Client-TLSv12-ALPN-NoMatch
src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-ECDSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-ECDSA-RSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-AES256-GCM-SHA384
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-ECDSA
src/crypto/tls/testdata/Client-TLSv12-ClientCert-RSA-RSA
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES-GCM
src/crypto/tls/testdata/Client-TLSv12-ECDHE-ECDSA-AES256-GCM-SHA384
src/crypto/tls/testdata/Client-TLSv12-ECDHE-RSA-AES
src/crypto/tls/testdata/Client-TLSv12-RSA-RC4
src/crypto/tls/testdata/Client-TLSv12-RenegotiateOnce
src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwice
src/crypto/tls/testdata/Client-TLSv12-RenegotiateTwiceRejected
src/crypto/tls/testdata/Client-TLSv12-RenegotiationRejected
src/crypto/tls/testdata/Client-TLSv12-SCT
src/crypto/tls/testdata/Server-SSLv3-RSA-3DES
src/crypto/tls/testdata/Server-SSLv3-RSA-AES
src/crypto/tls/testdata/Server-SSLv3-RSA-RC4
src/crypto/tls/testdata/Server-TLSv10-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv10-RSA-3DES
src/crypto/tls/testdata/Server-TLSv10-RSA-AES
src/crypto/tls/testdata/Server-TLSv10-RSA-RC4
src/crypto/tls/testdata/Server-TLSv11-FallbackSCSV
src/crypto/tls/testdata/Server-TLSv11-RSA-RC4
src/crypto/tls/testdata/Server-TLSv12-ALPN
src/crypto/tls/testdata/Server-TLSv12-ALPN-NoMatch
src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceECDSA
src/crypto/tls/testdata/Server-TLSv12-CipherSuiteCertPreferenceRSA
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndECDSAGiven
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedAndGiven
src/crypto/tls/testdata/Server-TLSv12-ClientAuthRequestedNotGiven
src/crypto/tls/testdata/Server-TLSv12-ECDHE-ECDSA-AES
src/crypto/tls/testdata/Server-TLSv12-IssueTicket
src/crypto/tls/testdata/Server-TLSv12-IssueTicketPreDisable
src/crypto/tls/testdata/Server-TLSv12-RSA-3DES
src/crypto/tls/testdata/Server-TLSv12-RSA-AES
src/crypto/tls/testdata/Server-TLSv12-RSA-AES-GCM
src/crypto/tls/testdata/Server-TLSv12-RSA-AES256-GCM-SHA384
src/crypto/tls/testdata/Server-TLSv12-RSA-RC4
src/crypto/tls/testdata/Server-TLSv12-Resume
src/crypto/tls/testdata/Server-TLSv12-ResumeDisabled
src/crypto/tls/testdata/Server-TLSv12-SNI
src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificate
src/crypto/tls/testdata/Server-TLSv12-SNI-GetCertificateNotFound
src/crypto/x509/x509.go
src/crypto/x509/x509_test.go
src/net/smtp/smtp_test.go