# Sortix nightly manual

This manual documents Sortix nightly, a development build that has not been officially released. You can instead view this document in the latest official manual.

RSA_SIGN(3) | Library Functions Manual | RSA_SIGN(3) |

# NAME

`RSA_sign`

,
`RSA_verify`

—
RSA signatures

# SYNOPSIS

```
#include
<openssl/rsa.h>
```

`int`

`RSA_sign`

(`int type`,

`const unsigned char *m`,

`unsigned int m_len`,

`unsigned char *sigret`,

`unsigned int *siglen`,

`RSA *rsa`);

`int`

`RSA_verify`

(`int type`,

`const 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`using RSASSA-PKCS1-v1_5 as specified in RFC 3447. It stores the signature in

`sigret`and the signature size in

`siglen`.

`sigret`must point to

`RSA_size`

(`rsa`) bytes of memory. Note that PKCS #1 adds meta-data, placing limits on the size of the key that can be used. See RSA_private_encrypt(3) for lower-level operations.

`type`denotes the message digest algorithm that was used to generate

`m`. 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 generate the signature.

`rsa`is the signer's public key.

# RETURN VALUES

`RSA_sign`

() returns 1 on success.
`RSA_verify`

() returns 1 on successful
verification.
The error codes can be obtained by
ERR_get_error(3).
# SEE ALSO

RSA_meth_set_sign(3), RSA_new(3), RSA_private_encrypt(3), RSA_public_decrypt(3)# STANDARDS

SSL, PKCS #1 v2.0# HISTORY

`RSA_sign`

() first appeared in SSLeay 0.4.4.
`RSA_verify`

() first appeared in SSLeay
0.6.0. Both functions have been available since OpenBSD
2.4.June 10, 2019 | Debian |