]>
git.ipfire.org Git - thirdparty/openssl.git/blob - include/crypto/rsa.h
2 * Copyright 2019 The OpenSSL Project Authors. All Rights Reserved.
4 * Licensed under the Apache License 2.0 (the "License"). You may not use
5 * this file except in compliance with the License. You can obtain a copy
6 * in the file LICENSE in the source distribution or at
7 * https://www.openssl.org/source/license.html
10 #ifndef OSSL_INTERNAL_RSA_H
11 # define OSSL_INTERNAL_RSA_H
13 #include <openssl/rsa.h>
15 RSA
*rsa_new_with_ctx(OPENSSL_CTX
*libctx
);
17 int rsa_set0_all_params(RSA
*r
, const STACK_OF(BIGNUM
) *primes
,
18 const STACK_OF(BIGNUM
) *exps
,
19 const STACK_OF(BIGNUM
) *coeffs
);
20 int rsa_get0_all_params(RSA
*r
, STACK_OF(BIGNUM_const
) *primes
,
21 STACK_OF(BIGNUM_const
) *exps
,
22 STACK_OF(BIGNUM_const
) *coeffs
);
24 int rsa_padding_check_PKCS1_type_2_TLS(unsigned char *to
, size_t tlen
,
25 const unsigned char *from
, size_t flen
,
26 int client_version
, int alt_version
);
28 int rsa_validate_public(const RSA
*key
);
29 int rsa_validate_private(const RSA
*key
);
30 int rsa_validate_pairwise(const RSA
*key
);
32 int int_rsa_verify(int dtype
, const unsigned char *m
,
33 unsigned int m_len
, unsigned char *rm
,
34 size_t *prm_len
, const unsigned char *sigbuf
,
35 size_t siglen
, RSA
*rsa
);
37 const unsigned char *rsa_digestinfo_encoding(int md_nid
, size_t *len
);
38 const unsigned char *rsa_algorithmidentifier_encoding(int md_nid
, size_t *len
);