diff options
Diffstat (limited to 'src/crypto/rsa/internal.h')
-rw-r--r-- | src/crypto/rsa/internal.h | 34 |
1 files changed, 16 insertions, 18 deletions
diff --git a/src/crypto/rsa/internal.h b/src/crypto/rsa/internal.h index c0044c3..d15f2a5 100644 --- a/src/crypto/rsa/internal.h +++ b/src/crypto/rsa/internal.h @@ -59,6 +59,8 @@ #include <openssl/base.h> +#include <openssl/asn1.h> + #if defined(__cplusplus) extern "C" { @@ -107,6 +109,8 @@ int RSA_padding_check_PKCS1_OAEP_mgf1(uint8_t *to, unsigned to_len, const EVP_MD *md, const EVP_MD *mgf1md); int RSA_padding_add_none(uint8_t *to, unsigned to_len, const uint8_t *from, unsigned from_len); +int RSA_padding_check_none(uint8_t *to, unsigned to_len, const uint8_t *from, + unsigned from_len); /* RSA_private_transform calls either the method-specific |private_transform| * function (if given) or the generic one. See the comment for @@ -114,26 +118,20 @@ int RSA_padding_add_none(uint8_t *to, unsigned to_len, const uint8_t *from, int RSA_private_transform(RSA *rsa, uint8_t *out, const uint8_t *in, size_t len); +typedef struct rsa_pss_params_st { + X509_ALGOR *hashAlgorithm; + X509_ALGOR *maskGenAlgorithm; + ASN1_INTEGER *saltLength; + ASN1_INTEGER *trailerField; +} RSA_PSS_PARAMS; -/* RSA_additional_prime contains information about the third, forth etc prime - * in a multi-prime RSA key. */ -typedef struct RSA_additional_prime_st { - BIGNUM *prime; - /* exp is d^{prime-1} mod prime */ - BIGNUM *exp; - /* coeff is such that r×coeff ≡ 1 mod prime. */ - BIGNUM *coeff; - - /* Values below here are not in the ASN.1 serialisation. */ - - /* r is the product of all primes (including p and q) prior to this one. */ - BIGNUM *r; - /* method_mod is managed by the |RSA_METHOD|. */ - BN_MONT_CTX *method_mod; -} RSA_additional_prime; - -void RSA_additional_prime_free(RSA_additional_prime *ap); +DECLARE_ASN1_FUNCTIONS(RSA_PSS_PARAMS) +typedef struct rsa_oaep_params_st { + X509_ALGOR *hashFunc; + X509_ALGOR *maskGenFunc; + X509_ALGOR *pSourceFunc; +} RSA_OAEP_PARAMS; #if defined(__cplusplus) } /* extern C */ |