OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ | 5 #ifndef NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ |
6 #define NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ | 6 #define NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 22 matching lines...) Expand all Loading... |
33 const CryptoTag kC255 = MAKE_TAG('C', '2', '5', '5'); // ECDH, Curve25519 | 33 const CryptoTag kC255 = MAKE_TAG('C', '2', '5', '5'); // ECDH, Curve25519 |
34 | 34 |
35 // AEAD algorithms | 35 // AEAD algorithms |
36 const CryptoTag kNULL = MAKE_TAG('N', 'U', 'L', 'L'); // null algorithm | 36 const CryptoTag kNULL = MAKE_TAG('N', 'U', 'L', 'L'); // null algorithm |
37 const CryptoTag kAESG = MAKE_TAG('A', 'E', 'S', 'G'); // AES128 + GCM | 37 const CryptoTag kAESG = MAKE_TAG('A', 'E', 'S', 'G'); // AES128 + GCM |
38 | 38 |
39 // Congestion control feedback types | 39 // Congestion control feedback types |
40 const CryptoTag kQBIC = MAKE_TAG('Q', 'B', 'I', 'C'); // TCP cubic | 40 const CryptoTag kQBIC = MAKE_TAG('Q', 'B', 'I', 'C'); // TCP cubic |
41 const CryptoTag kINAR = MAKE_TAG('I', 'N', 'A', 'R'); // Inter arrival | 41 const CryptoTag kINAR = MAKE_TAG('I', 'N', 'A', 'R'); // Inter arrival |
42 | 42 |
| 43 // Proof types (i.e. certificate types) |
| 44 const CryptoTag kX509 = MAKE_TAG('X', '5', '0', '9'); // X.509 certificate |
| 45 |
43 // Client hello tags | 46 // Client hello tags |
44 const CryptoTag kVERS = MAKE_TAG('V', 'E', 'R', 'S'); // Version | 47 const CryptoTag kVERS = MAKE_TAG('V', 'E', 'R', 'S'); // Version |
45 const CryptoTag kNONC = MAKE_TAG('N', 'O', 'N', 'C'); // The connection nonce | 48 const CryptoTag kNONC = MAKE_TAG('N', 'O', 'N', 'C'); // The connection nonce |
46 const CryptoTag kSSID = MAKE_TAG('S', 'S', 'I', 'D'); // Session ID | 49 const CryptoTag kSSID = MAKE_TAG('S', 'S', 'I', 'D'); // Session ID |
47 const CryptoTag kKEXS = MAKE_TAG('K', 'E', 'X', 'S'); // Key exchange methods | 50 const CryptoTag kKEXS = MAKE_TAG('K', 'E', 'X', 'S'); // Key exchange methods |
48 const CryptoTag kAEAD = MAKE_TAG('A', 'E', 'A', 'D'); // Authenticated | 51 const CryptoTag kAEAD = MAKE_TAG('A', 'E', 'A', 'D'); // Authenticated |
49 // encryption algorithms | 52 // encryption algorithms |
50 const CryptoTag kCGST = MAKE_TAG('C', 'G', 'S', 'T'); // Congestion control | 53 const CryptoTag kCGST = MAKE_TAG('C', 'G', 'S', 'T'); // Congestion control |
51 // feedback types | 54 // feedback types |
52 const CryptoTag kICSL = MAKE_TAG('I', 'C', 'S', 'L'); // Idle connection state | 55 const CryptoTag kICSL = MAKE_TAG('I', 'C', 'S', 'L'); // Idle connection state |
53 // lifetime | 56 // lifetime |
54 const CryptoTag kKATO = MAKE_TAG('K', 'A', 'T', 'O'); // Keepalive timeout | 57 const CryptoTag kKATO = MAKE_TAG('K', 'A', 'T', 'O'); // Keepalive timeout |
55 const CryptoTag kSNI = MAKE_TAG('S', 'N', 'I', '\0'); // Server name | 58 const CryptoTag kSNI = MAKE_TAG('S', 'N', 'I', '\0'); // Server name |
56 // indication | 59 // indication |
57 const CryptoTag kPUBS = MAKE_TAG('P', 'U', 'B', 'S'); // Public key values | 60 const CryptoTag kPUBS = MAKE_TAG('P', 'U', 'B', 'S'); // Public key values |
58 const CryptoTag kSCID = MAKE_TAG('S', 'C', 'I', 'D'); // Server config id | 61 const CryptoTag kSCID = MAKE_TAG('S', 'C', 'I', 'D'); // Server config id |
59 const CryptoTag kSRCT = MAKE_TAG('S', 'R', 'C', 'T'); // Source-address token | 62 const CryptoTag kSRCT = MAKE_TAG('S', 'R', 'C', 'T'); // Source-address token |
60 const CryptoTag kORBT = MAKE_TAG('O', 'B', 'I', 'T'); // Server orbit. | 63 const CryptoTag kORBT = MAKE_TAG('O', 'B', 'I', 'T'); // Server orbit. |
| 64 const CryptoTag kPDMD = MAKE_TAG('P', 'D', 'M', 'D'); // Proof demand. |
| 65 const CryptoTag kCERT = MAKE_TAG('C', 'E', 'R', 'T'); // Certificate chain |
| 66 const CryptoTag kPROF = MAKE_TAG('P', 'R', 'O', 'F'); // Proof (signature). |
61 | 67 |
62 const size_t kMaxEntries = 16; // Max number of entries in a message. | 68 const size_t kMaxEntries = 16; // Max number of entries in a message. |
63 | 69 |
64 const size_t kNonceSize = 32; // Size in bytes of the connection nonce. | 70 const size_t kNonceSize = 32; // Size in bytes of the connection nonce. |
65 | 71 |
66 const size_t kOrbitSize = 8; // Number of bytes in an orbit value. | 72 const size_t kOrbitSize = 8; // Number of bytes in an orbit value. |
67 | 73 |
68 } // namespace net | 74 } // namespace net |
69 | 75 |
70 #endif // NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ | 76 #endif // NET_QUIC_CRYPTO_CRYPTO_PROTOCOL_H_ |
OLD | NEW |