RSA_SIGN(3) OpenSSL 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

*RSA_sign*() 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**.
**sigret** must point to RSA_size(**rsa**) bytes of memory.
**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.
*RSA_verify*() verifies that the signature **sigbuf** of size
**siglen** matches a given message digest **m** of size **m_len. type**
denotes the message digest algorithm that was used to gen-
erate the signature. **rsa** is the signer's public key.

## RETURN VALUES

*RSA_sign*() returns 1 on success, 0 otherwise. *RSA_verify*()
returns 1 on successful verification, 0 otherwise.
The error codes can be obtained by *ERR_get_error*(3).

## BUGS

Certain signatures with an improper algorithm identifier are
accepted for compatibility with SSLeay 0.4.5 :-)

## CONFORMING TO

SSL, PKCS #1 v2.0

## SEE ALSO

*ERR_get_error*(3), *objects*(3), *rsa*(3),
*RSA_private_encrypt*(3), *RSA_public_decrypt*(3)

## HISTORY

*RSA_sign*() and *RSA_verify*() are available in all versions of
SSLeay and OpenSSL.
MirOS BSD #10-current 2005-02-05 1

Generated on 2017-04-03 16:26:17 by `$MirOS: src/scripts/roff2htm,v 1.88 2017/01/29 00:51:06 tg Exp $`

These manual pages and other documentation are copyrighted by their respective writers;
their source is available at our CVSweb,
AnonCVS, and other mirrors. The rest is Copyright © 2002–2017 The MirOS Project, Germany.

This product includes material
provided by **mirabilos**.

This manual page’s HTML representation
is supposed to be valid
XHTML/1.1; if not, please send a bug report — diffs preferred.