http://www.openssl.org/contrib/intel-accel-1.4.tar.gz
I'm attempting to use the libintel-accel-1.4 ENGINE with my OpenSSL 0.9.8x
application.
I'm running into a few snags:
1) Why does the sha1_md structure in e_intel_accel.c (L268) set the
required_pkey_type to EVP_PKEY_NULL_method? This seems to be causing my
application to generate the following error(s) during SSL handshakes:
information: X509_sign
error signing cert
digitial envelope routines:EVP_SignFinal:wrong public key type
asn1 encoding routines:ASN1_item_sign:EVP lib
All of the other ENGINE implementations that I'm familiar with set
required_pkey_type to EVP_PKEY_RSA_method for SHA-1.
2) After applying the tls-aead-0.9.8.diff changes to the OpenSSL code, my
application seg faults during the handshake phase:
#0 0x28242b24 in EVP_MD_size (md=0x0)
In tls1_setup_key_block (~L484):
num=EVP_CIPHER_key_length(c)+EVP_MD_size(hash)+EVP_CIPHER_iv_length(c);
EVP_MD_size tries to access a NULL pointer (hash).
It was set to NULL by the AEAD code changes in ssl_cipher_get_evp():
if(s->ssl_version >= TLS1_VERSION &&
(c->algorithms & SSL_ENC_MASK) == SSL_RC4 &&
(c->algorithms & SSL_MAC_MASK) == SSL_MD5 &&
(evp=EVP_get_cipherbyname("RC4-HMAC-MD5")))
*enc = evp, *md = NULL;
else if (s->ssl_version >= TLS1_VERSION &&
(c->algorithms & SSL_ENC_MASK) == SSL_AES &&
(c->algorithms & SSL_MAC_MASK) == SSL_SHA1 &&
(evp=EVP_get_cipherbyname(
c->alg_bits==128?"AES-128-CBC-HMAC-SHA1":
"AES-256-CBC-HMAC-SHA1")))
*enc = evp, *md = NULL;
return(1);
}
I scanned the 1.0.1c code to see how this works there, and it looks like
EVP_MD_size() now checks for NULL before referencing it, but also, the
"num=EVP_CIPHER_key_length..." line above doesn't even call EVP_MD_size
anymore. It uses a "mac_secret_size" value in the calculation. That field
does not seem to be present in the 0.9.8 branch.
Are there some other required changes missing from the "tls-aead-0.9.8.diff"
file?
Thanks for any help.
______________________________________________________________________
OpenSSL Project http://www.openssl.org
Development Mailing List [email protected]
Automated List Manager [email protected]