EVP: Make the SIGNATURE implementation leaner
[openssl.git] / doc / man3 / RSA_sign_ASN1_OCTET_STRING.pod
1 =pod
2
3 =head1 NAME
4
5 RSA_sign_ASN1_OCTET_STRING, RSA_verify_ASN1_OCTET_STRING - RSA signatures
6
7 =head1 SYNOPSIS
8
9  #include <openssl/rsa.h>
10
11  int RSA_sign_ASN1_OCTET_STRING(int dummy, unsigned char *m,
12                                 unsigned int m_len, unsigned char *sigret,
13                                 unsigned int *siglen, RSA *rsa);
14
15  int RSA_verify_ASN1_OCTET_STRING(int dummy, unsigned char *m,
16                                   unsigned int m_len, unsigned char *sigbuf,
17                                   unsigned int siglen, RSA *rsa);
18
19 =head1 DESCRIPTION
20
21 RSA_sign_ASN1_OCTET_STRING() signs the octet string B<m> of size
22 B<m_len> using the private key B<rsa> represented in DER using PKCS #1
23 padding. It stores the signature in B<sigret> and the signature size
24 in B<siglen>. B<sigret> must point to B<RSA_size(rsa)> bytes of
25 memory.
26
27 B<dummy> is ignored.
28
29 The random number generator must be seeded when calling
30 RSA_sign_ASN1_OCTET_STRING().
31 If the automatic seeding or reseeding of the OpenSSL CSPRNG fails due to
32 external circumstances (see L<RAND(7)>), the operation will fail.
33
34 RSA_verify_ASN1_OCTET_STRING() verifies that the signature B<sigbuf>
35 of size B<siglen> is the DER representation of a given octet string
36 B<m> of size B<m_len>. B<dummy> is ignored. B<rsa> is the signer's
37 public key.
38
39 =head1 RETURN VALUES
40
41 RSA_sign_ASN1_OCTET_STRING() returns 1 on success, 0 otherwise.
42 RSA_verify_ASN1_OCTET_STRING() returns 1 on successful verification, 0
43 otherwise.
44
45 The error codes can be obtained by L<ERR_get_error(3)>.
46
47 =head1 BUGS
48
49 These functions serve no recognizable purpose.
50
51 =head1 SEE ALSO
52
53 L<ERR_get_error(3)>,
54 L<RAND_bytes(3)>, L<RSA_sign(3)>,
55 L<RSA_verify(3)>,
56 L<RAND(7)>
57
58 =head1 COPYRIGHT
59
60 Copyright 2000-2016 The OpenSSL Project Authors. All Rights Reserved.
61
62 Licensed under the Apache License 2.0 (the "License").  You may not use
63 this file except in compliance with the License.  You can obtain a copy
64 in the file LICENSE in the source distribution or at
65 L<https://www.openssl.org/source/license.html>.
66
67 =cut