Commit fd75eb50 authored by Dr. Stephen Henson's avatar Dr. Stephen Henson
Browse files

Make EVP_SealInit() and EVP_OpenInit() check EVP_EncryptInit() and

EVP_DecryptInit() return values.

Update docs.
parent a91dedca
Loading
Loading
Loading
Loading
+1 −3
Original line number Diff line number Diff line
@@ -71,7 +71,7 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,

	if(type) {	
		EVP_CIPHER_CTX_init(ctx);
		EVP_DecryptInit(ctx,type,NULL,NULL);
		if(!EVP_DecryptInit(ctx,type,NULL,NULL)) return 0;
	}

	if(!priv) return 1;
@@ -79,7 +79,6 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,
	if (priv->type != EVP_PKEY_RSA)
		{
		EVPerr(EVP_F_EVP_OPENINIT,EVP_R_PUBLIC_KEY_NOT_RSA);
		ret= -1;
		goto err;
                }

@@ -89,7 +88,6 @@ int EVP_OpenInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char *ek,
		{
		/* ERROR */
		EVPerr(EVP_F_EVP_OPENINIT,ERR_R_MALLOC_FAILURE);
		ret= -1;
		goto err;
		}

+1 −1
Original line number Diff line number Diff line
@@ -74,7 +74,7 @@ int EVP_SealInit(EVP_CIPHER_CTX *ctx, EVP_CIPHER *type, unsigned char **ek,
	
	if(type) {
		EVP_CIPHER_CTX_init(ctx);
		EVP_EncryptInit(ctx,type,NULL,NULL);
		if(!EVP_EncryptInit(ctx,type,NULL,NULL)) return 0;
	}
	if (npubk <= 0) return(0);
	if (RAND_bytes(key,EVP_MAX_KEY_LENGTH) <= 0)
+1 −1
Original line number Diff line number Diff line
@@ -48,7 +48,7 @@ key length must match the fixed cipher length.
EVP_OpenInit() returns -1 on error or a non zero integer (actually the
recovered secret key size) if successful.

EVP_OpenUpdate() does not return a value.
EVP_OpenUpdate() returns 1 for success of 0 for failure.

EVP_OpenFinal() returns 0 if the decrypt failed or 1 for success.

+2 −1
Original line number Diff line number Diff line
@@ -43,7 +43,8 @@ page.

EVP_SealInit() returns -1 on error or B<npubk> if successful.

EVP_SealUpdate() and EVP_SealFinal() do not return values.
EVP_SealUpdate() and EVP_SealFinal() return 1 for success and 0 for
failure.

=head1 NOTES