提交 e366f2b8 编写于 作者: D Dr. Stephen Henson

Fix evp_locl.h macros.

Documentation correction.
上级 fd75eb50
...@@ -4,6 +4,11 @@ ...@@ -4,6 +4,11 @@
Changes between 0.9.5a and 0.9.6 [xx XXX 2000] Changes between 0.9.5a and 0.9.6 [xx XXX 2000]
*) The evp_local.h macros were using 'c.##kname' which resulted in
invalid expansion on some systems (SCO 5.0.5 for example).
Corrected to 'c.kname'.
[Phillip Porch <root@theporch.com>]
*) New X509_get1_email() and X509_REQ_get1_email() functions that return *) New X509_get1_email() and X509_REQ_get1_email() functions that return
a STACK of email addresses from a certificate or request, these look a STACK of email addresses from a certificate or request, these look
in the subject name and the subject alternative name extensions and in the subject name and the subject alternative name extensions and
......
...@@ -70,28 +70,28 @@ ...@@ -70,28 +70,28 @@
static int cname##_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \ static int cname##_ecb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
{\ {\
BLOCK_CIPHER_ecb_loop() \ BLOCK_CIPHER_ecb_loop() \
cprefix##_ecb_encrypt(in + i, out + i, &ctx->c.##kname, ctx->encrypt);\ cprefix##_ecb_encrypt(in + i, out + i, &ctx->c.kname, ctx->encrypt);\
return 1;\ return 1;\
} }
#define BLOCK_CIPHER_func_ofb(cname, cprefix, kname) \ #define BLOCK_CIPHER_func_ofb(cname, cprefix, kname) \
static int cname##_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \ static int cname##_ofb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
{\ {\
cprefix##_ofb64_encrypt(in, out, (long)inl, &ctx->c.##kname, ctx->iv, &ctx->num);\ cprefix##_ofb64_encrypt(in, out, (long)inl, &ctx->c.kname, ctx->iv, &ctx->num);\
return 1;\ return 1;\
} }
#define BLOCK_CIPHER_func_cbc(cname, cprefix, kname) \ #define BLOCK_CIPHER_func_cbc(cname, cprefix, kname) \
static int cname##_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \ static int cname##_cbc_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
{\ {\
cprefix##_cbc_encrypt(in, out, (long)inl, &ctx->c.##kname, ctx->iv, ctx->encrypt);\ cprefix##_cbc_encrypt(in, out, (long)inl, &ctx->c.kname, ctx->iv, ctx->encrypt);\
return 1;\ return 1;\
} }
#define BLOCK_CIPHER_func_cfb(cname, cprefix, kname) \ #define BLOCK_CIPHER_func_cfb(cname, cprefix, kname) \
static int cname##_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \ static int cname##_cfb_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out, const unsigned char *in, unsigned int inl) \
{\ {\
cprefix##_cfb64_encrypt(in, out, (long)inl, &ctx->c.##kname, ctx->iv, &ctx->num, ctx->encrypt);\ cprefix##_cfb64_encrypt(in, out, (long)inl, &ctx->c.kname, ctx->iv, &ctx->num, ctx->encrypt);\
return 1;\ return 1;\
} }
...@@ -111,7 +111,7 @@ static EVP_CIPHER cname##_cbc = {\ ...@@ -111,7 +111,7 @@ static EVP_CIPHER cname##_cbc = {\
cname##_cbc_cipher,\ cname##_cbc_cipher,\
cleanup,\ cleanup,\
sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\ sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\
sizeof((((EVP_CIPHER_CTX *)NULL)->c.##kstruct)),\ sizeof((((EVP_CIPHER_CTX *)NULL)->c.kstruct)),\
set_asn1, get_asn1,\ set_asn1, get_asn1,\
ctrl, \ ctrl, \
NULL \ NULL \
...@@ -124,7 +124,7 @@ static EVP_CIPHER cname##_cfb = {\ ...@@ -124,7 +124,7 @@ static EVP_CIPHER cname##_cfb = {\
cname##_cfb_cipher,\ cname##_cfb_cipher,\
cleanup,\ cleanup,\
sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\ sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\
sizeof((((EVP_CIPHER_CTX *)NULL)->c.##kstruct)),\ sizeof((((EVP_CIPHER_CTX *)NULL)->c.kstruct)),\
set_asn1, get_asn1,\ set_asn1, get_asn1,\
ctrl,\ ctrl,\
NULL \ NULL \
...@@ -137,7 +137,7 @@ static EVP_CIPHER cname##_ofb = {\ ...@@ -137,7 +137,7 @@ static EVP_CIPHER cname##_ofb = {\
cname##_ofb_cipher,\ cname##_ofb_cipher,\
cleanup,\ cleanup,\
sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\ sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\
sizeof((((EVP_CIPHER_CTX *)NULL)->c.##kstruct)),\ sizeof((((EVP_CIPHER_CTX *)NULL)->c.kstruct)),\
set_asn1, get_asn1,\ set_asn1, get_asn1,\
ctrl,\ ctrl,\
NULL \ NULL \
...@@ -150,7 +150,7 @@ static EVP_CIPHER cname##_ecb = {\ ...@@ -150,7 +150,7 @@ static EVP_CIPHER cname##_ecb = {\
cname##_ecb_cipher,\ cname##_ecb_cipher,\
cleanup,\ cleanup,\
sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\ sizeof(EVP_CIPHER_CTX)-sizeof((((EVP_CIPHER_CTX *)NULL)->c))+\
sizeof((((EVP_CIPHER_CTX *)NULL)->c.##kstruct)),\ sizeof((((EVP_CIPHER_CTX *)NULL)->c.kstruct)),\
set_asn1, get_asn1,\ set_asn1, get_asn1,\
ctrl,\ ctrl,\
NULL \ NULL \
......
...@@ -10,9 +10,9 @@ EVP_OpenInit, EVP_OpenUpdate, EVP_OpenFinal - EVP envelope decryption ...@@ -10,9 +10,9 @@ EVP_OpenInit, EVP_OpenUpdate, EVP_OpenFinal - EVP envelope decryption
int EVP_OpenInit(EVP_CIPHER_CTX *ctx,EVP_CIPHER *type,unsigned char *ek, int EVP_OpenInit(EVP_CIPHER_CTX *ctx,EVP_CIPHER *type,unsigned char *ek,
int ekl,unsigned char *iv,EVP_PKEY *priv); int ekl,unsigned char *iv,EVP_PKEY *priv);
void EVP_OpenUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int EVP_OpenUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
int *outl, unsigned char *in, int inl); int *outl, unsigned char *in, int inl);
void EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int EVP_OpenFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
int *outl); int *outl);
=head1 DESCRIPTION =head1 DESCRIPTION
...@@ -45,10 +45,10 @@ key length must match the fixed cipher length. ...@@ -45,10 +45,10 @@ key length must match the fixed cipher length.
=head1 RETURN VALUES =head1 RETURN VALUES
EVP_OpenInit() returns -1 on error or a non zero integer (actually the EVP_OpenInit() returns 0 on error or a non zero integer (actually the
recovered secret key size) if successful. recovered secret key size) if successful.
EVP_OpenUpdate() returns 1 for success of 0 for failure. EVP_OpenUpdate() returns 1 for success or 0 for failure.
EVP_OpenFinal() returns 0 if the decrypt failed or 1 for success. EVP_OpenFinal() returns 0 if the decrypt failed or 1 for success.
......
...@@ -10,9 +10,9 @@ EVP_SealInit, EVP_SealUpdate, EVP_SealFinal - EVP envelope encryption ...@@ -10,9 +10,9 @@ EVP_SealInit, EVP_SealUpdate, EVP_SealFinal - EVP envelope encryption
int EVP_SealInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char **ek, int EVP_SealInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char **ek,
int *ekl, unsigned char *iv,EVP_PKEY **pubk, int npubk); int *ekl, unsigned char *iv,EVP_PKEY **pubk, int npubk);
void EVP_SealUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out, int EVP_SealUpdate(EVP_CIPHER_CTX *ctx, unsigned char *out,
int *outl, unsigned char *in, int inl); int *outl, unsigned char *in, int inl);
void EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out, int EVP_SealFinal(EVP_CIPHER_CTX *ctx, unsigned char *out,
int *outl); int *outl);
=head1 DESCRIPTION =head1 DESCRIPTION
...@@ -41,7 +41,7 @@ page. ...@@ -41,7 +41,7 @@ page.
=head1 RETURN VALUES =head1 RETURN VALUES
EVP_SealInit() returns -1 on error or B<npubk> if successful. EVP_SealInit() returns 0 on error or B<npubk> if successful.
EVP_SealUpdate() and EVP_SealFinal() return 1 for success and 0 for EVP_SealUpdate() and EVP_SealFinal() return 1 for success and 0 for
failure. failure.
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册