Go to the documentation of this file.
69 #include "../internal.h"
70 #include "../fipsmodule/rsa/internal.h"
172 const uint8_t *tbs,
size_t tbslen) {
174 RSA *rsa =
ctx->pkey->pkey.rsa;
182 if (*siglen < key_len) {
210 size_t siglen,
const uint8_t *tbs,
213 RSA *rsa =
ctx->pkey->pkey.rsa;
243 size_t *out_len,
const uint8_t *sig,
246 RSA *rsa =
ctx->pkey->pkey.rsa;
254 if (*out_len < key_len) {
259 if (rctx->
md == NULL) {
272 size_t asn1_prefix_len;
273 int asn1_prefix_allocated;
277 kDummyHash, hash_len)) {
285 rslen != asn1_prefix_len ||
291 if (asn1_prefix_allocated) {
310 RSA *rsa =
ctx->pkey->pkey.rsa;
318 if (*outlen < key_len) {
342 RSA *rsa =
ctx->pkey->pkey.rsa;
350 if (*outlen < key_len) {
385 switch (padding_mode) {
static int pkey_rsa_encrypt(EVP_PKEY_CTX *ctx, uint8_t *out, size_t *outlen, const uint8_t *in, size_t inlen)
int EVP_PKEY_CTX_set_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int salt_len)
#define EVP_PKEY_CTRL_RSA_PSS_SALTLEN
#define EVP_PKEY_OP_TYPE_CRYPT
#define EVP_PKEY_CTRL_GET_RSA_MGF1_MD
#define EVP_R_INVALID_PADDING_MODE
static int pkey_rsa_decrypt(EVP_PKEY_CTX *ctx, uint8_t *out, size_t *outlen, const uint8_t *in, size_t inlen)
#define EVP_PKEY_CTRL_GET_RSA_PADDING
#define EVP_R_COMMAND_NOT_SUPPORTED
int EVP_PKEY_CTX_set_rsa_pss_keygen_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
const EVP_PKEY_METHOD rsa_pkey_meth
int EVP_PKEY_CTX_set_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
#define OPENSSL_PUT_ERROR(library, reason)
#define EVP_PKEY_OP_TYPE_SIG
#define EVP_R_INVALID_MGF1_MD
static int pkey_rsa_keygen(EVP_PKEY_CTX *ctx, EVP_PKEY *pkey)
static int pkey_rsa_verify_recover(EVP_PKEY_CTX *ctx, uint8_t *out, size_t *out_len, const uint8_t *sig, size_t sig_len)
#define EVP_PKEY_CTRL_RSA_MGF1_MD
#define RSA_generate_key_ex
#define RSA_add_pkcs1_prefix
#define EVP_R_INVALID_KEYBITS
#define EVP_PKEY_CTRL_GET_RSA_PSS_SALTLEN
static void * OPENSSL_memset(void *dst, int c, size_t n)
#define RSA_PKCS1_PADDING
#define EVP_PKEY_CTRL_RSA_PADDING
int EVP_PKEY_CTX_set0_rsa_oaep_label(EVP_PKEY_CTX *ctx, uint8_t *label, size_t label_len)
int EVP_PKEY_CTX_set_rsa_pss_keygen_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
#define RSA_verify_pss_mgf1
#define EVP_PKEY_CTRL_GET_RSA_OAEP_LABEL
int EVP_PKEY_CTX_set_rsa_pss_keygen_saltlen(EVP_PKEY_CTX *ctx, int salt_len)
int EVP_PKEY_CTX_set_rsa_keygen_pubexp(EVP_PKEY_CTX *ctx, BIGNUM *e)
static int is_known_padding(int padding_mode)
#define EVP_PKEY_CTRL_GET_MD
static void * OPENSSL_memcpy(void *dst, const void *src, size_t n)
OPENSSL_EXPORT ASN1_BIT_STRING * bits
static int pkey_rsa_sign(EVP_PKEY_CTX *ctx, uint8_t *sig, size_t *siglen, const uint8_t *tbs, size_t tbslen)
#define RSA_padding_check_PKCS1_OAEP_mgf1
static int pkey_rsa_verify(EVP_PKEY_CTX *ctx, const uint8_t *sig, size_t siglen, const uint8_t *tbs, size_t tbslen)
int EVP_PKEY_CTX_get_rsa_oaep_md(EVP_PKEY_CTX *ctx, const EVP_MD **out_md)
int EVP_PKEY_CTX_set_rsa_keygen_bits(EVP_PKEY_CTX *ctx, int bits)
#define EVP_PKEY_CTX_ctrl
#define EVP_PKEY_assign_RSA
int EVP_PKEY_CTX_set_rsa_padding(EVP_PKEY_CTX *ctx, int padding)
static int pkey_rsa_copy(EVP_PKEY_CTX *dst, EVP_PKEY_CTX *src)
#define EVP_PKEY_CTRL_RSA_KEYGEN_BITS
#define EVP_PKEY_OP_VERIFY
int EVP_PKEY_CTX_get0_rsa_oaep_label(EVP_PKEY_CTX *ctx, const uint8_t **out_label)
#define EVP_R_INVALID_PSS_SALTLEN
#define EVP_R_ILLEGAL_OR_UNSUPPORTED_PADDING_MODE
#define EVP_PKEY_CTRL_RSA_OAEP_MD
int EVP_PKEY_CTX_get_rsa_pss_saltlen(EVP_PKEY_CTX *ctx, int *out_salt_len)
int EVP_PKEY_CTX_get_rsa_padding(EVP_PKEY_CTX *ctx, int *out_padding)
#define RSA_PKCS1_OAEP_PADDING
static void pkey_rsa_cleanup(EVP_PKEY_CTX *ctx)
#define EVP_R_BUFFER_TOO_SMALL
static int pkey_rsa_init(EVP_PKEY_CTX *ctx)
static int setup_tbuf(RSA_PKEY_CTX *ctx, EVP_PKEY_CTX *pk)
const OPENSSL_EXPORT EVP_MD * EVP_sha1(void)
#define EVP_PKEY_CTRL_RSA_OAEP_LABEL
#define RSA_PKCS1_PSS_PADDING
#define EVP_PKEY_OP_KEYGEN
#define EVP_PKEY_CTRL_RSA_KEYGEN_PUBEXP
#define RSA_sign_pss_mgf1
int EVP_PKEY_CTX_get_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD **out_md)
static int pkey_rsa_ctrl(EVP_PKEY_CTX *ctx, int type, int p1, void *p2)
#define EVP_PKEY_CTRL_GET_RSA_OAEP_MD
int EVP_PKEY_CTX_set_rsa_mgf1_md(EVP_PKEY_CTX *ctx, const EVP_MD *md)
#define RSA_padding_add_PKCS1_OAEP_mgf1
if(p->owned &&p->wrapped !=NULL)
static int check_padding_md(const EVP_MD *md, int padding)
grpc
Author(s):
autogenerated on Fri May 16 2025 02:59:38