diff options
Diffstat (limited to '')
| -rw-r--r-- | src/lib/libssl/src/ssl/t1_enc.c | 17 | ||||
| -rw-r--r-- | src/lib/libssl/t1_enc.c | 17 |
2 files changed, 22 insertions, 12 deletions
diff --git a/src/lib/libssl/src/ssl/t1_enc.c b/src/lib/libssl/src/ssl/t1_enc.c index ba4d244dc2..3e90b78468 100644 --- a/src/lib/libssl/src/ssl/t1_enc.c +++ b/src/lib/libssl/src/ssl/t1_enc.c | |||
| @@ -465,14 +465,10 @@ tls1_change_cipher_state(SSL *s, int which) | |||
| 465 | mac_secret = client_write_mac_secret; | 465 | mac_secret = client_write_mac_secret; |
| 466 | key = client_write_key; | 466 | key = client_write_key; |
| 467 | iv = client_write_iv; | 467 | iv = client_write_iv; |
| 468 | exp_label = TLS_MD_CLIENT_WRITE_KEY_CONST; | ||
| 469 | exp_label_len = TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE; | ||
| 470 | } else { | 468 | } else { |
| 471 | mac_secret = server_write_mac_secret; | 469 | mac_secret = server_write_mac_secret; |
| 472 | key = server_write_key; | 470 | key = server_write_key; |
| 473 | iv = server_write_iv; | 471 | iv = server_write_iv; |
| 474 | exp_label = TLS_MD_SERVER_WRITE_KEY_CONST; | ||
| 475 | exp_label_len = TLS_MD_SERVER_WRITE_KEY_CONST_SIZE; | ||
| 476 | } | 472 | } |
| 477 | 473 | ||
| 478 | if (key_block - s->s3->tmp.key_block != s->s3->tmp.key_block_length) { | 474 | if (key_block - s->s3->tmp.key_block != s->s3->tmp.key_block_length) { |
| @@ -496,9 +492,18 @@ tls1_change_cipher_state(SSL *s, int which) | |||
| 496 | } | 492 | } |
| 497 | 493 | ||
| 498 | if (is_export) { | 494 | if (is_export) { |
| 499 | /* In here I set both the read and write key/iv to the | 495 | /* |
| 500 | * same value since only the correct one will be used :-). | 496 | * Both the read and write key/iv are set to the same value |
| 497 | * since only the correct one will be used :-). | ||
| 501 | */ | 498 | */ |
| 499 | if (use_client_keys) { | ||
| 500 | exp_label = TLS_MD_CLIENT_WRITE_KEY_CONST; | ||
| 501 | exp_label_len = TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE; | ||
| 502 | } else { | ||
| 503 | exp_label = TLS_MD_SERVER_WRITE_KEY_CONST; | ||
| 504 | exp_label_len = TLS_MD_SERVER_WRITE_KEY_CONST_SIZE; | ||
| 505 | } | ||
| 506 | |||
| 502 | if (!tls1_PRF(ssl_get_algorithm2(s), | 507 | if (!tls1_PRF(ssl_get_algorithm2(s), |
| 503 | exp_label, exp_label_len, | 508 | exp_label, exp_label_len, |
| 504 | s->s3->client_random, SSL3_RANDOM_SIZE, | 509 | s->s3->client_random, SSL3_RANDOM_SIZE, |
diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c index ba4d244dc2..3e90b78468 100644 --- a/src/lib/libssl/t1_enc.c +++ b/src/lib/libssl/t1_enc.c | |||
| @@ -465,14 +465,10 @@ tls1_change_cipher_state(SSL *s, int which) | |||
| 465 | mac_secret = client_write_mac_secret; | 465 | mac_secret = client_write_mac_secret; |
| 466 | key = client_write_key; | 466 | key = client_write_key; |
| 467 | iv = client_write_iv; | 467 | iv = client_write_iv; |
| 468 | exp_label = TLS_MD_CLIENT_WRITE_KEY_CONST; | ||
| 469 | exp_label_len = TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE; | ||
| 470 | } else { | 468 | } else { |
| 471 | mac_secret = server_write_mac_secret; | 469 | mac_secret = server_write_mac_secret; |
| 472 | key = server_write_key; | 470 | key = server_write_key; |
| 473 | iv = server_write_iv; | 471 | iv = server_write_iv; |
| 474 | exp_label = TLS_MD_SERVER_WRITE_KEY_CONST; | ||
| 475 | exp_label_len = TLS_MD_SERVER_WRITE_KEY_CONST_SIZE; | ||
| 476 | } | 472 | } |
| 477 | 473 | ||
| 478 | if (key_block - s->s3->tmp.key_block != s->s3->tmp.key_block_length) { | 474 | if (key_block - s->s3->tmp.key_block != s->s3->tmp.key_block_length) { |
| @@ -496,9 +492,18 @@ tls1_change_cipher_state(SSL *s, int which) | |||
| 496 | } | 492 | } |
| 497 | 493 | ||
| 498 | if (is_export) { | 494 | if (is_export) { |
| 499 | /* In here I set both the read and write key/iv to the | 495 | /* |
| 500 | * same value since only the correct one will be used :-). | 496 | * Both the read and write key/iv are set to the same value |
| 497 | * since only the correct one will be used :-). | ||
| 501 | */ | 498 | */ |
| 499 | if (use_client_keys) { | ||
| 500 | exp_label = TLS_MD_CLIENT_WRITE_KEY_CONST; | ||
| 501 | exp_label_len = TLS_MD_CLIENT_WRITE_KEY_CONST_SIZE; | ||
| 502 | } else { | ||
| 503 | exp_label = TLS_MD_SERVER_WRITE_KEY_CONST; | ||
| 504 | exp_label_len = TLS_MD_SERVER_WRITE_KEY_CONST_SIZE; | ||
| 505 | } | ||
| 506 | |||
| 502 | if (!tls1_PRF(ssl_get_algorithm2(s), | 507 | if (!tls1_PRF(ssl_get_algorithm2(s), |
| 503 | exp_label, exp_label_len, | 508 | exp_label, exp_label_len, |
| 504 | s->s3->client_random, SSL3_RANDOM_SIZE, | 509 | s->s3->client_random, SSL3_RANDOM_SIZE, |
