diff options
Diffstat (limited to 'src/lib/libcrypto/doc/RSA_sign.pod')
| -rw-r--r-- | src/lib/libcrypto/doc/RSA_sign.pod | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/src/lib/libcrypto/doc/RSA_sign.pod b/src/lib/libcrypto/doc/RSA_sign.pod new file mode 100644 index 0000000000..8553be8e99 --- /dev/null +++ b/src/lib/libcrypto/doc/RSA_sign.pod | |||
| @@ -0,0 +1,62 @@ | |||
| 1 | =pod | ||
| 2 | |||
| 3 | =head1 NAME | ||
| 4 | |||
| 5 | RSA_sign, RSA_verify - RSA signatures | ||
| 6 | |||
| 7 | =head1 SYNOPSIS | ||
| 8 | |||
| 9 | #include <openssl/rsa.h> | ||
| 10 | |||
| 11 | int RSA_sign(int type, const unsigned char *m, unsigned int m_len, | ||
| 12 | unsigned char *sigret, unsigned int *siglen, RSA *rsa); | ||
| 13 | |||
| 14 | int RSA_verify(int type, const unsigned char *m, unsigned int m_len, | ||
| 15 | unsigned char *sigbuf, unsigned int siglen, RSA *rsa); | ||
| 16 | |||
| 17 | =head1 DESCRIPTION | ||
| 18 | |||
| 19 | RSA_sign() signs the message digest B<m> of size B<m_len> using the | ||
| 20 | private key B<rsa> as specified in PKCS #1 v2.0. It stores the | ||
| 21 | signature in B<sigret> and the signature size in B<siglen>. B<sigret> | ||
| 22 | must point to RSA_size(B<rsa>) bytes of memory. | ||
| 23 | |||
| 24 | B<type> denotes the message digest algorithm that was used to generate | ||
| 25 | B<m>. It usually is one of B<NID_sha1>, B<NID_ripemd160> and B<NID_md5>; | ||
| 26 | see L<objects(3)|objects(3)> for details. If B<type> is B<NID_md5_sha1>, | ||
| 27 | an SSL signature (MD5 and SHA1 message digests with PKCS #1 padding | ||
| 28 | and no algorithm identifier) is created. | ||
| 29 | |||
| 30 | RSA_verify() verifies that the signature B<sigbuf> of size B<siglen> | ||
| 31 | matches a given message digest B<m> of size B<m_len>. B<type> denotes | ||
| 32 | the message digest algorithm that was used to generate the signature. | ||
| 33 | B<rsa> is the signer's public key. | ||
| 34 | |||
| 35 | =head1 RETURN VALUES | ||
| 36 | |||
| 37 | RSA_sign() returns 1 on success, 0 otherwise. RSA_verify() returns 1 | ||
| 38 | on successful verification, 0 otherwise. | ||
| 39 | |||
| 40 | The error codes can be obtained by L<ERR_get_error(3)|ERR_get_error(3)>. | ||
| 41 | |||
| 42 | =head1 BUGS | ||
| 43 | |||
| 44 | Certain signatures with an improper algorithm identifier are accepted | ||
| 45 | for compatibility with SSLeay 0.4.5 :-) | ||
| 46 | |||
| 47 | =head1 CONFORMING TO | ||
| 48 | |||
| 49 | SSL, PKCS #1 v2.0 | ||
| 50 | |||
| 51 | =head1 SEE ALSO | ||
| 52 | |||
| 53 | L<ERR_get_error(3)|ERR_get_error(3)>, L<objects(3)|objects(3)>, | ||
| 54 | L<rsa(3)|rsa(3)>, L<RSA_private_encrypt(3)|RSA_private_encrypt(3)>, | ||
| 55 | L<RSA_public_decrypt(3)|RSA_public_decrypt(3)> | ||
| 56 | |||
| 57 | =head1 HISTORY | ||
| 58 | |||
| 59 | RSA_sign() and RSA_verify() are available in all versions of SSLeay | ||
| 60 | and OpenSSL. | ||
| 61 | |||
| 62 | =cut | ||
