|
RSA_private_encrypt(3)
Contents
|
RSA_private_encrypt, RSA_public_decrypt - Low level signature
operations
#include <openssl/rsa.h>
int RSA_private_encrypt(
int flen, unsigned char *from, unsigned char *to,
RSA *rsa, int padding ); int RSA_public_decrypt(
int flen, unsigned char *from, unsigned char *to,
RSA *rsa, int padding );
These functions handle RSA signatures at a low level.
The RSA_private_encrypt() function signs the flen bytes at
from (usually a message digest with an algorithm identifier)
using the private key rsa and stores the signature
in to. The to must point to RSA_size(rsa) bytes of memory.
The padding denotes one of the following modes: PKCS #1
v1.5 padding. This function does not handle the algorithmIdentifier
specified in PKCS #1. When generating or verifying
PKCS #1 signatures, the RSA_sign() and RSA_verify()
functions should be used. Raw RSA signature. This mode
should only be used to implement cryptographically sound
padding modes in the application code. Signing user data
directly with RSA is insecure.
The RSA_public_decrypt() function recovers the message
digest from the flen bytes long signature at from using
the signer's public key rsa. The to must point to a memory
section large enough to hold the message digest (which is
smaller than RSA_size(rsa) - 11). The padding is the
padding mode that was used to sign the data.
The RSA_private_encrypt() function returns the size of the
signature (i.e., RSA_size(rsa)). The RSA_public_decrypt()
function returns the size of the recovered message digest.
On error, -1 is returned; the error codes can be obtained
by using the ERR_get_error() function.
The padding argument was added in SSLeay 0.8.
RSA_NO_PADDING is available since SSLeay 0.9.0.
Functions: err(3), rsa(3), RSA_sign(3), RSA_verify(3)
RSA_private_encrypt(3)
[ Back ] |