xref: /freebsd-src/crypto/openssl/doc/man7/RSA-PSS.pod (revision b077aed33b7b6aefca7b17ddb250cf521f938613)
1e71b7053SJung-uk Kim=pod
2e71b7053SJung-uk Kim
3e71b7053SJung-uk Kim=head1 NAME
4e71b7053SJung-uk Kim
5e71b7053SJung-uk KimRSA-PSS - EVP_PKEY RSA-PSS algorithm support
6e71b7053SJung-uk Kim
7e71b7053SJung-uk Kim=head1 DESCRIPTION
8e71b7053SJung-uk Kim
9e71b7053SJung-uk KimThe B<RSA-PSS> EVP_PKEY implementation is a restricted version of the RSA
10e71b7053SJung-uk Kimalgorithm which only supports signing, verification and key generation
11e71b7053SJung-uk Kimusing PSS padding modes with optional parameter restrictions.
12e71b7053SJung-uk Kim
13e71b7053SJung-uk KimIt has associated private key and public key formats.
14e71b7053SJung-uk Kim
15e71b7053SJung-uk KimThis algorithm shares several control operations with the B<RSA> algorithm
16e71b7053SJung-uk Kimbut with some restrictions described below.
17e71b7053SJung-uk Kim
18e71b7053SJung-uk Kim=head2 Signing and Verification
19e71b7053SJung-uk Kim
20e71b7053SJung-uk KimSigning and verification is similar to the B<RSA> algorithm except the
21e71b7053SJung-uk Kimpadding mode is always PSS. If the key in use has parameter restrictions then
22e71b7053SJung-uk Kimthe corresponding signature parameters are set to the restrictions:
23e71b7053SJung-uk Kimfor example, if the key can only be used with digest SHA256, MGF1 SHA256
24e71b7053SJung-uk Kimand minimum salt length 32 then the digest, MGF1 digest and salt length
25e71b7053SJung-uk Kimwill be set to SHA256, SHA256 and 32 respectively.
26e71b7053SJung-uk Kim
27e71b7053SJung-uk Kim=head2 Key Generation
28e71b7053SJung-uk Kim
29e71b7053SJung-uk KimBy default no parameter restrictions are placed on the generated key.
30e71b7053SJung-uk Kim
31e71b7053SJung-uk Kim=head1 NOTES
32e71b7053SJung-uk Kim
33e71b7053SJung-uk KimThe public key format is documented in RFC4055.
34e71b7053SJung-uk Kim
35e71b7053SJung-uk KimThe PKCS#8 private key format used for RSA-PSS keys is similar to the RSA
36e71b7053SJung-uk Kimformat except it uses the B<id-RSASSA-PSS> OID and the parameters field, if
37e71b7053SJung-uk Kimpresent, restricts the key parameters in the same way as the public key.
38e71b7053SJung-uk Kim
39e71b7053SJung-uk Kim=head1 CONFORMING TO
40e71b7053SJung-uk Kim
41e71b7053SJung-uk KimRFC 4055
42e71b7053SJung-uk Kim
43e71b7053SJung-uk Kim=head1 SEE ALSO
44e71b7053SJung-uk Kim
45e71b7053SJung-uk KimL<EVP_PKEY_CTX_set_rsa_pss_keygen_md(3)>,
46e71b7053SJung-uk KimL<EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(3)>,
47e71b7053SJung-uk KimL<EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(3)>,
48e71b7053SJung-uk KimL<EVP_PKEY_CTX_new(3)>,
49e71b7053SJung-uk KimL<EVP_PKEY_CTX_ctrl_str(3)>,
50e71b7053SJung-uk KimL<EVP_PKEY_derive(3)>
51e71b7053SJung-uk Kim
52e71b7053SJung-uk Kim=head1 COPYRIGHT
53e71b7053SJung-uk Kim
54e71b7053SJung-uk KimCopyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
55e71b7053SJung-uk Kim
56*b077aed3SPierre ProncheryLicensed under the Apache License 2.0 (the "License").  You may not use
57e71b7053SJung-uk Kimthis file except in compliance with the License.  You can obtain a copy
58e71b7053SJung-uk Kimin the file LICENSE in the source distribution or at
59e71b7053SJung-uk KimL<https://www.openssl.org/source/license.html>.
60e71b7053SJung-uk Kim
61e71b7053SJung-uk Kim=cut
62