786793411a
Plain PSK omits the ServerKeyExchange when there is no hint and includes it otherwise (it should have always sent it), while other PSK ciphers like ECDHE_PSK cannot omit the hint. Having different capabilities here is odd and RFC 4279 5.2 suggests that all PSK ciphers are capable of "[not] provid[ing] an identity hint". Interpret this to mean no identity hint and empty identity hint are the same state. Annoyingly, this gives a plain PSK implementation two options for spelling an empty hint. The spec isn't clear and this is not really a battle worth fighting, so I've left both acceptable and added a test for this case. See also https://android-review.googlesource.com/c/275217/. This is also consistent with Android's PskKeyManager API, our only consumer anyway. https://developer.android.com/reference/android/net/PskKeyManager.html Change-Id: I8a8e6cc1f7dd1b8b202cdaf3d4f151bebfb4a25b Reviewed-on: https://boringssl-review.googlesource.com/11087 Reviewed-by: Adam Langley <agl@google.com> Commit-Queue: Adam Langley <agl@google.com> CQ-Verified: CQ bot account: commit-bot@chromium.org <commit-bot@chromium.org> |
||
---|---|---|
.. | ||
curve25519 | ||
newhope | ||
poly1305 | ||
alert.go | ||
cert.pem | ||
chacha20_poly1305_test.go | ||
chacha20_poly1305.go | ||
channel_id_key.pem | ||
cipher_suites.go | ||
common.go | ||
conn.go | ||
deterministic.go | ||
dtls.go | ||
ecdsa_p256_cert.pem | ||
ecdsa_p256_key.pem | ||
ecdsa_p384_cert.pem | ||
ecdsa_p384_key.pem | ||
ecdsa_p521_cert.pem | ||
ecdsa_p521_key.pem | ||
handshake_client.go | ||
handshake_messages.go | ||
handshake_server.go | ||
hkdf_test.go | ||
hkdf.go | ||
key_agreement.go | ||
key.pem | ||
packet_adapter.go | ||
prf.go | ||
recordingconn.go | ||
rsa_1024_cert.pem | ||
rsa_1024_key.pem | ||
runner_test.go | ||
runner.go | ||
sign.go | ||
test_output.go | ||
ticket.go | ||
tls.go |