@@ -572,6 +572,16 @@ A server MUST NOT use post-handshake client authentication (see Section 4.6.2 of
572
572
{{!I-D.ietf-tls-tls13}}).
573
573
574
574
575
+ # # TLS Errors
576
+
577
+ Errors in the TLS connection SHOULD be signaled using TLS alerts on stream 1. A
578
+ failure in the handshake MUST be treated as a QUIC connection error of type
579
+ TLS_HANDSHAKE_FAILED. Once the handshake is complete, an error in the TLS
580
+ connection that causes a TLS alert to be sent or received MUST be treated as a
581
+ QUIC connection error of type TLS_FATAL_ALERT_GENERATED or
582
+ TLS_FATAL_ALERT_RECEIVED respectively.
583
+
584
+
575
585
# QUIC Packet Protection {#packet-protection}
576
586
577
587
QUIC packet protection provides authenticated encryption of packets. This
@@ -1408,86 +1418,13 @@ The portion of the QUIC error code space allocated for the crypto handshake is
1408
1418
for the crypto handshake :
1409
1419
1410
1420
TLS_HANDSHAKE_FAILED (0xC000001C) :
1411
- : Crypto errors. Handshake failed.
1412
-
1413
- TLS_MESSAGE_OUT_OF_ORDER (0xC000001D) :
1414
- : Handshake message received out of order.
1415
-
1416
- TLS_TOO_MANY_ENTRIES (0xC000001E) :
1417
- : Handshake message contained too many entries.
1418
-
1419
- TLS_INVALID_VALUE_LENGTH (0xC000001F) :
1420
- : Handshake message contained an invalid value length.
1421
-
1422
- TLS_MESSAGE_AFTER_HANDSHAKE_COMPLETE (0xC0000020) :
1423
- : A handshake message was received after the handshake was complete.
1424
-
1425
- TLS_INVALID_RECORD_TYPE (0xC0000021) :
1426
- : A handshake message was received with an illegal record type.
1427
-
1428
- TLS_INVALID_PARAMETER (0xC0000022) :
1429
- : A handshake message was received with an illegal parameter.
1430
-
1431
- TLS_INVALID_CHANNEL_ID_SIGNATURE (0xC0000034) :
1432
- : An invalid channel id signature was supplied.
1433
-
1434
- TLS_MESSAGE_PARAMETER_NOT_FOUND (0xC0000023) :
1435
- : A handshake message was received with a mandatory parameter missing.
1436
-
1437
- TLS_MESSAGE_PARAMETER_NO_OVERLAP (0xC0000024) :
1438
- : A handshake message was received with a parameter that has no overlap with the
1439
- local parameter.
1440
-
1441
- TLS_MESSAGE_INDEX_NOT_FOUND (0xC0000025) :
1442
- : A handshake message was received that contained a parameter with too few
1443
- values.
1444
-
1445
- TLS_UNSUPPORTED_PROOF_DEMAND (0xC000005E) :
1446
- : A demand for an unsupported proof type was received.
1447
-
1448
- TLS_INTERNAL_ERROR (0xC0000026) :
1449
- : An internal error occured in handshake processing.
1450
-
1451
- TLS_VERSION_NOT_SUPPORTED (0xC0000027) :
1452
- : A handshake handshake message specified an unsupported version.
1453
-
1454
- TLS_HANDSHAKE_STATELESS_REJECT (0xC0000048) :
1455
- : A handshake handshake message resulted in a stateless reject.
1456
-
1457
- TLS_NO_SUPPORT (0xC0000028) :
1458
- : There was no intersection between the crypto primitives supported by the peer
1459
- and ourselves.
1460
-
1461
- TLS_TOO_MANY_REJECTS (0xC0000029) :
1462
- : The server rejected our client hello messages too many times.
1463
-
1464
- TLS_PROOF_INVALID (0xC000002A) :
1465
- : The client rejected the server's certificate chain or signature.
1466
-
1467
- TLS_DUPLICATE_TAG (0xC000002B) :
1468
- : A handshake message was received with a duplicate tag.
1469
-
1470
- TLS_ENCRYPTION_LEVEL_INCORRECT (0xC000002C) :
1471
- : A handshake message was received with the wrong encryption level (i.e. it
1472
- should have been encrypted but was not.)
1473
-
1474
- TLS_SERVER_CONFIG_EXPIRED (0xC000002D) :
1475
- : The server config for a server has expired.
1476
-
1477
- TLS_SYMMETRIC_KEY_SETUP_FAILED (0xC0000035) :
1478
- : We failed to set up the symmetric keys for a connection.
1479
-
1480
- TLS_MESSAGE_WHILE_VALIDATING_CLIENT_HELLO (0xC0000036) :
1481
- : A handshake message arrived, but we are still validating the previous
1482
- handshake message.
1483
-
1484
- TLS_UPDATE_BEFORE_HANDSHAKE_COMPLETE (0xC0000041) :
1485
- : A server config update arrived before the handshake is complete.
1486
-
1487
- TLS_CLIENT_HELLO_TOO_LARGE (0xC000005A) :
1488
- : ClientHello cannot fit in one packet.
1421
+ : The TLS handshake failed.
1489
1422
1423
+ TLS_FATAL_ALERT_GENERATED (0xC000001D) :
1424
+ : A TLS fatal alert was sent, causing the TLS connection to end prematurely.
1490
1425
1426
+ TLS_FATAL_ALERT_RECEIVED (0xC000001E) :
1427
+ : A TLS fatal alert was received, causing the TLS connection to end prematurely.
1491
1428
1492
1429
1493
1430
# IANA Considerations
0 commit comments