Index Index for
Section 3
Index Alphabetical
listing for R
Bottom of page Bottom of
page

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 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.

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 otherwise. 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_public_decrypt(3)

Index Index for
Section 3
Index Alphabetical
listing for R
Top of page Top of
page