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