RSA_sign, RSA_verify - RSA signatures
#include <openssl/rsa.h>
int RSA_sign(
int type, unsigned char *m, unsigned int m_len,
unsigned char *sigret, unsigned int *siglen, RSA *rsa );
int RSA_verify(
int type, unsigned char *m, unsigned int m_len,
unsigned char *sigbuf, unsigned int siglen, RSA *rsa );
The RSA_sign() function signs the message digest m of size
m_len using the private key rsa as specified in PKCS #1
v2.0. It stores the signature in sigret and the signature
size in siglen. The sigret must point to RSA_size(rsa)
bytes of memory.
The type denotes the message digest algorithm that was
used to generate m. It usually is one of NID_sha1,
NID_ripemd160 and NID_md5. See objects(3) for details. If
type is NID_md5_sha1, an SSL signature (MD5 and SHA1 message
digests with PKCS #1 padding and no algorithm identifier)
is created.
The RSA_verify() function verifies that the signature sigbuf
of size siglen matches a given message digest m of
size m_len. The type denotes the message digest algorithm
that was used to generate the signature. The rsa is the
signer's public key.
These functions conform to SSL, PKCS #1 v2.0.
Certain signatures with an improper algorithm identifier
are accepted for compatibility with SSLeay 0.4.5.
The RSA_sign() function returns 1 on success, 0 otherwise.
The RSA_verify() function returns 1 on successful verification,
0 otherwise.
The error codes can be obtained by using the
ERR_get_error() function.
The RSA_sign() and RSA_verify() functions are available in
all versions of SSLeay and OpenSSL.
Functions: err(3), objects(3), rsa(3), RSA_private_encrypt(3), RSA_public_decrypt(3)
RSA_sign(3)
[ Back ] |