Lines Matching refs:key

22 static int rsa_validate_keypair_multiprime(const RSA *key, BN_GENCB *cb)
29 if (key->p == NULL || key->q == NULL || key->n == NULL
30 || key->e == NULL || key->d == NULL) {
36 if (key->version == RSA_ASN1_VERSION_MULTI) {
37 ex_primes = sk_RSA_PRIME_INFO_num(key->prime_infos);
39 || (ex_primes + 2) > ossl_rsa_multip_cap(BN_num_bits(key->n))) {
50 ctx = BN_CTX_new_ex(key->libctx);
58 if (BN_is_one(key->e)) {
62 if (!BN_is_odd(key->e)) {
68 if (BN_check_prime(key->p, ctx, cb) != 1) {
74 if (BN_check_prime(key->q, ctx, cb) != 1) {
81 pinfo = sk_RSA_PRIME_INFO_value(key->prime_infos, idx);
89 if (!BN_mul(i, key->p, key->q, ctx)) {
94 pinfo = sk_RSA_PRIME_INFO_value(key->prime_infos, idx);
100 if (BN_cmp(i, key->n) != 0) {
109 if (!BN_sub(i, key->p, BN_value_one())) {
113 if (!BN_sub(j, key->q, BN_value_one())) {
132 pinfo = sk_RSA_PRIME_INFO_value(key->prime_infos, idx);
150 if (!BN_mod_mul(i, key->d, key->e, m, ctx)) {
160 if (key->dmp1 != NULL && key->dmq1 != NULL && key->iqmp != NULL) {
162 if (!BN_sub(i, key->p, BN_value_one())) {
166 if (!BN_mod(j, key->d, i, ctx)) {
170 if (BN_cmp(j, key->dmp1) != 0) {
176 if (!BN_sub(i, key->q, BN_value_one())) {
180 if (!BN_mod(j, key->d, i, ctx)) {
184 if (BN_cmp(j, key->dmq1) != 0) {
190 if (!BN_mod_inverse(i, key->q, key->p, ctx)) {
194 if (BN_cmp(i, key->iqmp) != 0) {
201 pinfo = sk_RSA_PRIME_INFO_value(key->prime_infos, idx);
207 if (!BN_mod(j, key->d, i, ctx)) {
237 int ossl_rsa_validate_public(const RSA *key)
239 return ossl_rsa_sp800_56b_check_public(key);
242 int ossl_rsa_validate_private(const RSA *key)
244 return ossl_rsa_sp800_56b_check_private(key);
247 int ossl_rsa_validate_pairwise(const RSA *key)
250 return ossl_rsa_sp800_56b_check_keypair(key, NULL, -1, RSA_bits(key));
252 return rsa_validate_keypair_multiprime(key, NULL) > 0;
256 int RSA_check_key(const RSA *key)
258 return RSA_check_key_ex(key, NULL);
261 int RSA_check_key_ex(const RSA *key, BN_GENCB *cb)
264 return ossl_rsa_validate_public(key)
265 && ossl_rsa_validate_private(key)
266 && ossl_rsa_validate_pairwise(key);
268 return rsa_validate_keypair_multiprime(key, cb);