Add call to ENGINE_register_all_complete() to ENGINE_load_builtin_engines(),

this means that some implementations will be used automatically, e.g. aesni,
we do this for cryptodev anyway.

Setup cpuid in ENGINE_load_builtin_engines() too as some ENGINEs use it.
This commit is contained in:
Dr. Stephen Henson 2010-10-03 18:56:25 +00:00
parent 9e15cc606e
commit 945ba0300d
5 changed files with 12 additions and 5 deletions

View File

@ -893,6 +893,11 @@
Changes between 0.9.8o and 0.9.8p [xx XXX xxxx] Changes between 0.9.8o and 0.9.8p [xx XXX xxxx]
*) Don't reencode certificate when calculating signature: cache and use
the original encoding instead. This makes signature verification of
some broken encodings work correctly.
[Steve Henson]
*) ec2_GF2m_simple_mul bugfix: compute correct result if the output EC_POINT *) ec2_GF2m_simple_mul bugfix: compute correct result if the output EC_POINT
is also one of the inputs. is also one of the inputs.
[Emilia Käsper <emilia.kasper@esat.kuleuven.be> (Google)] [Emilia Käsper <emilia.kasper@esat.kuleuven.be> (Google)]

View File

@ -63,7 +63,7 @@
#include <openssl/x509.h> #include <openssl/x509.h>
#include <openssl/x509v3.h> #include <openssl/x509v3.h>
ASN1_SEQUENCE(X509_CINF) = { ASN1_SEQUENCE_enc(X509_CINF, enc, 0) = {
ASN1_EXP_OPT(X509_CINF, version, ASN1_INTEGER, 0), ASN1_EXP_OPT(X509_CINF, version, ASN1_INTEGER, 0),
ASN1_SIMPLE(X509_CINF, serialNumber, ASN1_INTEGER), ASN1_SIMPLE(X509_CINF, serialNumber, ASN1_INTEGER),
ASN1_SIMPLE(X509_CINF, signature, X509_ALGOR), ASN1_SIMPLE(X509_CINF, signature, X509_ALGOR),
@ -74,7 +74,7 @@ ASN1_SEQUENCE(X509_CINF) = {
ASN1_IMP_OPT(X509_CINF, issuerUID, ASN1_BIT_STRING, 1), ASN1_IMP_OPT(X509_CINF, issuerUID, ASN1_BIT_STRING, 1),
ASN1_IMP_OPT(X509_CINF, subjectUID, ASN1_BIT_STRING, 2), ASN1_IMP_OPT(X509_CINF, subjectUID, ASN1_BIT_STRING, 2),
ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3) ASN1_EXP_SEQUENCE_OF_OPT(X509_CINF, extensions, X509_EXTENSION, 3)
} ASN1_SEQUENCE_END(X509_CINF) } ASN1_SEQUENCE_END_enc(X509_CINF, X509_CINF)
IMPLEMENT_ASN1_FUNCTIONS(X509_CINF) IMPLEMENT_ASN1_FUNCTIONS(X509_CINF)
/* X509 top level structure needs a bit of customisation */ /* X509 top level structure needs a bit of customisation */

View File

@ -234,7 +234,7 @@ static void group_order_tests(EC_GROUP *group)
BN_CTX_free(ctx); BN_CTX_free(ctx);
} }
void prime_field_tests() static void prime_field_tests()
{ {
BN_CTX *ctx = NULL; BN_CTX *ctx = NULL;
BIGNUM *p, *a, *b; BIGNUM *p, *a, *b;
@ -777,7 +777,7 @@ void prime_field_tests()
if (!EC_GROUP_copy(_variable, group)) ABORT; \ if (!EC_GROUP_copy(_variable, group)) ABORT; \
void char2_field_tests() static void char2_field_tests()
{ {
BN_CTX *ctx = NULL; BN_CTX *ctx = NULL;
BIGNUM *p, *a, *b; BIGNUM *p, *a, *b;
@ -1211,7 +1211,7 @@ void char2_field_tests()
} }
void internal_curve_test(void) static void internal_curve_test(void)
{ {
EC_builtin_curve *curves = NULL; EC_builtin_curve *curves = NULL;
size_t crv_len = 0, n = 0; size_t crv_len = 0, n = 0;

View File

@ -258,6 +258,7 @@ typedef struct x509_cinf_st
ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */ ASN1_BIT_STRING *issuerUID; /* [ 1 ] optional in v2 */
ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */ ASN1_BIT_STRING *subjectUID; /* [ 2 ] optional in v2 */
STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */ STACK_OF(X509_EXTENSION) *extensions; /* [ 3 ] optional in v3 */
ASN1_ENCODING enc;
} X509_CINF; } X509_CINF;
/* This stuff is certificate "auxiliary info" /* This stuff is certificate "auxiliary info"

View File

@ -90,6 +90,7 @@ int NETSCAPE_SPKI_verify(NETSCAPE_SPKI *a, EVP_PKEY *r)
int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md) int X509_sign(X509 *x, EVP_PKEY *pkey, const EVP_MD *md)
{ {
x->cert_info->enc.modified = 1;
return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), x->cert_info->signature, return(ASN1_item_sign(ASN1_ITEM_rptr(X509_CINF), x->cert_info->signature,
x->sig_alg, x->signature, x->cert_info,pkey,md)); x->sig_alg, x->signature, x->cert_info,pkey,md));
} }