Skip to content

Commit 2efded1

Browse files
committed
[dev.boringcrypto] crypto/tls: use TLS-specific AES-GCM mode if available
Change-Id: Ide00c40c0ca8d486f3bd8968e1d301c8b0ed6d05 Reviewed-on: https://go-review.googlesource.com/56011 Run-TryBot: Russ Cox <[email protected]> TryBot-Result: Gobot Gobot <[email protected]> Reviewed-by: Adam Langley <[email protected]>
1 parent 335a0f8 commit 2efded1

File tree

1 file changed

+11
-1
lines changed

1 file changed

+11
-1
lines changed

src/crypto/tls/cipher_suites.go

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -220,12 +220,22 @@ func (f *xorNonceAEAD) Open(out, nonce, plaintext, additionalData []byte) ([]byt
220220
return result, err
221221
}
222222

223+
type gcmtls interface {
224+
NewGCMTLS() (cipher.AEAD, error)
225+
}
226+
223227
func aeadAESGCM(key, fixedNonce []byte) cipher.AEAD {
224228
aes, err := aes.NewCipher(key)
225229
if err != nil {
226230
panic(err)
227231
}
228-
aead, err := cipher.NewGCM(aes)
232+
var aead cipher.AEAD
233+
if aesTLS, ok := aes.(gcmtls); ok {
234+
aead, err = aesTLS.NewGCMTLS()
235+
} else {
236+
boring.Unreachable()
237+
aead, err = cipher.NewGCM(aes)
238+
}
229239
if err != nil {
230240
panic(err)
231241
}

0 commit comments

Comments
 (0)