1*b077aed3SPierre Pronchery=pod
2*b077aed3SPierre Pronchery
3*b077aed3SPierre Pronchery=head1 NAME
4*b077aed3SPierre Pronchery
5*b077aed3SPierre ProncheryEVP_SIGNATURE-RSA
6*b077aed3SPierre Pronchery- The EVP_PKEY RSA signature implementation
7*b077aed3SPierre Pronchery
8*b077aed3SPierre Pronchery=head1 DESCRIPTION
9*b077aed3SPierre Pronchery
10*b077aed3SPierre ProncherySupport for computing RSA signatures.
11*b077aed3SPierre ProncherySee L<EVP_PKEY-RSA(7)> for information related to RSA keys.
12*b077aed3SPierre Pronchery
13*b077aed3SPierre Pronchery=head2 Signature Parameters
14*b077aed3SPierre Pronchery
15*b077aed3SPierre ProncheryThe following signature parameters can be set using EVP_PKEY_CTX_set_params().
16*b077aed3SPierre ProncheryThis may be called after EVP_PKEY_sign_init() or EVP_PKEY_verify_init(),
17*b077aed3SPierre Proncheryand before calling EVP_PKEY_sign() or EVP_PKEY_verify().
18*b077aed3SPierre Pronchery
19*b077aed3SPierre Pronchery=over 4
20*b077aed3SPierre Pronchery
21*b077aed3SPierre Pronchery=item "digest" (B<OSSL_SIGNATURE_PARAM_DIGEST>) <UTF8 string>
22*b077aed3SPierre Pronchery
23*b077aed3SPierre Pronchery=item "properties" (B<OSSL_SIGNATURE_PARAM_PROPERTIES>) <UTF8 string>
24*b077aed3SPierre Pronchery
25*b077aed3SPierre ProncheryThese common parameters are described in L<provider-signature(7)>.
26*b077aed3SPierre Pronchery
27*b077aed3SPierre Pronchery=item "pad-mode" (B<OSSL_SIGNATURE_PARAM_PAD_MODE>) <UTF8 string>
28*b077aed3SPierre Pronchery
29*b077aed3SPierre ProncheryThe type of padding to be used. Its value can be one of the following:
30*b077aed3SPierre Pronchery
31*b077aed3SPierre Pronchery=over 4
32*b077aed3SPierre Pronchery
33*b077aed3SPierre Pronchery=item "none" (B<OSSL_PKEY_RSA_PAD_MODE_NONE>)
34*b077aed3SPierre Pronchery
35*b077aed3SPierre Pronchery=item "pkcs1" (B<OSSL_PKEY_RSA_PAD_MODE_PKCSV15>)
36*b077aed3SPierre Pronchery
37*b077aed3SPierre Pronchery=item "x931" (B<OSSL_PKEY_RSA_PAD_MODE_X931>)
38*b077aed3SPierre Pronchery
39*b077aed3SPierre Pronchery=item "pss" (B<OSSL_PKEY_RSA_PAD_MODE_PSS>)
40*b077aed3SPierre Pronchery
41*b077aed3SPierre Pronchery=back
42*b077aed3SPierre Pronchery
43*b077aed3SPierre Pronchery=item "mgf1-digest" (B<OSSL_SIGNATURE_PARAM_MGF1_DIGEST>) <UTF8 string>
44*b077aed3SPierre Pronchery
45*b077aed3SPierre ProncheryThe digest algorithm name to use for the maskGenAlgorithm used by "pss" mode.
46*b077aed3SPierre Pronchery
47*b077aed3SPierre Pronchery=item "mgf1-properties" (B<OSSL_SIGNATURE_PARAM_MGF1_PROPERTIES>) <UTF8 string>
48*b077aed3SPierre Pronchery
49*b077aed3SPierre ProncherySets the name of the property query associated with the "mgf1-digest" algorithm.
50*b077aed3SPierre ProncheryNULL is used if this optional value is not set.
51*b077aed3SPierre Pronchery
52*b077aed3SPierre Pronchery=item "saltlen" (B<OSSL_SIGNATURE_PARAM_PSS_SALTLEN>) <integer> or <UTF8 string>
53*b077aed3SPierre Pronchery
54*b077aed3SPierre ProncheryThe "pss" mode minimum salt length. The value can either be an integer,
55*b077aed3SPierre Proncherya string value representing a number or one of the following string values:
56*b077aed3SPierre Pronchery
57*b077aed3SPierre Pronchery=over 4
58*b077aed3SPierre Pronchery
59*b077aed3SPierre Pronchery=item "digest" (B<OSSL_PKEY_RSA_PSS_SALT_LEN_DIGEST>)
60*b077aed3SPierre Pronchery
61*b077aed3SPierre ProncheryUse the same length as the digest size.
62*b077aed3SPierre Pronchery
63*b077aed3SPierre Pronchery=item "max" (B<OSSL_PKEY_RSA_PSS_SALT_LEN_MAX>)
64*b077aed3SPierre Pronchery
65*b077aed3SPierre ProncheryUse the maximum salt length.
66*b077aed3SPierre Pronchery
67*b077aed3SPierre Pronchery=item "auto" (B<OSSL_PKEY_RSA_PSS_SALT_LEN_AUTO>)
68*b077aed3SPierre Pronchery
69*b077aed3SPierre ProncheryAuto detect the salt length.
70*b077aed3SPierre Pronchery
71*b077aed3SPierre Pronchery=back
72*b077aed3SPierre Pronchery
73*b077aed3SPierre Pronchery=back
74*b077aed3SPierre Pronchery
75*b077aed3SPierre ProncheryThe following signature parameters can be retrieved using
76*b077aed3SPierre ProncheryEVP_PKEY_CTX_get_params().
77*b077aed3SPierre Pronchery
78*b077aed3SPierre Pronchery=over 4
79*b077aed3SPierre Pronchery
80*b077aed3SPierre Pronchery=item "algorithm-id" (B<OSSL_SIGNATURE_PARAM_ALGORITHM_ID>) <octet string>
81*b077aed3SPierre Pronchery
82*b077aed3SPierre ProncheryThis common parameter is described in L<provider-signature(7)>.
83*b077aed3SPierre Pronchery
84*b077aed3SPierre Pronchery=item "digest" (B<OSSL_SIGNATURE_PARAM_DIGEST>) <UTF8 string>
85*b077aed3SPierre Pronchery
86*b077aed3SPierre Pronchery=item "pad-mode" (B<OSSL_SIGNATURE_PARAM_PAD_MODE>) <UTF8 string>
87*b077aed3SPierre Pronchery
88*b077aed3SPierre Pronchery=item "mgf1-digest" (B<OSSL_SIGNATURE_PARAM_MGF1_DIGEST>) <UTF8 string>
89*b077aed3SPierre Pronchery
90*b077aed3SPierre Pronchery=item "saltlen" (B<OSSL_SIGNATURE_PARAM_PSS_SALTLEN>) <integer> or <UTF8 string>
91*b077aed3SPierre Pronchery
92*b077aed3SPierre ProncheryThese parameters are as described above.
93*b077aed3SPierre Pronchery
94*b077aed3SPierre Pronchery=back
95*b077aed3SPierre Pronchery
96*b077aed3SPierre Pronchery=head1 SEE ALSO
97*b077aed3SPierre Pronchery
98*b077aed3SPierre ProncheryL<EVP_PKEY_CTX_set_params(3)>,
99*b077aed3SPierre ProncheryL<EVP_PKEY_sign(3)>,
100*b077aed3SPierre ProncheryL<EVP_PKEY_verify(3)>,
101*b077aed3SPierre ProncheryL<provider-signature(7)>,
102*b077aed3SPierre Pronchery
103*b077aed3SPierre Pronchery=head1 COPYRIGHT
104*b077aed3SPierre Pronchery
105*b077aed3SPierre ProncheryCopyright 2020-2022 The OpenSSL Project Authors. All Rights Reserved.
106*b077aed3SPierre Pronchery
107*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
108*b077aed3SPierre Proncherythis file except in compliance with the License.  You can obtain a copy
109*b077aed3SPierre Proncheryin the file LICENSE in the source distribution or at
110*b077aed3SPierre ProncheryL<https://www.openssl.org/source/license.html>.
111*b077aed3SPierre Pronchery
112*b077aed3SPierre Pronchery=cut
113