summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_enc.c
diff options
context:
space:
mode:
authordjm <>2009-01-09 12:14:11 +0000
committerdjm <>2009-01-09 12:14:11 +0000
commita0fdc9ec41594852f67ec77dfad9cb06bacc4186 (patch)
treec43f6b3a4d93ad2cb3dcf93275295679d895a033 /src/lib/libssl/t1_enc.c
parent5a3c0a05c7f2c5d3c584b7c8d6aec836dd724c80 (diff)
downloadopenbsd-a0fdc9ec41594852f67ec77dfad9cb06bacc4186.tar.gz
openbsd-a0fdc9ec41594852f67ec77dfad9cb06bacc4186.tar.bz2
openbsd-a0fdc9ec41594852f67ec77dfad9cb06bacc4186.zip
import openssl-0.9.8j
Diffstat (limited to 'src/lib/libssl/t1_enc.c')
-rw-r--r--src/lib/libssl/t1_enc.c42
1 files changed, 27 insertions, 15 deletions
diff --git a/src/lib/libssl/t1_enc.c b/src/lib/libssl/t1_enc.c
index ed5a4a7255..7cb3e29a41 100644
--- a/src/lib/libssl/t1_enc.c
+++ b/src/lib/libssl/t1_enc.c
@@ -111,10 +111,15 @@
111 111
112#include <stdio.h> 112#include <stdio.h>
113#include "ssl_locl.h" 113#include "ssl_locl.h"
114#ifndef OPENSSL_NO_COMP
114#include <openssl/comp.h> 115#include <openssl/comp.h>
116#endif
115#include <openssl/evp.h> 117#include <openssl/evp.h>
116#include <openssl/hmac.h> 118#include <openssl/hmac.h>
117#include <openssl/md5.h> 119#include <openssl/md5.h>
120#ifdef KSSL_DEBUG
121#include <openssl/des.h>
122#endif
118 123
119static void tls1_P_hash(const EVP_MD *md, const unsigned char *sec, 124static void tls1_P_hash(const EVP_MD *md, const unsigned char *sec,
120 int sec_len, unsigned char *seed, int seed_len, 125 int sec_len, unsigned char *seed, int seed_len,
@@ -131,6 +136,8 @@ static void tls1_P_hash(const EVP_MD *md, const unsigned char *sec,
131 136
132 HMAC_CTX_init(&ctx); 137 HMAC_CTX_init(&ctx);
133 HMAC_CTX_init(&ctx_tmp); 138 HMAC_CTX_init(&ctx_tmp);
139 HMAC_CTX_set_flags(&ctx, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
140 HMAC_CTX_set_flags(&ctx_tmp, EVP_MD_CTX_FLAG_NON_FIPS_ALLOW);
134 HMAC_Init_ex(&ctx,sec,sec_len,md, NULL); 141 HMAC_Init_ex(&ctx,sec,sec_len,md, NULL);
135 HMAC_Init_ex(&ctx_tmp,sec,sec_len,md, NULL); 142 HMAC_Init_ex(&ctx_tmp,sec,sec_len,md, NULL);
136 HMAC_Update(&ctx,seed,seed_len); 143 HMAC_Update(&ctx,seed,seed_len);
@@ -249,15 +256,15 @@ int tls1_change_cipher_state(SSL *s, int which)
249#ifdef KSSL_DEBUG 256#ifdef KSSL_DEBUG
250 printf("tls1_change_cipher_state(which= %d) w/\n", which); 257 printf("tls1_change_cipher_state(which= %d) w/\n", which);
251 printf("\talg= %ld, comp= %p\n", s->s3->tmp.new_cipher->algorithms, 258 printf("\talg= %ld, comp= %p\n", s->s3->tmp.new_cipher->algorithms,
252 comp); 259 (void *)comp);
253 printf("\tevp_cipher == %p ==? &d_cbc_ede_cipher3\n", c); 260 printf("\tevp_cipher == %p ==? &d_cbc_ede_cipher3\n", (void *)c);
254 printf("\tevp_cipher: nid, blksz= %d, %d, keylen=%d, ivlen=%d\n", 261 printf("\tevp_cipher: nid, blksz= %d, %d, keylen=%d, ivlen=%d\n",
255 c->nid,c->block_size,c->key_len,c->iv_len); 262 c->nid,c->block_size,c->key_len,c->iv_len);
256 printf("\tkey_block: len= %d, data= ", s->s3->tmp.key_block_length); 263 printf("\tkey_block: len= %d, data= ", s->s3->tmp.key_block_length);
257 { 264 {
258 int i; 265 int ki;
259 for (i=0; i<s->s3->tmp.key_block_length; i++) 266 for (ki=0; ki<s->s3->tmp.key_block_length; ki++)
260 printf("%02x", key_block[i]); printf("\n"); 267 printf("%02x", key_block[ki]); printf("\n");
261 } 268 }
262#endif /* KSSL_DEBUG */ 269#endif /* KSSL_DEBUG */
263 270
@@ -413,11 +420,13 @@ printf("which = %04X\nmac key=",which);
413 s->session->key_arg_length=0; 420 s->session->key_arg_length=0;
414#ifdef KSSL_DEBUG 421#ifdef KSSL_DEBUG
415 { 422 {
416 int i; 423 int ki;
417 printf("EVP_CipherInit_ex(dd,c,key=,iv=,which)\n"); 424 printf("EVP_CipherInit_ex(dd,c,key=,iv=,which)\n");
418 printf("\tkey= "); for (i=0; i<c->key_len; i++) printf("%02x", key[i]); 425 printf("\tkey= ");
426 for (ki=0; ki<c->key_len; ki++) printf("%02x", key[ki]);
419 printf("\n"); 427 printf("\n");
420 printf("\t iv= "); for (i=0; i<c->iv_len; i++) printf("%02x", iv[i]); 428 printf("\t iv= ");
429 for (ki=0; ki<c->iv_len; ki++) printf("%02x", iv[ki]);
421 printf("\n"); 430 printf("\n");
422 } 431 }
423#endif /* KSSL_DEBUG */ 432#endif /* KSSL_DEBUG */
@@ -590,10 +599,11 @@ int tls1_enc(SSL *s, int send)
590 { 599 {
591 unsigned long ui; 600 unsigned long ui;
592 printf("EVP_Cipher(ds=%p,rec->data=%p,rec->input=%p,l=%ld) ==>\n", 601 printf("EVP_Cipher(ds=%p,rec->data=%p,rec->input=%p,l=%ld) ==>\n",
593 ds,rec->data,rec->input,l); 602 (void *)ds,rec->data,rec->input,l);
594 printf("\tEVP_CIPHER_CTX: %d buf_len, %d key_len [%d %d], %d iv_len\n", 603 printf("\tEVP_CIPHER_CTX: %d buf_len, %d key_len [%ld %ld], %d iv_len\n",
595 ds->buf_len, ds->cipher->key_len, 604 ds->buf_len, ds->cipher->key_len,
596 DES_KEY_SZ, DES_SCHEDULE_SZ, 605 (unsigned long)DES_KEY_SZ,
606 (unsigned long)DES_SCHEDULE_SZ,
597 ds->cipher->iv_len); 607 ds->cipher->iv_len);
598 printf("\t\tIV: "); 608 printf("\t\tIV: ");
599 for (i=0; i<ds->cipher->iv_len; i++) printf("%02X", ds->iv[i]); 609 for (i=0; i<ds->cipher->iv_len; i++) printf("%02X", ds->iv[i]);
@@ -618,10 +628,10 @@ int tls1_enc(SSL *s, int send)
618 628
619#ifdef KSSL_DEBUG 629#ifdef KSSL_DEBUG
620 { 630 {
621 unsigned long i; 631 unsigned long ki;
622 printf("\trec->data="); 632 printf("\trec->data=");
623 for (i=0; i<l; i++) 633 for (ki=0; ki<l; i++)
624 printf(" %02x", rec->data[i]); printf("\n"); 634 printf(" %02x", rec->data[ki]); printf("\n");
625 } 635 }
626#endif /* KSSL_DEBUG */ 636#endif /* KSSL_DEBUG */
627 637
@@ -805,7 +815,7 @@ int tls1_generate_master_secret(SSL *s, unsigned char *out, unsigned char *p,
805 unsigned char buff[SSL_MAX_MASTER_KEY_LENGTH]; 815 unsigned char buff[SSL_MAX_MASTER_KEY_LENGTH];
806 816
807#ifdef KSSL_DEBUG 817#ifdef KSSL_DEBUG
808 printf ("tls1_generate_master_secret(%p,%p, %p, %d)\n", s,out, p,len); 818 printf ("tls1_generate_master_secret(%p,%p, %p, %d)\n", (void *)s,out, p,len);
809#endif /* KSSL_DEBUG */ 819#endif /* KSSL_DEBUG */
810 820
811 /* Setup the stuff to munge */ 821 /* Setup the stuff to munge */
@@ -852,8 +862,10 @@ int tls1_alert_code(int code)
852 case SSL_AD_INTERNAL_ERROR: return(TLS1_AD_INTERNAL_ERROR); 862 case SSL_AD_INTERNAL_ERROR: return(TLS1_AD_INTERNAL_ERROR);
853 case SSL_AD_USER_CANCELLED: return(TLS1_AD_USER_CANCELLED); 863 case SSL_AD_USER_CANCELLED: return(TLS1_AD_USER_CANCELLED);
854 case SSL_AD_NO_RENEGOTIATION: return(TLS1_AD_NO_RENEGOTIATION); 864 case SSL_AD_NO_RENEGOTIATION: return(TLS1_AD_NO_RENEGOTIATION);
865#ifdef DTLS1_AD_MISSING_HANDSHAKE_MESSAGE
855 case DTLS1_AD_MISSING_HANDSHAKE_MESSAGE: return 866 case DTLS1_AD_MISSING_HANDSHAKE_MESSAGE: return
856 (DTLS1_AD_MISSING_HANDSHAKE_MESSAGE); 867 (DTLS1_AD_MISSING_HANDSHAKE_MESSAGE);
868#endif
857 default: return(-1); 869 default: return(-1);
858 } 870 }
859 } 871 }