Chromium Code Reviews| Index: net/third_party/nss/ssl/ssl3prot.h |
| =================================================================== |
| --- net/third_party/nss/ssl/ssl3prot.h (revision 199250) |
| +++ net/third_party/nss/ssl/ssl3prot.h (working copy) |
| @@ -212,11 +212,51 @@ |
| } u; |
| } SSL3ServerParams; |
| +/* This enum reflects HashAlgorithm enum from |
| + * https://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 |
| + * |
| + * When updating, be sure to also update ssl3_TLSHashAlgorithmToOID. */ |
| +enum { |
| + tls_hash_md5 = 1, |
| + tls_hash_sha1 = 2, |
| + tls_hash_sha224 = 3, |
| + tls_hash_sha256 = 4, |
| + tls_hash_sha384 = 5, |
| + tls_hash_sha512 = 6 |
| +}; |
| + |
| +/* This enum reflects SignatureAlgorithm enum from |
| + * https://tools.ietf.org/html/rfc5246#section-7.4.1.4.1 */ |
| +typedef enum { |
| + tls_sig_rsa = 1, |
| + tls_sig_dsa = 2, |
| + tls_sig_ecdsa = 3 |
| +} TLSSignatureAlgorithm; |
|
wtc
2013/05/28 17:50:25
This type was named TLS12SignatureAlgorithm. I cha
|
| + |
| typedef struct { |
| + SECOidTag hashAlg; |
| + TLSSignatureAlgorithm sigAlg; |
|
wtc
2013/05/28 17:50:25
It was a little confusing at first why |hashAlg| i
|
| +} SSL3SignatureAndHashAlgorithm; |
| + |
| +/* SSL3HashesIndividually contains a combination MD5/SHA1 hash, as used in TLS |
| + * prior to 1.2. */ |
| +typedef struct { |
| uint8 md5[16]; |
| uint8 sha[20]; |
| +} SSL3HashesIndividually; |
| + |
| +/* SSL3Hashes contains an SSL hash value. The digest is contained in |u.raw| |
| + * which, if |hashAlg==SEC_OID_UNKNOWN| is also a SSL3HashesIndividually |
| + * struct. */ |
| +typedef struct { |
| + unsigned int len; |
| + SECOidTag hashAlg; |
| + union { |
| + PRUint8 raw[64]; |
|
wtc
2013/05/28 17:50:25
The size of |raw| was 32 bytes. I increased it to
|
| + SSL3HashesIndividually s; |
| + } u; |
| } SSL3Hashes; |
| - |
| + |
| typedef struct { |
| union { |
| SSL3Opaque anonymous; |
| @@ -274,7 +314,7 @@ |
| sender_server = 0x53525652 |
| } SSL3Sender; |
| -typedef SSL3Hashes SSL3Finished; |
| +typedef SSL3HashesIndividually SSL3Finished; |
|
wtc
2013/05/28 17:50:25
This change means SSL3Finished can only be used fo
|
| typedef struct { |
| SSL3Opaque verify_data[12]; |