123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475 |
- =pod
- =head1 NAME
- ossl_rsa_set0_all_params, ossl_rsa_get0_all_params
- - Internal routines for getting and setting data in an RSA object
- =head1 SYNOPSIS
- #include "crypto/rsa.h"
- int ossl_rsa_get0_all_params(RSA *r, STACK_OF(BIGNUM_const) *primes,
- STACK_OF(BIGNUM_const) *exps,
- STACK_OF(BIGNUM_const) *coeffs);
- int ossl_rsa_set0_all_params(RSA *r, const STACK_OF(BIGNUM) *primes,
- const STACK_OF(BIGNUM) *exps,
- const STACK_OF(BIGNUM) *coeffs);
- =head1 DESCRIPTION
- ossl_rsa_set0_all_params() sets all primes, CRT exponents and CRT coefficients
- in the B<RSA> object I<r> to the contents of the stacks of BIGNUMs I<primes>,
- I<exps> and I<coeffs>. The B<RSA> object takes ownership of the BIGNUMs,
- but not of the stacks.
- ossl_rsa_get0_all_params() gets all primes, CRT exponents and CRT coefficients
- in the B<RSA> object I<r> and pushes them on the stacks of constant BIGNUMs
- I<primes>, I<exps> and I<coeffs>. The B<RSA> object retains ownership of the
- BIGNUMs, but not of the stacks.
- =head1 NOTES
- For RSA_set0_all_params() and RSA_get0_all_params():
- =over 4
- =item *
- the I<primes> stack contains I<p>, I<q>, and then the rest of the primes
- if the B<RSA> object is a multi-prime RSA key.
- =item *
- the I<exps> stack contains I<dP>, I<dQ>, and then the rest of the exponents
- if the B<RSA> object is a multi-prime RSA key.
- =item *
- the I<coeffs> stack contains I<qInv>, and then the rest of the coefficients
- if the B<RSA> object is a multi-prime RSA key.
- =back
- The number of primes must always be equal to the number of exponents, and
- the number of coefficients must be one less than the number of primes.
- =head1 RETURN VALUES
- ossl_rsa_get0_all_params() and ossl_rsa_set0_all_params() return 1 on success,
- or 0 on failure.
- =head1 SEE ALSO
- L<RSA_set0_multi_prime_params(3)>
- =head1 COPYRIGHT
- Copyright 2019-2020 The OpenSSL Project Authors. All Rights Reserved.
- Licensed under the Apache License 2.0 (the "License"). You may not use
- this file except in compliance with the License. You can obtain a copy
- in the file LICENSE in the source distribution or at
- L<https://www.openssl.org/source/license.html>.
- =cut
|