9862e9aa98
Move rsa_st away from public headers. Add accessor/writer functions for the public RSA data. Adapt all other source to use the accessors and writers. Reviewed-by: Matt Caswell <matt@openssl.org>
52 lines
1.5 KiB
C
52 lines
1.5 KiB
C
/*
|
|
* Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
|
|
*
|
|
* Licensed under the OpenSSL licenses, (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
* https://www.openssl.org/source/license.html
|
|
* or in the file LICENSE in the source distribution.
|
|
*/
|
|
|
|
#include <openssl/rsa.h>
|
|
|
|
struct rsa_st {
|
|
/*
|
|
* The first parameter is used to pickup errors where this is passed
|
|
* instead of aEVP_PKEY, it is set to 0
|
|
*/
|
|
int pad;
|
|
long version;
|
|
const RSA_METHOD *meth;
|
|
/* functional reference if 'meth' is ENGINE-provided */
|
|
ENGINE *engine;
|
|
BIGNUM *n;
|
|
BIGNUM *e;
|
|
BIGNUM *d;
|
|
BIGNUM *p;
|
|
BIGNUM *q;
|
|
BIGNUM *dmp1;
|
|
BIGNUM *dmq1;
|
|
BIGNUM *iqmp;
|
|
/* be careful using this if the RSA structure is shared */
|
|
CRYPTO_EX_DATA ex_data;
|
|
int references;
|
|
int flags;
|
|
/* Used to cache montgomery values */
|
|
BN_MONT_CTX *_method_mod_n;
|
|
BN_MONT_CTX *_method_mod_p;
|
|
BN_MONT_CTX *_method_mod_q;
|
|
/*
|
|
* all BIGNUM values are actually in the following data, if it is not
|
|
* NULL
|
|
*/
|
|
char *bignum_data;
|
|
BN_BLINDING *blinding;
|
|
BN_BLINDING *mt_blinding;
|
|
CRYPTO_RWLOCK *lock;
|
|
};
|
|
|
|
extern int int_rsa_verify(int dtype, const unsigned char *m,
|
|
unsigned int m_len, unsigned char *rm,
|
|
size_t *prm_len, const unsigned char *sigbuf,
|
|
size_t siglen, RSA *rsa);
|