Blame doc/man7/RSA-PSS.pod

Packit c4476c
=pod
Packit c4476c
Packit c4476c
=head1 NAME
Packit c4476c
Packit c4476c
RSA-PSS - EVP_PKEY RSA-PSS algorithm support
Packit c4476c
Packit c4476c
=head1 DESCRIPTION
Packit c4476c
Packit c4476c
The B<RSA-PSS> EVP_PKEY implementation is a restricted version of the RSA
Packit c4476c
algorithm which only supports signing, verification and key generation
Packit c4476c
using PSS padding modes with optional parameter restrictions.
Packit c4476c
Packit c4476c
It has associated private key and public key formats.
Packit c4476c
Packit c4476c
This algorithm shares several control operations with the B<RSA> algorithm
Packit c4476c
but with some restrictions described below.
Packit c4476c
Packit c4476c
=head2 Signing and Verification
Packit c4476c
Packit c4476c
Signing and verification is similar to the B<RSA> algorithm except the
Packit c4476c
padding mode is always PSS. If the key in use has parameter restrictions then
Packit c4476c
the corresponding signature parameters are set to the restrictions:
Packit c4476c
for example, if the key can only be used with digest SHA256, MGF1 SHA256
Packit c4476c
and minimum salt length 32 then the digest, MGF1 digest and salt length
Packit c4476c
will be set to SHA256, SHA256 and 32 respectively.
Packit c4476c
Packit c4476c
=head2 Key Generation
Packit c4476c
Packit c4476c
By default no parameter restrictions are placed on the generated key.
Packit c4476c
Packit c4476c
=head1 NOTES
Packit c4476c
Packit c4476c
The public key format is documented in RFC4055.
Packit c4476c
Packit c4476c
The PKCS#8 private key format used for RSA-PSS keys is similar to the RSA
Packit c4476c
format except it uses the B<id-RSASSA-PSS> OID and the parameters field, if
Packit c4476c
present, restricts the key parameters in the same way as the public key.
Packit c4476c
Packit c4476c
=head1 CONFORMING TO
Packit c4476c
Packit c4476c
RFC 4055
Packit c4476c
Packit c4476c
=head1 SEE ALSO
Packit c4476c
Packit c4476c
L<EVP_PKEY_CTX_set_rsa_pss_keygen_md(3)>,
Packit c4476c
L<EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(3)>,
Packit c4476c
L<EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(3)>,
Packit c4476c
L<EVP_PKEY_CTX_new(3)>,
Packit c4476c
L<EVP_PKEY_CTX_ctrl_str(3)>,
Packit c4476c
L<EVP_PKEY_derive(3)>
Packit c4476c
Packit c4476c
=head1 COPYRIGHT
Packit c4476c
Packit c4476c
Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
Packit c4476c
Packit c4476c
Licensed under the OpenSSL license (the "License").  You may not use
Packit c4476c
this file except in compliance with the License.  You can obtain a copy
Packit c4476c
in the file LICENSE in the source distribution or at
Packit c4476c
L<https://www.openssl.org/source/license.html>.
Packit c4476c
Packit c4476c
=cut