forked from wolfSSL/wolfssl
EVP_PKEY templates
This commit is contained in:
committed by
Jacob Barthelmeh
parent
f695683fd0
commit
a11e389bc8
@ -633,14 +633,14 @@ OcspResponse* wolfSSL_d2i_OCSP_RESPONSE_bio(WOLFSSL_BIO* bio,
|
||||
if (bio == NULL)
|
||||
return NULL;
|
||||
|
||||
if (bio->type == BIO_MEMORY) {
|
||||
if (bio->type == WOLFSSL_BIO_MEMORY) {
|
||||
len = wolfSSL_BIO_get_mem_data(bio, &data);
|
||||
if (len <= 0 || data == NULL) {
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
#ifndef NO_FILESYSTEM
|
||||
else if (bio->type == BIO_FILE) {
|
||||
else if (bio->type == WOLFSSL_BIO_FILE) {
|
||||
long i;
|
||||
long l;
|
||||
|
||||
|
40
src/ssl.c
40
src/ssl.c
@ -11914,7 +11914,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
||||
return (int)XFREAD(buf, 1, len, bio->file);
|
||||
}
|
||||
#endif
|
||||
if (bio && bio->type == BIO_MEMORY) {
|
||||
if (bio && bio->type == WOLFSSL_BIO_MEMORY) {
|
||||
return wolfSSL_BIO_MEMORY_read(bio, buf, len);
|
||||
}
|
||||
|
||||
@ -11979,7 +11979,7 @@ int wolfSSL_set_compression(WOLFSSL* ssl)
|
||||
}
|
||||
#endif
|
||||
|
||||
if (bio && bio->type == BIO_MEMORY) {
|
||||
if (bio && bio->type == WOLFSSL_BIO_MEMORY) {
|
||||
/* Make buffer big enough to hold new data. */
|
||||
if (bio->mem == NULL) {
|
||||
bio->mem = (byte*)XMALLOC(len, bio->heap, DYNAMIC_TYPE_OPENSSL);
|
||||
@ -12802,6 +12802,21 @@ int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md)
|
||||
}
|
||||
}
|
||||
|
||||
int wolfSSL_EVP_MD_CTX_copy(WOLFSSL_EVP_MD_CTX *out, const WOLFSSL_EVP_MD_CTX *in)
|
||||
{
|
||||
return EVP_MD_CTX_copy_ex(out, in);
|
||||
}
|
||||
|
||||
int wolfSSL_EVP_MD_CTX_copy_ex(WOLFSSL_EVP_MD_CTX *out, const WOLFSSL_EVP_MD_CTX *in)
|
||||
{
|
||||
if((out == NULL) || (in == NULL))return 0;
|
||||
if((out->macType != 0) && (out->macType != in->macType))return 0;
|
||||
|
||||
WOLFSSL_ENTER("EVP_CIPHER_MD_CTX_copy_ex");
|
||||
XMEMCPY(out, in, sizeof(WOLFSSL_EVP_MD_CTX));
|
||||
return 1;
|
||||
}
|
||||
|
||||
void wolfSSL_EVP_MD_CTX_init(WOLFSSL_EVP_MD_CTX* ctx)
|
||||
{
|
||||
WOLFSSL_ENTER("EVP_CIPHER_MD_CTX_init");
|
||||
@ -15930,7 +15945,7 @@ WOLFSSL_BIO* wolfSSL_BIO_pop(WOLFSSL_BIO* top)
|
||||
|
||||
int wolfSSL_BIO_pending(WOLFSSL_BIO* bio)
|
||||
{
|
||||
if (bio && bio->type == BIO_MEMORY)
|
||||
if (bio && bio->type == WOLFSSL_BIO_MEMORY)
|
||||
return bio->memLen;
|
||||
return 0;
|
||||
}
|
||||
@ -16805,6 +16820,7 @@ WOLFSSL_EVP_PKEY* wolfSSL_PKEY_new()
|
||||
if (pkey != NULL) {
|
||||
XMEMSET(pkey, 0, sizeof(WOLFSSL_EVP_PKEY));
|
||||
}
|
||||
pkey->type = WOLFSSL_EVP_PKEY_DEFAULT;
|
||||
|
||||
return pkey;
|
||||
}
|
||||
@ -17450,14 +17466,6 @@ WOLFSSL_API WOLFSSL_EVP_PKEY *wolfSSL_get_privatekey(const WOLFSSL *ssl)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
/*** TBD ***/
|
||||
WOLFSSL_API int EVP_PKEY_bits(WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
(void)pkey;
|
||||
WOLFSSL_STUB("EVP_PKEY_bits");
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
||||
/*** TBD ***/
|
||||
WOLFSSL_API int i2d_X509(WOLFSSL_X509 *x, unsigned char **out)
|
||||
{
|
||||
@ -24213,14 +24221,14 @@ void* wolfSSL_GetDhAgreeCtx(WOLFSSL* ssl)
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (bp->type == BIO_MEMORY) {
|
||||
if (bp->type == WOLFSSL_BIO_MEMORY) {
|
||||
l = (long)wolfSSL_BIO_ctrl_pending(bp);
|
||||
if (l <= 0) {
|
||||
WOLFSSL_MSG("No pending data in WOLFSSL_BIO");
|
||||
return NULL;
|
||||
}
|
||||
}
|
||||
else if (bp->type == BIO_FILE) {
|
||||
else if (bp->type == WOLFSSL_BIO_FILE) {
|
||||
#ifndef NO_FILESYSTEM
|
||||
/* Read in next certificate from file but no more. */
|
||||
i = XFTELL(bp->file);
|
||||
@ -24857,7 +24865,7 @@ WOLFSSL_DH *wolfSSL_PEM_read_bio_DHparams(WOLFSSL_BIO *bio, WOLFSSL_DH **x,
|
||||
return NULL;
|
||||
}
|
||||
|
||||
if (bio->type == BIO_MEMORY) {
|
||||
if (bio->type == WOLFSSL_BIO_MEMORY) {
|
||||
/* Use the buffer directly. */
|
||||
ret = wolfSSL_BIO_get_mem_data(bio, &mem);
|
||||
if (mem == NULL || ret <= 0) {
|
||||
@ -24866,7 +24874,7 @@ WOLFSSL_DH *wolfSSL_PEM_read_bio_DHparams(WOLFSSL_BIO *bio, WOLFSSL_DH **x,
|
||||
}
|
||||
size = ret;
|
||||
}
|
||||
else if (bio->type == BIO_FILE) {
|
||||
else if (bio->type == WOLFSSL_BIO_FILE) {
|
||||
/* Read whole file into a new buffer. */
|
||||
XFSEEK(bio->file, 0, SEEK_END);
|
||||
sz = XFTELL(bio->file);
|
||||
@ -24967,7 +24975,7 @@ int wolfSSL_PEM_write_bio_X509(WOLFSSL_BIO *bio, WOLFSSL_X509 *cert)
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
||||
if (bio->type != BIO_MEMORY) {
|
||||
if (bio->type != WOLFSSL_BIO_MEMORY) {
|
||||
WOLFSSL_MSG("BIO type not supported for writing X509 as PEM");
|
||||
return WOLFSSL_FAILURE;
|
||||
}
|
||||
|
@ -593,6 +593,197 @@ WOLFSSL_API int wolfSSL_EVP_add_digest(const WOLFSSL_EVP_MD *digest)
|
||||
return 0;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_bits(const WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
if (pkey == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_bits");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_free(WOLFSSL_EVP_PKEY_CTX *ctx)
|
||||
{
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_CTX_free");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API WOLFSSL_EVP_PKEY_CTX *wolfSSL_EVP_PKEY_CTX_new(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_ENGINE *e)
|
||||
{
|
||||
WOLFSSL_EVP_PKEY_CTX* ctx;
|
||||
|
||||
if (pkey == NULL)return 0;
|
||||
if (e != NULL) return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_CTX_new");
|
||||
|
||||
ctx = (WOLFSSL_EVP_PKEY_CTX*)XMALLOC(sizeof(WOLFSSL_EVP_PKEY_CTX), NULL,
|
||||
DYNAMIC_TYPE_PUBLIC_KEY);
|
||||
if(ctx == NULL)return NULL;
|
||||
ctx->pkey = pkey ;
|
||||
|
||||
return ctx;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_padding(WOLFSSL_EVP_PKEY_CTX *ctx, int padding)
|
||||
{
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_CTX_set_rsa_padding");
|
||||
ctx->padding = padding;
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt(WOLFSSL_EVP_PKEY_CTX *ctx,
|
||||
unsigned char *out, size_t *outlen,
|
||||
const unsigned char *in, size_t inlen)
|
||||
{
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_decrypt");
|
||||
|
||||
switch(ctx->pkey->type){
|
||||
case EVP_PKEY_RSA:
|
||||
*outlen = wolfSSL_RSA_public_encrypt((int)inlen, (unsigned char*)in, out,
|
||||
(WOLFSSL_RSA*)ctx->pkey->pkey.ptr, ctx->padding);
|
||||
return (int)*outlen;
|
||||
|
||||
case EVP_PKEY_EC:
|
||||
/* not implemented */
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx)
|
||||
{
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_decrypt_init");
|
||||
switch(ctx->pkey->type){
|
||||
case EVP_PKEY_RSA:
|
||||
ctx->op = EVP_PKEY_OP_ENCRYPT;
|
||||
return 1;
|
||||
|
||||
case EVP_PKEY_EC:
|
||||
/* not implemented */
|
||||
default:
|
||||
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt(WOLFSSL_EVP_PKEY_CTX *ctx,
|
||||
unsigned char *out, size_t *outlen,
|
||||
const unsigned char *in, size_t inlen)
|
||||
{
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_encrypt");
|
||||
if(ctx->op != EVP_PKEY_OP_ENCRYPT)return 0;
|
||||
|
||||
switch(ctx->pkey->type){
|
||||
case EVP_PKEY_RSA:
|
||||
*outlen = wolfSSL_RSA_public_encrypt((int)inlen, (unsigned char *)in, out,
|
||||
(WOLFSSL_RSA*)ctx->pkey->pkey.ptr, ctx->padding);
|
||||
return (int)*outlen;
|
||||
|
||||
case EVP_PKEY_EC:
|
||||
/* not implemented */
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx)
|
||||
{
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_encrypt_init");
|
||||
|
||||
switch(ctx->pkey->type){
|
||||
case EVP_PKEY_RSA:
|
||||
ctx->op = EVP_PKEY_OP_ENCRYPT;
|
||||
return 1;
|
||||
case EVP_PKEY_EC:
|
||||
case EVP_PKEY_DSA:
|
||||
/* not implemented */
|
||||
default:
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
if (pkey == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_PKEY_size");
|
||||
|
||||
switch(pkey->type){
|
||||
case EVP_PKEY_RSA:
|
||||
return (int)wolfSSL_RSA_size((const WOLFSSL_RSA*)(pkey->pkey.ptr));
|
||||
|
||||
case EVP_PKEY_EC:
|
||||
/* not implemented */
|
||||
default:
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_SignFinal(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *sigret,
|
||||
unsigned int *siglen, WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
(void)sigret;
|
||||
(void)siglen;
|
||||
(void)pkey;
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_SignFinal");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_SignInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type)
|
||||
{
|
||||
(void)type;
|
||||
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_SignInit");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_SignUpdate(WOLFSSL_EVP_MD_CTX *ctx, const void *data, size_t len)
|
||||
{
|
||||
(void)data;
|
||||
(void)len;
|
||||
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_SignUpdate(");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_VerifyFinal(WOLFSSL_EVP_MD_CTX *ctx, const uint8_t *sig, size_t sig_len,
|
||||
WOLFSSL_EVP_PKEY *pkey)
|
||||
{
|
||||
(void)sig;
|
||||
(void)sig_len;
|
||||
(void)pkey;
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_VerifyFinal");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_VerifyInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type)
|
||||
{
|
||||
(void)type;
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_VerifyInit");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_VerifyUpdate(WOLFSSL_EVP_MD_CTX *ctx, const void *data, size_t len)
|
||||
{
|
||||
(void)data;
|
||||
(void)len;
|
||||
if (ctx == NULL)return 0;
|
||||
WOLFSSL_ENTER("EVP_VerifyUpdate");
|
||||
return 1;
|
||||
}
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_add_cipher(const WOLFSSL_EVP_CIPHER *cipher)
|
||||
{
|
||||
(void)cipher;
|
||||
@ -806,7 +997,6 @@ int wolfSSL_EVP_DigestSignFinal(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
ForceZero(digest, sizeof(digest));
|
||||
return ret;
|
||||
}
|
||||
|
||||
#endif /* WOLFSSL_EVP_INCLUDED */
|
||||
|
||||
#if defined(OPENSSL_EXTRA) && !defined(NO_PWDBASED) && !defined(NO_SHA)
|
||||
|
@ -204,6 +204,12 @@ typedef struct WOLFSSL_EVP_PKEY WOLFSSL_EVP_PKEY;
|
||||
#define WOLFSSL_EVP_PKEY_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
typedef struct WOLFSSL_EVP_PKEY_CTX {
|
||||
WOLFSSL_EVP_PKEY *pkey;
|
||||
int op; /* operation */
|
||||
int padding;
|
||||
} WOLFSSL_EVP_PKEY_CTX;
|
||||
|
||||
struct WOLFSSL_EVP_PKEY {
|
||||
int type; /* openssh dereference */
|
||||
int save_type; /* openssh dereference */
|
||||
@ -218,17 +224,21 @@ struct WOLFSSL_EVP_PKEY {
|
||||
|
||||
typedef int WOLFSSL_ENGINE ;
|
||||
typedef WOLFSSL_ENGINE ENGINE;
|
||||
typedef int WOLFSSL_EVP_PKEY_CTX;
|
||||
typedef WOLFSSL_EVP_PKEY_CTX EVP_PKEY_CTX;
|
||||
|
||||
#define EVP_PKEY_OP_ENCRYPT (1 << 6)
|
||||
#define EVP_PKEY_OP_DECRYPT (1 << 7)
|
||||
|
||||
WOLFSSL_API void wolfSSL_EVP_init(void);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_size(const WOLFSSL_EVP_MD* md);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_type(const WOLFSSL_EVP_MD *md);
|
||||
|
||||
WOLFSSL_API WOLFSSL_EVP_MD_CTX *wolfSSL_EVP_MD_CTX_new (void);
|
||||
WOLFSSL_API void wolfSSL_EVP_MD_CTX_free(WOLFSSL_EVP_MD_CTX* ctx);
|
||||
WOLFSSL_API void wolfSSL_EVP_MD_CTX_init(WOLFSSL_EVP_MD_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_CTX_cleanup(WOLFSSL_EVP_MD_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_CTX_copy(WOLFSSL_EVP_MD_CTX *out, const WOLFSSL_EVP_MD_CTX *in);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_CTX_copy_ex(WOLFSSL_EVP_MD_CTX *out, const WOLFSSL_EVP_MD_CTX *in);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_MD_CTX_md(const WOLFSSL_EVP_MD_CTX *ctx);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_get_cipherbyname(const char *name);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD *wolfSSL_EVP_get_digestbyname(const char *name);
|
||||
@ -349,6 +359,29 @@ WOLFSSL_API WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_mac_key(int type, ENGINE* e,
|
||||
const unsigned char* key, int keylen);
|
||||
WOLFSSL_API const unsigned char* wolfSSL_EVP_PKEY_get0_hmac(const WOLFSSL_EVP_PKEY* pkey,
|
||||
size_t* len);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_bits(const WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_free(WOLFSSL_EVP_PKEY_CTX *ctx);
|
||||
WOLFSSL_API WOLFSSL_EVP_PKEY_CTX *wolfSSL_EVP_PKEY_CTX_new(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_ENGINE *e);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_padding(WOLFSSL_EVP_PKEY_CTX *ctx, int padding);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt(WOLFSSL_EVP_PKEY_CTX *ctx,
|
||||
unsigned char *out, size_t *outlen,
|
||||
const unsigned char *in, size_t inlen);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_decrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt(WOLFSSL_EVP_PKEY_CTX *ctx,
|
||||
unsigned char *out, size_t *outlen,
|
||||
const unsigned char *in, size_t inlen);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_encrypt_init(WOLFSSL_EVP_PKEY_CTX *ctx);
|
||||
WOLFSSL_API WOLFSSL_EVP_PKEY *wolfSSL_EVP_PKEY_new(void);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_SignFinal(WOLFSSL_EVP_MD_CTX *ctx, unsigned char *sigret,
|
||||
unsigned int *siglen, WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_SignInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type);
|
||||
WOLFSSL_API int wolfSSL_EVP_SignUpdate(WOLFSSL_EVP_MD_CTX *ctx, const void *data, size_t len);
|
||||
WOLFSSL_API int wolfSSL_EVP_VerifyFinal(WOLFSSL_EVP_MD_CTX *ctx, const uint8_t *sig, size_t sig_len,
|
||||
WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_VerifyInit(WOLFSSL_EVP_MD_CTX *ctx, const WOLFSSL_EVP_MD *type);
|
||||
WOLFSSL_API int wolfSSL_EVP_VerifyUpdate(WOLFSSL_EVP_MD_CTX *ctx, const void *data, size_t len);
|
||||
|
||||
|
||||
/* these next ones don't need real OpenSSL type, for OpenSSH compat only */
|
||||
WOLFSSL_API void* wolfSSL_EVP_X_STATE(const WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
@ -405,11 +438,13 @@ typedef WOLFSSL_EVP_MD EVP_MD;
|
||||
typedef WOLFSSL_EVP_CIPHER EVP_CIPHER;
|
||||
typedef WOLFSSL_EVP_MD_CTX EVP_MD_CTX;
|
||||
typedef WOLFSSL_EVP_CIPHER_CTX EVP_CIPHER_CTX;
|
||||
typedef WOLFSSL_EVP_PKEY_CTX EVP_PKEY_CTX;
|
||||
|
||||
#ifndef NO_MD5
|
||||
#define EVP_md5 wolfSSL_EVP_md5
|
||||
#endif
|
||||
#define EVP_sha1 wolfSSL_EVP_sha1
|
||||
#define EVP_dds1 wolfSSL_EVP_sha1
|
||||
#define EVP_sha224 wolfSSL_EVP_sha224
|
||||
#define EVP_sha256 wolfSSL_EVP_sha256
|
||||
#define EVP_sha384 wolfSSL_EVP_sha384
|
||||
@ -495,8 +530,27 @@ typedef WOLFSSL_EVP_CIPHER_CTX EVP_CIPHER_CTX;
|
||||
#define EVP_PKEY_get1_RSA wolfSSL_EVP_PKEY_get1_RSA
|
||||
#define EVP_PKEY_get1_DSA wolfSSL_EVP_PKEY_get1_DSA
|
||||
#define EVP_PKEY_get1_EC_KEY wolfSSL_EVP_PKEY_get1_EC_KEY
|
||||
#define EVP_PKEY_get0_hmac wolfSSL_EVP_PKEY_get0_hmac
|
||||
#define EVP_PKEY_new_mac_key wolfSSL_EVP_PKEY_new_mac_key
|
||||
#define EVP_PKEY_get0_hmac wolfSSL_EVP_PKEY_get0_hmac
|
||||
#define EVP_PKEY_new_mac_key wolfSSL_EVP_PKEY_new_mac_key
|
||||
#define EVP_MD_CTX_copy wolfSSL_EVP_MD_CTX_copy
|
||||
#define EVP_MD_CTX_copy_ex wolfSSL_EVP_MD_CTX_copy_ex
|
||||
#define EVP_PKEY_bits wolfSSL_EVP_PKEY_bits
|
||||
#define EVP_PKEY_CTX_free wolfSSL_EVP_PKEY_CTX_free
|
||||
#define EVP_PKEY_CTX_new wolfSSL_EVP_PKEY_CTX_new
|
||||
#define EVP_PKEY_CTX_set_rsa_padding wolfSSL_EVP_PKEY_CTX_set_rsa_padding
|
||||
#define EVP_PKEY_decrypt wolfSSL_EVP_PKEY_decrypt
|
||||
#define EVP_PKEY_decrypt_init wolfSSL_EVP_PKEY_decrypt_init
|
||||
#define EVP_PKEY_encrypt wolfSSL_EVP_PKEY_encrypt
|
||||
#define EVP_PKEY_encrypt_init wolfSSL_EVP_PKEY_encrypt_init
|
||||
#define EVP_PKEY_new wolfSSL_PKEY_new
|
||||
#define EVP_PKEY_free wolfSSL_EVP_PKEY_free
|
||||
#define EVP_PKEY_size wolfSSL_EVP_PKEY_size
|
||||
#define EVP_SignFinal wolfSSL_EVP_SignFinal
|
||||
#define EVP_SignInit wolfSSL_EVP_SignInit
|
||||
#define EVP_SignUpdate wolfSSL_EVP_SignUpdate
|
||||
#define EVP_VerifyFinal wolfSSL_EVP_VerifyFinal
|
||||
#define EVP_VerifyInit wolfSSL_EVP_VerifyInit
|
||||
#define EVP_VerifyUpdate wolfSSL_EVP_VerifyUpdate
|
||||
|
||||
#define EVP_CIPHER_CTX_block_size wolfSSL_EVP_CIPHER_CTX_block_size
|
||||
#define EVP_CIPHER_block_size wolfSSL_EVP_CIPHER_block_size
|
||||
|
@ -104,7 +104,7 @@ WOLFSSL_API int wolfSSL_RSA_LoadDer(WOLFSSL_RSA*, const unsigned char*, int sz);
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
|
@ -198,6 +198,8 @@ typedef struct WOLFSSL_EVP_PKEY WOLFSSL_EVP_PKEY;
|
||||
#define WOLFSSL_EVP_PKEY_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
#define WOLFSSL_EVP_PKEY_DEFAULT EVP_PKEY_RSA /* default key type */
|
||||
|
||||
typedef struct WOLFSSL_MD4_CTX {
|
||||
int buffer[32]; /* big enough to hold, check size in Init */
|
||||
} WOLFSSL_MD4_CTX;
|
||||
@ -2678,7 +2680,6 @@ WOLFSSL_API void *X509_get0_tbs_sigalg(const WOLFSSL_X509 *x);
|
||||
WOLFSSL_API void X509_ALGOR_get0(WOLFSSL_ASN1_OBJECT **paobj, int *pptype, const void **ppval, const void *algor);
|
||||
WOLFSSL_API void *X509_get_X509_PUBKEY(void * x);
|
||||
WOLFSSL_API int X509_PUBKEY_get0_param(WOLFSSL_ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, void **pa, WOLFSSL_EVP_PKEY *pub);
|
||||
WOLFSSL_API int EVP_PKEY_bits(WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int i2d_X509(WOLFSSL_X509 *x, unsigned char **out);
|
||||
WOLFSSL_API int i2t_ASN1_OBJECT(char *buf, int buf_len, WOLFSSL_ASN1_OBJECT *a);
|
||||
WOLFSSL_API void SSL_CTX_set_tmp_dh_callback(WOLFSSL_CTX *ctx, WOLFSSL_DH *(*dh) (WOLFSSL *ssl, int is_export, int keylength));
|
||||
|
Reference in New Issue
Block a user