diff options
author | Filippo Valsorda <filippo@golang.org> | 2021-07-14 05:35:26 -0400 |
---|---|---|
committer | Filippo Valsorda <filippo@golang.org> | 2021-07-14 05:35:26 -0400 |
commit | ddf078e08dc61f38e26f9969dd2a2151a8c73904 (patch) | |
tree | 08c9f34f56b0a66a21f94f4ae75dc00af9f59375 /src/crypto/tls/key_agreement.go | |
parent | 9647f89f2ac2a64acb502c594fc747f206842a86 (diff) | |
parent | c6d89dbf9954b101589e2db8e170b84167782109 (diff) | |
download | go-ddf078e08dc61f38e26f9969dd2a2151a8c73904.tar.gz go-ddf078e08dc61f38e26f9969dd2a2151a8c73904.zip |
[dev.boringcrypto.go1.15] all: merge go1.15.14 into dev.boringcrypto.go1.15
Change-Id: Ia5ae002730c2c0e6bea5e9a10bf335af3ef23e23
Diffstat (limited to 'src/crypto/tls/key_agreement.go')
-rw-r--r-- | src/crypto/tls/key_agreement.go | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/crypto/tls/key_agreement.go b/src/crypto/tls/key_agreement.go index 7e6534bd46..22f1b2e1f2 100644 --- a/src/crypto/tls/key_agreement.go +++ b/src/crypto/tls/key_agreement.go @@ -67,7 +67,11 @@ func (ka rsaKeyAgreement) generateClientKeyExchange(config *Config, clientHello return nil, nil, err } - encrypted, err := rsa.EncryptPKCS1v15(config.rand(), cert.PublicKey.(*rsa.PublicKey), preMasterSecret) + rsaKey, ok := cert.PublicKey.(*rsa.PublicKey) + if !ok { + return nil, nil, errors.New("tls: server certificate contains incorrect key type for selected ciphersuite") + } + encrypted, err := rsa.EncryptPKCS1v15(config.rand(), rsaKey, preMasterSecret) if err != nil { return nil, nil, err } |