RSA_sign(3)RSA_sign(3)NAME
RSA_sign, RSA_verify - RSA signatures
SYNOPSIS
#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 );
DESCRIPTION
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 signa‐
ture 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 identi‐
fier) 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.
RESTRICTIONS
Certain signatures with an improper algorithm identifier are accepted
for compatibility with SSLeay 0.4.5.
RETURN VALUES
The RSA_sign() function returns 1 on success, 0 otherwise. The
RSA_verify() function returns 1 on successful verification, 0 other‐
wise.
The error codes can be obtained by using the ERR_get_error() function.
HISTORY
The RSA_sign() and RSA_verify() functions are available in all versions
of SSLeay and OpenSSL.
SEE ALSO
Functions: err(3), objects(3), rsa(3), RSA_private_encrypt(3), RSA_pub‐
lic_decrypt(3)RSA_sign(3)