[修改] 增加freeRTOS
1. 版本FreeRTOSv202212.01,命名为kernel;
This commit is contained in:
111
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/aes.h
vendored
Normal file
111
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/aes.h
vendored
Normal file
@ -0,0 +1,111 @@
|
||||
/* aes.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* aes.h defines mini des openssl compatibility layer
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_AES_H_
|
||||
#define WOLFSSL_AES_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifndef NO_AES
|
||||
#include <wolfssl/openssl/ssl.h> /* for size_t */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* This structure wrapper is done because there is no aes_new function with
|
||||
* OpenSSL compatibility layer. This makes code working with an AES structure
|
||||
* to need the size of the structure. */
|
||||
typedef struct WOLFSSL_AES_KEY {
|
||||
/* aligned and big enough for Aes from wolfssl/wolfcrypt/aes.h */
|
||||
ALIGN16 void* holder[(376 + WC_ASYNC_DEV_SIZE)/ sizeof(void*)];
|
||||
#ifdef GCM_TABLE
|
||||
/* key-based fast multiplication table. */
|
||||
ALIGN16 void* M0[4096 / sizeof(void*)];
|
||||
#endif /* GCM_TABLE */
|
||||
#if defined(WOLFSSL_DEVCRYPTO) && \
|
||||
(defined(WOLFSSL_DEVCRYPTO_AES) || defined(WOLFSSL_DEVCRYPTO_CBC))
|
||||
/* large enough for additional devcrypto information */
|
||||
void* devKey[288 / sizeof(void*)];
|
||||
#endif
|
||||
#ifdef WOLFSSL_AFALG
|
||||
void* afalg_holder[288 / sizeof(void*)];
|
||||
#endif
|
||||
#ifdef HAVE_PKCS11
|
||||
void* pkcs11_holder[(AES_MAX_ID_LEN + sizeof(int)) / sizeof(void*)];
|
||||
#endif
|
||||
#if defined(WOLFSSL_ASYNC_CRYPT) || defined(WOLF_CRYPTO_CB)
|
||||
void* async_holder[128 / sizeof(void*)];
|
||||
#endif
|
||||
} WOLFSSL_AES_KEY;
|
||||
typedef WOLFSSL_AES_KEY AES_KEY;
|
||||
|
||||
WOLFSSL_API int wolfSSL_AES_set_encrypt_key
|
||||
(const unsigned char *, const int bits, AES_KEY *);
|
||||
WOLFSSL_API int wolfSSL_AES_set_decrypt_key
|
||||
(const unsigned char *, const int bits, AES_KEY *);
|
||||
WOLFSSL_API void wolfSSL_AES_cbc_encrypt
|
||||
(const unsigned char *in, unsigned char* out, size_t len,
|
||||
AES_KEY *key, unsigned char* iv, const int enc);
|
||||
WOLFSSL_API void wolfSSL_AES_ecb_encrypt
|
||||
(const unsigned char *in, unsigned char* out,
|
||||
AES_KEY *key, const int enc);
|
||||
WOLFSSL_API void wolfSSL_AES_cfb128_encrypt
|
||||
(const unsigned char *in, unsigned char* out, size_t len,
|
||||
AES_KEY *key, unsigned char* iv, int* num, const int enc);
|
||||
|
||||
#define AES_cbc_encrypt wolfSSL_AES_cbc_encrypt
|
||||
#define AES_ecb_encrypt wolfSSL_AES_ecb_encrypt
|
||||
#define AES_cfb128_encrypt wolfSSL_AES_cfb128_encrypt
|
||||
#define AES_set_encrypt_key wolfSSL_AES_set_encrypt_key
|
||||
#define AES_set_decrypt_key wolfSSL_AES_set_decrypt_key
|
||||
|
||||
#ifdef WOLFSSL_AES_DIRECT
|
||||
WOLFSSL_API void wolfSSL_AES_encrypt
|
||||
(const unsigned char* input, unsigned char* output, AES_KEY *);
|
||||
WOLFSSL_API void wolfSSL_AES_decrypt
|
||||
(const unsigned char* input, unsigned char* output, AES_KEY *);
|
||||
|
||||
#define AES_encrypt wolfSSL_AES_encrypt
|
||||
#define AES_decrypt wolfSSL_AES_decrypt
|
||||
#endif /* HAVE_AES_DIRECT */
|
||||
|
||||
#ifndef AES_ENCRYPT
|
||||
#define AES_ENCRYPT AES_ENCRYPTION
|
||||
#endif
|
||||
#ifndef AES_DECRYPT
|
||||
#define AES_DECRYPT AES_DECRYPTION
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* NO_AES */
|
||||
|
||||
#endif /* WOLFSSL_AES_H_ */
|
||||
152
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/asn1.h
vendored
Normal file
152
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/asn1.h
vendored
Normal file
@ -0,0 +1,152 @@
|
||||
/* asn1.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* asn1.h for openssl */
|
||||
|
||||
#ifndef WOLFSSL_ASN1_H_
|
||||
#define WOLFSSL_ASN1_H_
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
|
||||
#define ASN1_STRING_new wolfSSL_ASN1_STRING_new
|
||||
#define ASN1_STRING_type_new wolfSSL_ASN1_STRING_type_new
|
||||
#define ASN1_STRING_type wolfSSL_ASN1_STRING_type
|
||||
#define ASN1_STRING_set wolfSSL_ASN1_STRING_set
|
||||
#define ASN1_STRING_free wolfSSL_ASN1_STRING_free
|
||||
|
||||
#define V_ASN1_INTEGER 0x02
|
||||
#define V_ASN1_OCTET_STRING 0x04 /* tag for ASN1_OCTET_STRING */
|
||||
#define V_ASN1_NEG 0x100
|
||||
#define V_ASN1_NEG_INTEGER (2 | V_ASN1_NEG)
|
||||
#define V_ASN1_NEG_ENUMERATED (10 | V_ASN1_NEG)
|
||||
|
||||
/* Type for ASN1_print_ex */
|
||||
# define ASN1_STRFLGS_ESC_2253 1
|
||||
# define ASN1_STRFLGS_ESC_CTRL 2
|
||||
# define ASN1_STRFLGS_ESC_MSB 4
|
||||
# define ASN1_STRFLGS_ESC_QUOTE 8
|
||||
# define ASN1_STRFLGS_UTF8_CONVERT 0x10
|
||||
# define ASN1_STRFLGS_IGNORE_TYPE 0x20
|
||||
# define ASN1_STRFLGS_SHOW_TYPE 0x40
|
||||
# define ASN1_STRFLGS_DUMP_ALL 0x80
|
||||
# define ASN1_STRFLGS_DUMP_UNKNOWN 0x100
|
||||
# define ASN1_STRFLGS_DUMP_DER 0x200
|
||||
# define ASN1_STRFLGS_RFC2253 (ASN1_STRFLGS_ESC_2253 | \
|
||||
ASN1_STRFLGS_ESC_CTRL | \
|
||||
ASN1_STRFLGS_ESC_MSB | \
|
||||
ASN1_STRFLGS_UTF8_CONVERT | \
|
||||
ASN1_STRFLGS_DUMP_UNKNOWN | \
|
||||
ASN1_STRFLGS_DUMP_DER)
|
||||
|
||||
#define MBSTRING_UTF8 0x1000
|
||||
#define MBSTRING_ASC 0x1001
|
||||
#define MBSTRING_BMP 0x1002
|
||||
#define MBSTRING_UNIV 0x1004
|
||||
|
||||
#define ASN1_UTCTIME_print wolfSSL_ASN1_UTCTIME_print
|
||||
#define ASN1_TIME_check wolfSSL_ASN1_TIME_check
|
||||
#define ASN1_TIME_diff wolfSSL_ASN1_TIME_diff
|
||||
#define ASN1_TIME_set wolfSSL_ASN1_TIME_set
|
||||
|
||||
#define V_ASN1_OBJECT 6
|
||||
#define V_ASN1_UTCTIME 23
|
||||
#define V_ASN1_GENERALIZEDTIME 24
|
||||
|
||||
#define ASN1_STRING_FLAG_BITS_LEFT 0x008
|
||||
#define ASN1_STRING_FLAG_NDEF 0x010
|
||||
#define ASN1_STRING_FLAG_CONT 0x020
|
||||
#define ASN1_STRING_FLAG_MSTRING 0x040
|
||||
#define ASN1_STRING_FLAG_EMBED 0x080
|
||||
|
||||
|
||||
WOLFSSL_API WOLFSSL_ASN1_INTEGER *wolfSSL_BN_to_ASN1_INTEGER(
|
||||
const WOLFSSL_BIGNUM*, WOLFSSL_ASN1_INTEGER*);
|
||||
|
||||
WOLFSSL_API void wolfSSL_ASN1_TYPE_set(WOLFSSL_ASN1_TYPE *a, int type, void *value);
|
||||
|
||||
#ifdef OPENSSL_ALL
|
||||
/* IMPLEMENT_ASN1_FUNCTIONS is strictly for external use only. Internally
|
||||
* we don't use this. Some projects use OpenSSL to implement ASN1 types and
|
||||
* this section is only to provide those projects with ASN1 functionality. */
|
||||
typedef struct {
|
||||
size_t offset; /* Offset of this field in structure */
|
||||
byte type; /* The type of the member as defined in
|
||||
* WOLFSSL_ASN1_TYPES */
|
||||
} WOLFSSL_ASN1_TEMPLATE;
|
||||
|
||||
typedef struct {
|
||||
byte type; /* One of the ASN_Tags types */
|
||||
const WOLFSSL_ASN1_TEMPLATE *members; /* If SEQUENCE or CHOICE this
|
||||
* contains the contents */
|
||||
size_t mcount; /* Number of members if SEQUENCE
|
||||
* or CHOICE */
|
||||
size_t size; /* Structure size */
|
||||
} WOLFSSL_ASN1_ITEM;
|
||||
|
||||
typedef enum {
|
||||
WOLFSSL_X509_ALGOR_ASN1 = 0,
|
||||
WOLFSSL_ASN1_BIT_STRING_ASN1,
|
||||
} WOLFSSL_ASN1_TYPES;
|
||||
|
||||
#define ASN1_SEQUENCE(type) \
|
||||
static type __##type##_dummy_struct;\
|
||||
static const WOLFSSL_ASN1_TEMPLATE type##_member_data[]
|
||||
|
||||
#define ASN1_SIMPLE(type, member, member_type) \
|
||||
{ (char*)&__##type##_dummy_struct.member - (char*)&__##type##_dummy_struct, \
|
||||
WOLFSSL_##member_type##_ASN1 }
|
||||
|
||||
#define ASN1_SEQUENCE_END(type) \
|
||||
; \
|
||||
const WOLFSSL_ASN1_ITEM type##_template_data = { \
|
||||
ASN_SEQUENCE, \
|
||||
type##_member_data, \
|
||||
sizeof(type##_member_data) / sizeof(WOLFSSL_ASN1_TEMPLATE), \
|
||||
sizeof(type) \
|
||||
};
|
||||
|
||||
WOLFSSL_API void *wolfSSL_ASN1_item_new(const WOLFSSL_ASN1_ITEM *tpl);
|
||||
WOLFSSL_API void wolfSSL_ASN1_item_free(void *val, const WOLFSSL_ASN1_ITEM *tpl);
|
||||
WOLFSSL_API int wolfSSL_ASN1_item_i2d(const void *src, byte **dest,
|
||||
const WOLFSSL_ASN1_ITEM *tpl);
|
||||
|
||||
/* Need function declaration otherwise compiler complains */
|
||||
#define IMPLEMENT_ASN1_FUNCTIONS(type) \
|
||||
type *type##_new(void); \
|
||||
type *type##_new(void){ \
|
||||
return (type*)wolfSSL_ASN1_item_new(&type##_template_data); \
|
||||
} \
|
||||
void type##_free(type *t); \
|
||||
void type##_free(type *t){ \
|
||||
wolfSSL_ASN1_item_free(t, &type##_template_data); \
|
||||
} \
|
||||
int i2d_##type(type *src, byte **dest); \
|
||||
int i2d_##type(type *src, byte **dest) \
|
||||
{ \
|
||||
return wolfSSL_ASN1_item_i2d(src, dest, &type##_template_data);\
|
||||
}
|
||||
|
||||
#endif /* OPENSSL_ALL */
|
||||
|
||||
#define BN_to_ASN1_INTEGER wolfSSL_BN_to_ASN1_INTEGER
|
||||
#define ASN1_TYPE_set wolfSSL_ASN1_TYPE_set
|
||||
|
||||
#endif /* WOLFSSL_ASN1_H_ */
|
||||
30
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/asn1t.h
vendored
Normal file
30
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/asn1t.h
vendored
Normal file
@ -0,0 +1,30 @@
|
||||
/* asn1t.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* asn1t.h for openssl */
|
||||
|
||||
#ifndef WOLFSSL_ASN1T_H_
|
||||
#define WOLFSSL_ASN1T_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/asn.h>
|
||||
#include <wolfssl/openssl/asn1.h>
|
||||
|
||||
#endif /* WOLFSSL_ASN1T_H_ */
|
||||
164
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/bio.h
vendored
Normal file
164
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/bio.h
vendored
Normal file
@ -0,0 +1,164 @@
|
||||
/* bio.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* bio.h for openssl */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_BIO_H_
|
||||
#define WOLFSSL_BIO_H_
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
#define BIO_FLAGS_BASE64_NO_NL WOLFSSL_BIO_FLAG_BASE64_NO_NL
|
||||
#define BIO_FLAGS_READ WOLFSSL_BIO_FLAG_READ
|
||||
#define BIO_FLAGS_WRITE WOLFSSL_BIO_FLAG_WRITE
|
||||
#define BIO_FLAGS_IO_SPECIAL WOLFSSL_BIO_FLAG_IO_SPECIAL
|
||||
#define BIO_FLAGS_SHOULD_RETRY WOLFSSL_BIO_FLAG_RETRY
|
||||
|
||||
#define BIO_new_fp wolfSSL_BIO_new_fp
|
||||
#define BIO_new_file wolfSSL_BIO_new_file
|
||||
#define BIO_new_fp wolfSSL_BIO_new_fp
|
||||
#define BIO_ctrl wolfSSL_BIO_ctrl
|
||||
#define BIO_ctrl_pending wolfSSL_BIO_ctrl_pending
|
||||
#define BIO_wpending wolfSSL_BIO_wpending
|
||||
#define BIO_get_mem_ptr wolfSSL_BIO_get_mem_ptr
|
||||
#define BIO_int_ctrl wolfSSL_BIO_int_ctrl
|
||||
#define BIO_reset wolfSSL_BIO_reset
|
||||
#define BIO_s_file wolfSSL_BIO_s_file
|
||||
#define BIO_s_bio wolfSSL_BIO_s_bio
|
||||
#define BIO_s_socket wolfSSL_BIO_s_socket
|
||||
#define BIO_set_fd wolfSSL_BIO_set_fd
|
||||
#define BIO_set_close wolfSSL_BIO_set_close
|
||||
#define BIO_ctrl_reset_read_request wolfSSL_BIO_ctrl_reset_read_request
|
||||
#define BIO_set_write_buf_size wolfSSL_BIO_set_write_buf_size
|
||||
#define BIO_make_bio_pair wolfSSL_BIO_make_bio_pair
|
||||
|
||||
#define BIO_set_fp wolfSSL_BIO_set_fp
|
||||
#define BIO_get_fp wolfSSL_BIO_get_fp
|
||||
#define BIO_seek wolfSSL_BIO_seek
|
||||
#define BIO_write_filename wolfSSL_BIO_write_filename
|
||||
#define BIO_set_mem_eof_return wolfSSL_BIO_set_mem_eof_return
|
||||
|
||||
#define BIO_find_type wolfSSL_BIO_find_type
|
||||
#define BIO_next wolfSSL_BIO_next
|
||||
#define BIO_gets wolfSSL_BIO_gets
|
||||
#define BIO_puts wolfSSL_BIO_puts
|
||||
|
||||
#define BIO_should_retry wolfSSL_BIO_should_retry
|
||||
|
||||
#define BIO_TYPE_FILE WOLFSSL_BIO_FILE
|
||||
#define BIO_TYPE_BIO WOLFSSL_BIO_BIO
|
||||
#define BIO_TYPE_MEM WOLFSSL_BIO_MEMORY
|
||||
#define BIO_TYPE_BASE64 WOLFSSL_BIO_BASE64
|
||||
|
||||
#define BIO_vprintf wolfSSL_BIO_vprintf
|
||||
#define BIO_printf wolfSSL_BIO_printf
|
||||
#define BIO_dump wolfSSL_BIO_dump
|
||||
|
||||
/* BIO info callback */
|
||||
#define BIO_CB_FREE WOLFSSL_BIO_CB_FREE
|
||||
#define BIO_CB_READ WOLFSSL_BIO_CB_READ
|
||||
#define BIO_CB_WRITE WOLFSSL_BIO_CB_WRITE
|
||||
#define BIO_CB_PUTS WOLFSSL_BIO_CB_PUTS
|
||||
#define BIO_CB_GETS WOLFSSL_BIO_CB_GETS
|
||||
#define BIO_CB_CTRL WOLFSSL_BIO_CB_CTRL
|
||||
#define BIO_CB_RETURN WOLFSSL_BIO_CB_RETURN
|
||||
|
||||
#define BIO_set_callback wolfSSL_BIO_set_callback
|
||||
#define BIO_get_callback wolfSSL_BIO_get_callback
|
||||
#define BIO_set_callback_arg wolfSSL_BIO_set_callback_arg
|
||||
#define BIO_get_callback_arg wolfSSL_BIO_get_callback_arg
|
||||
|
||||
/* BIO for 1.1.0 or later */
|
||||
#define BIO_set_init wolfSSL_BIO_set_init
|
||||
#define BIO_get_data wolfSSL_BIO_get_data
|
||||
#define BIO_set_data wolfSSL_BIO_set_data
|
||||
#define BIO_get_shutdown wolfSSL_BIO_get_shutdown
|
||||
#define BIO_set_shutdown wolfSSL_BIO_set_shutdown
|
||||
|
||||
#define BIO_clear_flags wolfSSL_BIO_clear_flags
|
||||
#define BIO_set_ex_data wolfSSL_BIO_set_ex_data
|
||||
#define BIO_get_ex_data wolfSSL_BIO_get_ex_data
|
||||
|
||||
/* helper to set specific retry/read flags */
|
||||
#define BIO_set_retry_read(bio)\
|
||||
wolfSSL_BIO_set_flags((bio), WOLFSSL_BIO_FLAG_RETRY | WOLFSSL_BIO_FLAG_READ)
|
||||
#define BIO_set_retry_write(bio)\
|
||||
wolfSSL_BIO_set_flags((bio), WOLFSSL_BIO_FLAG_RETRY | WOLFSSL_BIO_FLAG_WRITE)
|
||||
|
||||
#define BIO_clear_retry_flags wolfSSL_BIO_clear_retry_flags
|
||||
|
||||
#define BIO_meth_new wolfSSL_BIO_meth_new
|
||||
#define BIO_meth_set_write wolfSSL_BIO_meth_set_write
|
||||
#define BIO_meth_free wolfSSL_BIO_meth_free
|
||||
#define BIO_meth_set_write wolfSSL_BIO_meth_set_write
|
||||
#define BIO_meth_set_read wolfSSL_BIO_meth_set_read
|
||||
#define BIO_meth_set_puts wolfSSL_BIO_meth_set_puts
|
||||
#define BIO_meth_set_gets wolfSSL_BIO_meth_set_gets
|
||||
#define BIO_meth_set_ctrl wolfSSL_BIO_meth_set_ctrl
|
||||
#define BIO_meth_set_create wolfSSL_BIO_meth_set_create
|
||||
#define BIO_meth_set_destroy wolfSSL_BIO_meth_set_destroy
|
||||
|
||||
|
||||
/* BIO CTRL */
|
||||
#define BIO_CTRL_RESET 1
|
||||
#define BIO_CTRL_EOF 2
|
||||
#define BIO_CTRL_INFO 3
|
||||
#define BIO_CTRL_PUSH 6
|
||||
#define BIO_CTRL_POP 7
|
||||
#define BIO_CTRL_GET_CLOSE 8
|
||||
#define BIO_CTRL_SET_CLOSE 9
|
||||
#define BIO_CTRL_PENDING 10
|
||||
#define BIO_CTRL_FLUSH 11
|
||||
#define BIO_CTRL_DUP 12
|
||||
#define BIO_CTRL_WPENDING 13
|
||||
|
||||
#define BIO_C_SET_FILE_PTR 106
|
||||
#define BIO_C_GET_FILE_PTR 107
|
||||
#define BIO_C_SET_FILENAME 108
|
||||
#define BIO_C_SET_BUF_MEM 114
|
||||
#define BIO_C_GET_BUF_MEM_PTR 115
|
||||
#define BIO_C_FILE_SEEK 128
|
||||
#define BIO_C_SET_BUF_MEM_EOF_RETURN 130
|
||||
#define BIO_C_SET_WRITE_BUF_SIZE 136
|
||||
#define BIO_C_MAKE_BIO_PAIR 138
|
||||
|
||||
#define BIO_CTRL_DGRAM_QUERY_MTU 40
|
||||
|
||||
#define BIO_NOCLOSE 0x00
|
||||
#define BIO_CLOSE 0x01
|
||||
|
||||
#define BIO_FP_WRITE 0x04
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_BIO_H_ */
|
||||
|
||||
226
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/bn.h
vendored
Normal file
226
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/bn.h
vendored
Normal file
@ -0,0 +1,226 @@
|
||||
/* bn.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* bn.h for openssl */
|
||||
|
||||
/*!
|
||||
\file wolfssl/openssl/bn.h
|
||||
\brief bn.h for openssl
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_BN_H_
|
||||
#define WOLFSSL_BN_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/integer.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct WOLFSSL_BIGNUM {
|
||||
int neg; /* openssh deference */
|
||||
void *internal; /* our big num */
|
||||
#ifdef WOLFSSL_SP_MATH
|
||||
sp_int fp;
|
||||
#elif defined(USE_FAST_MATH) && !defined(HAVE_WOLF_BIGINT)
|
||||
fp_int fp;
|
||||
#endif
|
||||
} WOLFSSL_BIGNUM;
|
||||
|
||||
|
||||
#define BN_ULONG WOLFSSL_BN_ULONG
|
||||
#define WOLFSSL_BN_ULONG mp_digit
|
||||
|
||||
typedef struct WOLFSSL_BN_CTX WOLFSSL_BN_CTX;
|
||||
typedef struct WOLFSSL_BN_GENCB WOLFSSL_BN_GENCB;
|
||||
|
||||
WOLFSSL_API WOLFSSL_BN_CTX* wolfSSL_BN_CTX_new(void);
|
||||
WOLFSSL_API void wolfSSL_BN_CTX_init(WOLFSSL_BN_CTX*);
|
||||
WOLFSSL_API void wolfSSL_BN_CTX_free(WOLFSSL_BN_CTX*);
|
||||
|
||||
WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_new(void);
|
||||
#if defined(USE_FAST_MATH) && !defined(HAVE_WOLF_BIGINT)
|
||||
WOLFSSL_API void wolfSSL_BN_init(WOLFSSL_BIGNUM *);
|
||||
#endif
|
||||
WOLFSSL_API void wolfSSL_BN_free(WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API void wolfSSL_BN_clear_free(WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API void wolfSSL_BN_clear(WOLFSSL_BIGNUM*);
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_sub(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*,
|
||||
const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_mod(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*,
|
||||
const WOLFSSL_BIGNUM*, const WOLFSSL_BN_CTX*);
|
||||
WOLFSSL_API int wolfSSL_BN_mod_exp(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a,
|
||||
const WOLFSSL_BIGNUM *p, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_BN_mod_mul(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a,
|
||||
const WOLFSSL_BIGNUM *b, const WOLFSSL_BIGNUM *m, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API const WOLFSSL_BIGNUM* wolfSSL_BN_value_one(void);
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_num_bytes(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_num_bits(const WOLFSSL_BIGNUM*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_is_zero(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_is_one(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_is_odd(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_is_negative(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_is_word(const WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_cmp(const WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_bn2bin(const WOLFSSL_BIGNUM*, unsigned char*);
|
||||
WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_bin2bn(const unsigned char*, int len,
|
||||
WOLFSSL_BIGNUM* ret);
|
||||
|
||||
WOLFSSL_API int wolfSSL_mask_bits(WOLFSSL_BIGNUM*, int n);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_pseudo_rand(WOLFSSL_BIGNUM*, int bits, int top,
|
||||
int bottom);
|
||||
WOLFSSL_API int wolfSSL_BN_rand(WOLFSSL_BIGNUM*, int bits, int top, int bottom);
|
||||
WOLFSSL_API int wolfSSL_BN_is_bit_set(const WOLFSSL_BIGNUM*, int n);
|
||||
WOLFSSL_API int wolfSSL_BN_hex2bn(WOLFSSL_BIGNUM**, const char* str);
|
||||
|
||||
WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_dup(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API WOLFSSL_BIGNUM* wolfSSL_BN_copy(WOLFSSL_BIGNUM*,
|
||||
const WOLFSSL_BIGNUM*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_dec2bn(WOLFSSL_BIGNUM**, const char* str);
|
||||
WOLFSSL_API char* wolfSSL_BN_bn2dec(const WOLFSSL_BIGNUM*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_lshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int);
|
||||
WOLFSSL_API int wolfSSL_BN_add_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG);
|
||||
WOLFSSL_API int wolfSSL_BN_set_bit(WOLFSSL_BIGNUM*, int);
|
||||
WOLFSSL_API int wolfSSL_BN_clear_bit(WOLFSSL_BIGNUM*, int);
|
||||
WOLFSSL_API int wolfSSL_BN_set_word(WOLFSSL_BIGNUM*, WOLFSSL_BN_ULONG);
|
||||
WOLFSSL_API unsigned long wolfSSL_BN_get_word(const WOLFSSL_BIGNUM*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_BN_add(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*,
|
||||
WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_mod_add(WOLFSSL_BIGNUM *r, const WOLFSSL_BIGNUM *a,
|
||||
const WOLFSSL_BIGNUM *b, const WOLFSSL_BIGNUM *m,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API char *wolfSSL_BN_bn2hex(const WOLFSSL_BIGNUM*);
|
||||
WOLFSSL_API int wolfSSL_BN_is_prime_ex(const WOLFSSL_BIGNUM*, int,
|
||||
WOLFSSL_BN_CTX*, WOLFSSL_BN_GENCB*);
|
||||
WOLFSSL_API WOLFSSL_BN_ULONG wolfSSL_BN_mod_word(const WOLFSSL_BIGNUM*,
|
||||
WOLFSSL_BN_ULONG);
|
||||
#if !defined(NO_FILESYSTEM) && !defined(NO_STDIO_FILESYSTEM)
|
||||
WOLFSSL_API int wolfSSL_BN_print_fp(XFILE, const WOLFSSL_BIGNUM*);
|
||||
#endif
|
||||
WOLFSSL_API int wolfSSL_BN_rshift(WOLFSSL_BIGNUM*, const WOLFSSL_BIGNUM*, int);
|
||||
WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_BN_CTX_get(WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API void wolfSSL_BN_CTX_start(WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API WOLFSSL_BIGNUM *wolfSSL_BN_mod_inverse(WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*,
|
||||
const WOLFSSL_BIGNUM*, WOLFSSL_BN_CTX *ctx);
|
||||
|
||||
typedef WOLFSSL_BIGNUM BIGNUM;
|
||||
typedef WOLFSSL_BN_CTX BN_CTX;
|
||||
typedef WOLFSSL_BN_GENCB BN_GENCB;
|
||||
|
||||
#define BN_CTX_new wolfSSL_BN_CTX_new
|
||||
#define BN_CTX_init wolfSSL_BN_CTX_init
|
||||
#define BN_CTX_free wolfSSL_BN_CTX_free
|
||||
|
||||
#define BN_new wolfSSL_BN_new
|
||||
#define BN_init wolfSSL_BN_init
|
||||
#define BN_free wolfSSL_BN_free
|
||||
#define BN_clear_free wolfSSL_BN_clear_free
|
||||
#define BN_clear wolfSSL_BN_clear
|
||||
|
||||
#define BN_num_bytes wolfSSL_BN_num_bytes
|
||||
#define BN_num_bits wolfSSL_BN_num_bits
|
||||
|
||||
#define BN_is_zero wolfSSL_BN_is_zero
|
||||
#define BN_is_one wolfSSL_BN_is_one
|
||||
#define BN_is_odd wolfSSL_BN_is_odd
|
||||
#define BN_is_negative wolfSSL_BN_is_negative
|
||||
#define BN_is_word wolfSSL_BN_is_word
|
||||
|
||||
#define BN_cmp wolfSSL_BN_cmp
|
||||
|
||||
#define BN_bn2bin wolfSSL_BN_bn2bin
|
||||
#define BN_bin2bn wolfSSL_BN_bin2bn
|
||||
|
||||
#define BN_mod wolfSSL_BN_mod
|
||||
#define BN_mod_exp wolfSSL_BN_mod_exp
|
||||
#define BN_mod_mul wolfSSL_BN_mod_mul
|
||||
#define BN_sub wolfSSL_BN_sub
|
||||
#define BN_value_one wolfSSL_BN_value_one
|
||||
|
||||
#define BN_mask_bits wolfSSL_mask_bits
|
||||
|
||||
#define BN_pseudo_rand wolfSSL_BN_pseudo_rand
|
||||
#define BN_rand wolfSSL_BN_rand
|
||||
#define BN_is_bit_set wolfSSL_BN_is_bit_set
|
||||
#define BN_hex2bn wolfSSL_BN_hex2bn
|
||||
|
||||
#define BN_dup wolfSSL_BN_dup
|
||||
#define BN_copy wolfSSL_BN_copy
|
||||
|
||||
#define BN_get_word wolfSSL_BN_get_word
|
||||
#define BN_set_word wolfSSL_BN_set_word
|
||||
|
||||
#define BN_dec2bn wolfSSL_BN_dec2bn
|
||||
#define BN_bn2dec wolfSSL_BN_bn2dec
|
||||
#define BN_bn2hex wolfSSL_BN_bn2hex
|
||||
|
||||
#define BN_lshift wolfSSL_BN_lshift
|
||||
#define BN_add_word wolfSSL_BN_add_word
|
||||
#define BN_add wolfSSL_BN_add
|
||||
#define BN_mod_add wolfSSL_BN_mod_add
|
||||
#define BN_set_word wolfSSL_BN_set_word
|
||||
#define BN_set_bit wolfSSL_BN_set_bit
|
||||
#define BN_clear_bit wolfSSL_BN_clear_bit
|
||||
|
||||
|
||||
#define BN_is_prime_ex wolfSSL_BN_is_prime_ex
|
||||
#define BN_print_fp wolfSSL_BN_print_fp
|
||||
#define BN_rshift wolfSSL_BN_rshift
|
||||
#define BN_mod_word wolfSSL_BN_mod_word
|
||||
|
||||
#define BN_CTX_get wolfSSL_BN_CTX_get
|
||||
#define BN_CTX_start wolfSSL_BN_CTX_start
|
||||
|
||||
#define BN_mod_inverse wolfSSL_BN_mod_inverse
|
||||
|
||||
#define BN_set_flags(x1, x2)
|
||||
|
||||
#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
#define BN_get_rfc2409_prime_768 wolfSSL_DH_768_prime
|
||||
#define BN_get_rfc2409_prime_1024 wolfSSL_DH_1024_prime
|
||||
#define BN_get_rfc3526_prime_1536 wolfSSL_DH_1536_prime
|
||||
#define BN_get_rfc3526_prime_2048 wolfSSL_DH_2048_prime
|
||||
#define BN_get_rfc3526_prime_3072 wolfSSL_DH_3072_prime
|
||||
#define BN_get_rfc3526_prime_4096 wolfSSL_DH_4096_prime
|
||||
#define BN_get_rfc3526_prime_6144 wolfSSL_DH_6144_prime
|
||||
#define BN_get_rfc3526_prime_8192 wolfSSL_DH_8192_prime
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL__H_ */
|
||||
47
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/buffer.h
vendored
Normal file
47
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/buffer.h
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
/* buffer.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_BUFFER_H_
|
||||
#define WOLFSSL_BUFFER_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
WOLFSSL_API WOLFSSL_BUF_MEM* wolfSSL_BUF_MEM_new(void);
|
||||
WOLFSSL_API int wolfSSL_BUF_MEM_grow(WOLFSSL_BUF_MEM* buf, size_t len);
|
||||
WOLFSSL_API void wolfSSL_BUF_MEM_free(WOLFSSL_BUF_MEM* buf);
|
||||
|
||||
|
||||
#define BUF_MEM_new wolfSSL_BUF_MEM_new
|
||||
#define BUF_MEM_grow wolfSSL_BUF_MEM_grow
|
||||
#define BUF_MEM_free wolfSSL_BUF_MEM_free
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_BUFFER_H_ */
|
||||
48
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/conf.h
vendored
Normal file
48
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/conf.h
vendored
Normal file
@ -0,0 +1,48 @@
|
||||
/* conf.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* conf.h for openSSL */
|
||||
|
||||
#ifndef WOLFSSL_conf_H_
|
||||
#define WOLFSSL_conf_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
struct WOLFSSL_CONF_VALUE {
|
||||
char *section;
|
||||
char *name;
|
||||
char *value;
|
||||
};
|
||||
|
||||
struct WOLFSSL_INIT_SETTINGS {
|
||||
char* appname;
|
||||
};
|
||||
|
||||
typedef struct WOLFSSL_CONF_VALUE CONF_VALUE;
|
||||
typedef struct WOLFSSL_INIT_SETTINGS OPENSSL_INIT_SETTINGS;
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_conf_H_ */
|
||||
91
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/crypto.h
vendored
Normal file
91
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/crypto.h
vendored
Normal file
@ -0,0 +1,91 @@
|
||||
/* crypto.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* crypto.h for openSSL */
|
||||
|
||||
#ifndef WOLFSSL_CRYPTO_H_
|
||||
#define WOLFSSL_CRYPTO_H_
|
||||
|
||||
#include <wolfssl/openssl/opensslv.h>
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_crypto.h"
|
||||
#endif
|
||||
|
||||
|
||||
WOLFSSL_API const char* wolfSSLeay_version(int type);
|
||||
WOLFSSL_API unsigned long wolfSSLeay(void);
|
||||
WOLFSSL_API unsigned long wolfSSL_OpenSSL_version_num(void);
|
||||
|
||||
#ifdef OPENSSL_EXTRA
|
||||
WOLFSSL_API void wolfSSL_OPENSSL_free(void*);
|
||||
WOLFSSL_API void *wolfSSL_OPENSSL_malloc(size_t a);
|
||||
#endif
|
||||
|
||||
#define CRYPTO_THREADID void
|
||||
|
||||
#define SSLeay_version wolfSSLeay_version
|
||||
#define SSLeay wolfSSLeay
|
||||
#define OpenSSL_version_num wolfSSL_OpenSSL_version_num
|
||||
|
||||
#ifdef WOLFSSL_QT
|
||||
#define SSLEAY_VERSION 0x10001000L
|
||||
#else
|
||||
#define SSLEAY_VERSION 0x0090600fL
|
||||
#endif
|
||||
#define SSLEAY_VERSION_NUMBER SSLEAY_VERSION
|
||||
#define CRYPTO_lock wc_LockMutex_ex
|
||||
|
||||
/* this function was used to set the default malloc, free, and realloc */
|
||||
#define CRYPTO_malloc_init() 0 /* CRYPTO_malloc_init is not needed */
|
||||
|
||||
#define OPENSSL_free wolfSSL_OPENSSL_free
|
||||
#define OPENSSL_malloc wolfSSL_OPENSSL_malloc
|
||||
|
||||
#ifdef WOLFSSL_QT
|
||||
#define OPENSSL_INIT_ADD_ALL_CIPHERS 0x00000004L
|
||||
#define OPENSSL_INIT_ADD_ALL_DIGESTS 0x00000008L
|
||||
#define OPENSSL_INIT_LOAD_CONFIG 0x00000040L
|
||||
#endif
|
||||
|
||||
#if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(WOLFSSL_NGINX) || \
|
||||
defined(WOLFSSL_HAPROXY) || defined(OPENSSL_EXTRA)
|
||||
#define CRYPTO_set_mem_ex_functions wolfSSL_CRYPTO_set_mem_ex_functions
|
||||
#define FIPS_mode wolfSSL_FIPS_mode
|
||||
#define FIPS_mode_set wolfSSL_FIPS_mode_set
|
||||
typedef struct CRYPTO_EX_DATA CRYPTO_EX_DATA;
|
||||
typedef void (CRYPTO_free_func)(void*parent, void*ptr, CRYPTO_EX_DATA *ad, int idx,
|
||||
long argl, void* argp);
|
||||
#define CRYPTO_THREADID_set_callback wolfSSL_THREADID_set_callback
|
||||
#define CRYPTO_THREADID_set_numeric wolfSSL_THREADID_set_numeric
|
||||
|
||||
#define CRYPTO_r_lock wc_LockMutex_ex
|
||||
#define CRYPTO_unlock wc_LockMutex_ex
|
||||
|
||||
#define CRYPTO_THREAD_lock wc_LockMutex
|
||||
#define CRYPTO_THREAD_r_lock wc_LockMutex
|
||||
#define CRYPTO_THREAD_unlock wc_UnLockMutex
|
||||
|
||||
#endif /* OPENSSL_ALL || HAVE_STUNNEL || WOLFSSL_NGINX || WOLFSSL_HAPROXY */
|
||||
|
||||
#endif /* header */
|
||||
115
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/des.h
vendored
Normal file
115
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/des.h
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
/* des.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* des.h defines mini des openssl compatibility layer
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_DES_H_
|
||||
#define WOLFSSL_DES_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifndef NO_DES3
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_des.h"
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef unsigned char WOLFSSL_DES_cblock[8];
|
||||
typedef /* const */ WOLFSSL_DES_cblock WOLFSSL_const_DES_cblock;
|
||||
typedef WOLFSSL_DES_cblock WOLFSSL_DES_key_schedule;
|
||||
typedef unsigned int WOLFSSL_DES_LONG;
|
||||
|
||||
|
||||
enum {
|
||||
DES_ENCRYPT = 1,
|
||||
DES_DECRYPT = 0
|
||||
};
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_DES_is_weak_key(WOLFSSL_const_DES_cblock* key);
|
||||
WOLFSSL_API WOLFSSL_DES_LONG wolfSSL_DES_cbc_cksum(const unsigned char* in,
|
||||
WOLFSSL_DES_cblock* out, long length, WOLFSSL_DES_key_schedule* sc,
|
||||
WOLFSSL_const_DES_cblock* iv);
|
||||
WOLFSSL_API int wolfSSL_DES_set_key(WOLFSSL_const_DES_cblock* myDes,
|
||||
WOLFSSL_DES_key_schedule* key);
|
||||
WOLFSSL_API int wolfSSL_DES_set_key_checked(WOLFSSL_const_DES_cblock* myDes,
|
||||
WOLFSSL_DES_key_schedule* key);
|
||||
WOLFSSL_API void wolfSSL_DES_set_key_unchecked(WOLFSSL_const_DES_cblock*,
|
||||
WOLFSSL_DES_key_schedule*);
|
||||
WOLFSSL_API int wolfSSL_DES_key_sched(WOLFSSL_const_DES_cblock* key,
|
||||
WOLFSSL_DES_key_schedule* schedule);
|
||||
WOLFSSL_API void wolfSSL_DES_cbc_encrypt(const unsigned char* input,
|
||||
unsigned char* output, long length,
|
||||
WOLFSSL_DES_key_schedule* schedule, WOLFSSL_DES_cblock* ivec,
|
||||
int enc);
|
||||
WOLFSSL_API void wolfSSL_DES_ede3_cbc_encrypt(const unsigned char* input,
|
||||
unsigned char* output, long sz,
|
||||
WOLFSSL_DES_key_schedule* ks1,
|
||||
WOLFSSL_DES_key_schedule* ks2,
|
||||
WOLFSSL_DES_key_schedule* ks3,
|
||||
WOLFSSL_DES_cblock* ivec, int enc);
|
||||
WOLFSSL_API void wolfSSL_DES_ncbc_encrypt(const unsigned char* input,
|
||||
unsigned char* output, long length,
|
||||
WOLFSSL_DES_key_schedule* schedule,
|
||||
WOLFSSL_DES_cblock* ivec, int enc);
|
||||
|
||||
WOLFSSL_API void wolfSSL_DES_set_odd_parity(WOLFSSL_DES_cblock*);
|
||||
WOLFSSL_API void wolfSSL_DES_ecb_encrypt(WOLFSSL_DES_cblock*, WOLFSSL_DES_cblock*,
|
||||
WOLFSSL_DES_key_schedule*, int);
|
||||
WOLFSSL_API int wolfSSL_DES_check_key_parity(WOLFSSL_DES_cblock*);
|
||||
|
||||
|
||||
typedef WOLFSSL_DES_cblock DES_cblock;
|
||||
typedef WOLFSSL_const_DES_cblock const_DES_cblock;
|
||||
typedef WOLFSSL_DES_key_schedule DES_key_schedule;
|
||||
typedef WOLFSSL_DES_LONG DES_LONG;
|
||||
|
||||
#define DES_check_key(x) /* Define WOLFSSL_CHECK_DESKEY to check key */
|
||||
#define DES_is_weak_key wolfSSL_DES_is_weak_key
|
||||
#define DES_set_key wolfSSL_DES_set_key
|
||||
#define DES_set_key_checked wolfSSL_DES_set_key_checked
|
||||
#define DES_set_key_unchecked wolfSSL_DES_set_key_unchecked
|
||||
#define DES_key_sched wolfSSL_DES_key_sched
|
||||
#define DES_cbc_encrypt wolfSSL_DES_cbc_encrypt
|
||||
#define DES_ncbc_encrypt wolfSSL_DES_ncbc_encrypt
|
||||
#define DES_set_odd_parity wolfSSL_DES_set_odd_parity
|
||||
#define DES_ecb_encrypt wolfSSL_DES_ecb_encrypt
|
||||
#define DES_ede3_cbc_encrypt wolfSSL_DES_ede3_cbc_encrypt
|
||||
#define DES_cbc_cksum wolfSSL_DES_cbc_cksum
|
||||
#define DES_check_key_parity wolfSSL_DES_check_key_parity
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* NO_DES3 */
|
||||
|
||||
#endif /* WOLFSSL_DES_H_ */
|
||||
115
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/dh.h
vendored
Normal file
115
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/dh.h
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
/* dh.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* dh.h for openSSL */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_DH_H_
|
||||
#define WOLFSSL_DH_H_
|
||||
|
||||
#include <wolfssl/openssl/bn.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef WOLFSSL_DH_TYPE_DEFINED /* guard on redeclaration */
|
||||
typedef struct WOLFSSL_DH WOLFSSL_DH;
|
||||
#define WOLFSSL_DH_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
typedef WOLFSSL_DH DH;
|
||||
|
||||
struct WOLFSSL_DH {
|
||||
WOLFSSL_BIGNUM* p;
|
||||
WOLFSSL_BIGNUM* g;
|
||||
WOLFSSL_BIGNUM* q;
|
||||
WOLFSSL_BIGNUM* pub_key; /* openssh deference g^x */
|
||||
WOLFSSL_BIGNUM* priv_key; /* openssh deference x */
|
||||
void* internal; /* our DH */
|
||||
char inSet; /* internal set from external ? */
|
||||
char exSet; /* external set from internal ? */
|
||||
/*added for lighttpd openssl compatibility, go back and add a getter in
|
||||
* lighttpd src code.
|
||||
*/
|
||||
int length;
|
||||
};
|
||||
|
||||
WOLFSSL_API WOLFSSL_DH *wolfSSL_d2i_DHparams(WOLFSSL_DH **dh,
|
||||
const unsigned char **pp, long length);
|
||||
WOLFSSL_API int wolfSSL_i2d_DHparams(const WOLFSSL_DH *dh, unsigned char **out);
|
||||
WOLFSSL_API WOLFSSL_DH* wolfSSL_DH_new(void);
|
||||
WOLFSSL_API void wolfSSL_DH_free(WOLFSSL_DH*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DH_check(const WOLFSSL_DH *dh, int *codes);
|
||||
WOLFSSL_API int wolfSSL_DH_size(WOLFSSL_DH*);
|
||||
WOLFSSL_API int wolfSSL_DH_generate_key(WOLFSSL_DH*);
|
||||
WOLFSSL_API int wolfSSL_DH_compute_key(unsigned char* key, WOLFSSL_BIGNUM* pub,
|
||||
WOLFSSL_DH*);
|
||||
WOLFSSL_API int wolfSSL_DH_LoadDer(WOLFSSL_DH*, const unsigned char*, int sz);
|
||||
WOLFSSL_API int wolfSSL_DH_set0_pqg(WOLFSSL_DH*, WOLFSSL_BIGNUM*,
|
||||
WOLFSSL_BIGNUM*, WOLFSSL_BIGNUM*);
|
||||
|
||||
#define DH_new wolfSSL_DH_new
|
||||
#define DH_free wolfSSL_DH_free
|
||||
|
||||
#define d2i_DHparams wolfSSL_d2i_DHparams
|
||||
#define i2d_DHparams wolfSSL_i2d_DHparams
|
||||
#define DH_check wolfSSL_DH_check
|
||||
|
||||
#define DH_size wolfSSL_DH_size
|
||||
#define DH_generate_key wolfSSL_DH_generate_key
|
||||
#define DH_compute_key wolfSSL_DH_compute_key
|
||||
#if defined(OPENSSL_VERSION_NUMBER) && OPENSSL_VERSION_NUMBER >= 0x10100000L
|
||||
#define DH_set0_pqg wolfSSL_DH_set0_pqg
|
||||
#endif
|
||||
#define DH_bits(x) (BN_num_bits(x->p))
|
||||
|
||||
#define DH_GENERATOR_2 2
|
||||
#define DH_CHECK_P_NOT_PRIME 0x01
|
||||
#define DH_CHECK_P_NOT_SAFE_PRIME 0x02
|
||||
#define DH_NOT_SUITABLE_GENERATOR 0x08
|
||||
|
||||
/* Temporary values for wolfSSL_DH_Check*/
|
||||
#define DH_CHECK_INVALID_Q_VALUE 0x10
|
||||
#define DH_CHECK_Q_NOT_PRIME 0x11
|
||||
/* end temp */
|
||||
|
||||
/* for pre 1.1.0 */
|
||||
#define get_rfc2409_prime_768 wolfSSL_DH_768_prime
|
||||
#define get_rfc2409_prime_1024 wolfSSL_DH_1024_prime
|
||||
#define get_rfc3526_prime_1536 wolfSSL_DH_1536_prime
|
||||
#define get_rfc3526_prime_2048 wolfSSL_DH_2048_prime
|
||||
#define get_rfc3526_prime_3072 wolfSSL_DH_3072_prime
|
||||
#define get_rfc3526_prime_4096 wolfSSL_DH_4096_prime
|
||||
#define get_rfc3526_prime_6144 wolfSSL_DH_6144_prime
|
||||
#define get_rfc3526_prime_8192 wolfSSL_DH_8192_prime
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#if defined(OPENSSL_ALL) || defined(HAVE_STUNNEL)
|
||||
#define DH_generate_parameters wolfSSL_DH_generate_parameters
|
||||
#define DH_generate_parameters_ex wolfSSL_DH_generate_parameters_ex
|
||||
#endif /* OPENSSL_ALL || HAVE_STUNNEL */
|
||||
|
||||
#endif /* WOLFSSL_DH_H_ */
|
||||
115
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/dsa.h
vendored
Normal file
115
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/dsa.h
vendored
Normal file
@ -0,0 +1,115 @@
|
||||
/* dsa.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* dsa.h for openSSL */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_DSA_H_
|
||||
#define WOLFSSL_DSA_H_
|
||||
|
||||
#include <wolfssl/openssl/bn.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
typedef struct WOLFSSL_DSA_SIG {
|
||||
WOLFSSL_BIGNUM *r;
|
||||
WOLFSSL_BIGNUM *s;
|
||||
} WOLFSSL_DSA_SIG;
|
||||
|
||||
#ifndef WOLFSSL_DSA_TYPE_DEFINED /* guard on redeclaration */
|
||||
typedef struct WOLFSSL_DSA WOLFSSL_DSA;
|
||||
#define WOLFSSL_DSA_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
typedef WOLFSSL_DSA DSA;
|
||||
|
||||
struct WOLFSSL_DSA {
|
||||
WOLFSSL_BIGNUM* p;
|
||||
WOLFSSL_BIGNUM* q;
|
||||
WOLFSSL_BIGNUM* g;
|
||||
WOLFSSL_BIGNUM* pub_key; /* our y */
|
||||
WOLFSSL_BIGNUM* priv_key; /* our x */
|
||||
void* internal; /* our Dsa Key */
|
||||
char inSet; /* internal set from external ? */
|
||||
char exSet; /* external set from internal ? */
|
||||
};
|
||||
|
||||
|
||||
WOLFSSL_API WOLFSSL_DSA* wolfSSL_DSA_new(void);
|
||||
WOLFSSL_API void wolfSSL_DSA_free(WOLFSSL_DSA*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DSA_generate_key(WOLFSSL_DSA*);
|
||||
|
||||
typedef void (*WOLFSSL_BN_CB)(int i, int j, void* exArg);
|
||||
WOLFSSL_API WOLFSSL_DSA* wolfSSL_DSA_generate_parameters(int bits,
|
||||
unsigned char* seed, int seedLen, int* counterRet,
|
||||
unsigned long* hRet, WOLFSSL_BN_CB cb, void* CBArg);
|
||||
WOLFSSL_API int wolfSSL_DSA_generate_parameters_ex(WOLFSSL_DSA*, int bits,
|
||||
unsigned char* seed, int seedLen, int* counterRet,
|
||||
unsigned long* hRet, void* cb);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DSA_LoadDer(WOLFSSL_DSA*, const unsigned char*, int sz);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DSA_LoadDer_ex(WOLFSSL_DSA*, const unsigned char*,
|
||||
int sz, int opt);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DSA_do_sign(const unsigned char* d,
|
||||
unsigned char* sigRet, WOLFSSL_DSA* dsa);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DSA_do_verify(const unsigned char* d,
|
||||
unsigned char* sig,
|
||||
WOLFSSL_DSA* dsa, int *dsacheck);
|
||||
|
||||
WOLFSSL_API int wolfSSL_DSA_bits(const WOLFSSL_DSA *d);
|
||||
|
||||
WOLFSSL_API WOLFSSL_DSA_SIG* wolfSSL_DSA_SIG_new(void);
|
||||
WOLFSSL_API void wolfSSL_DSA_SIG_free(WOLFSSL_DSA_SIG *sig);
|
||||
WOLFSSL_API WOLFSSL_DSA_SIG* wolfSSL_DSA_do_sign_ex(const unsigned char* digest,
|
||||
int outLen, WOLFSSL_DSA* dsa);
|
||||
WOLFSSL_API int wolfSSL_DSA_do_verify_ex(const unsigned char* digest, int digest_len,
|
||||
WOLFSSL_DSA_SIG* sig, WOLFSSL_DSA* dsa);
|
||||
|
||||
#define WOLFSSL_DSA_LOAD_PRIVATE 1
|
||||
#define WOLFSSL_DSA_LOAD_PUBLIC 2
|
||||
|
||||
#define DSA_new wolfSSL_DSA_new
|
||||
#define DSA_free wolfSSL_DSA_free
|
||||
|
||||
#define DSA_LoadDer wolfSSL_DSA_LoadDer
|
||||
#define DSA_generate_key wolfSSL_DSA_generate_key
|
||||
#define DSA_generate_parameters wolfSSL_DSA_generate_parameters
|
||||
#define DSA_generate_parameters_ex wolfSSL_DSA_generate_parameters_ex
|
||||
|
||||
#define DSA_SIG_new wolfSSL_DSA_SIG_new
|
||||
#define DSA_SIG_free wolfSSL_DSA_SIG_free
|
||||
#define DSA_do_sign wolfSSL_DSA_do_sign_ex
|
||||
#define DSA_do_verify wolfSSL_DSA_do_verify_ex
|
||||
|
||||
|
||||
#define DSA_SIG WOLFSSL_DSA_SIG
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
348
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ec.h
vendored
Normal file
348
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ec.h
vendored
Normal file
@ -0,0 +1,348 @@
|
||||
/* ec.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ec.h for openssl */
|
||||
|
||||
#ifndef WOLFSSL_EC_H_
|
||||
#define WOLFSSL_EC_H_
|
||||
|
||||
#include <wolfssl/openssl/bn.h>
|
||||
#include <wolfssl/wolfcrypt/ecc.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Map OpenSSL NID value */
|
||||
enum {
|
||||
POINT_CONVERSION_COMPRESSED = 2,
|
||||
POINT_CONVERSION_UNCOMPRESSED = 4,
|
||||
|
||||
#ifdef HAVE_ECC
|
||||
/* Use OpenSSL NIDs. NIDs can be mapped to ecc_curve_id enum values by
|
||||
calling NIDToEccEnum() in ssl.c */
|
||||
NID_X9_62_prime192v1 = 409,
|
||||
NID_X9_62_prime192v2 = 410,
|
||||
NID_X9_62_prime192v3 = 411,
|
||||
NID_X9_62_prime239v1 = 412,
|
||||
NID_X9_62_prime239v2 = 413,
|
||||
NID_X9_62_prime239v3 = 414,
|
||||
NID_X9_62_prime256v1 = 415,
|
||||
NID_secp112r1 = 704,
|
||||
NID_secp112r2 = 705,
|
||||
NID_secp128r1 = 706,
|
||||
NID_secp128r2 = 707,
|
||||
NID_secp160r1 = 709,
|
||||
NID_secp160r2 = 710,
|
||||
NID_secp224r1 = 713,
|
||||
NID_secp384r1 = 715,
|
||||
NID_secp521r1 = 716,
|
||||
NID_secp160k1 = 708,
|
||||
NID_secp192k1 = 711,
|
||||
NID_secp224k1 = 712,
|
||||
NID_secp256k1 = 714,
|
||||
NID_brainpoolP160r1 = 921,
|
||||
NID_brainpoolP192r1 = 923,
|
||||
NID_brainpoolP224r1 = 925,
|
||||
NID_brainpoolP256r1 = 927,
|
||||
NID_brainpoolP320r1 = 929,
|
||||
NID_brainpoolP384r1 = 931,
|
||||
NID_brainpoolP512r1 = 933,
|
||||
#endif
|
||||
|
||||
OPENSSL_EC_NAMED_CURVE = 0x001
|
||||
};
|
||||
|
||||
#ifndef WOLFSSL_EC_TYPE_DEFINED /* guard on redeclaration */
|
||||
typedef struct WOLFSSL_EC_KEY WOLFSSL_EC_KEY;
|
||||
typedef struct WOLFSSL_EC_POINT WOLFSSL_EC_POINT;
|
||||
typedef struct WOLFSSL_EC_GROUP WOLFSSL_EC_GROUP;
|
||||
typedef struct WOLFSSL_EC_BUILTIN_CURVE WOLFSSL_EC_BUILTIN_CURVE;
|
||||
/* WOLFSSL_EC_METHOD is just an alias of WOLFSSL_EC_GROUP for now */
|
||||
typedef struct WOLFSSL_EC_GROUP WOLFSSL_EC_METHOD;
|
||||
#define WOLFSSL_EC_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
typedef WOLFSSL_EC_KEY EC_KEY;
|
||||
typedef WOLFSSL_EC_GROUP EC_GROUP;
|
||||
typedef WOLFSSL_EC_GROUP EC_METHOD;
|
||||
typedef WOLFSSL_EC_POINT EC_POINT;
|
||||
typedef WOLFSSL_EC_BUILTIN_CURVE EC_builtin_curve;
|
||||
|
||||
struct WOLFSSL_EC_POINT {
|
||||
WOLFSSL_BIGNUM *X;
|
||||
WOLFSSL_BIGNUM *Y;
|
||||
WOLFSSL_BIGNUM *Z;
|
||||
|
||||
void* internal; /* our ECC point */
|
||||
char inSet; /* internal set from external ? */
|
||||
char exSet; /* external set from internal ? */
|
||||
};
|
||||
|
||||
struct WOLFSSL_EC_GROUP {
|
||||
int curve_idx; /* index of curve, used by WolfSSL as reference */
|
||||
int curve_nid; /* NID of curve, used by OpenSSL/OpenSSH as reference */
|
||||
int curve_oid; /* OID of curve, used by OpenSSL/OpenSSH as reference */
|
||||
};
|
||||
|
||||
struct WOLFSSL_EC_KEY {
|
||||
WOLFSSL_EC_GROUP *group;
|
||||
WOLFSSL_EC_POINT *pub_key;
|
||||
WOLFSSL_BIGNUM *priv_key;
|
||||
|
||||
void* internal; /* our ECC Key */
|
||||
char inSet; /* internal set from external ? */
|
||||
char exSet; /* external set from internal ? */
|
||||
char form; /* Either POINT_CONVERSION_UNCOMPRESSED or
|
||||
* POINT_CONVERSION_COMPRESSED */
|
||||
};
|
||||
|
||||
struct WOLFSSL_EC_BUILTIN_CURVE {
|
||||
int nid;
|
||||
const char *comment;
|
||||
};
|
||||
|
||||
#define WOLFSSL_EC_KEY_LOAD_PRIVATE 1
|
||||
#define WOLFSSL_EC_KEY_LOAD_PUBLIC 2
|
||||
|
||||
WOLFSSL_API
|
||||
size_t wolfSSL_EC_get_builtin_curves(WOLFSSL_EC_BUILTIN_CURVE *r,size_t nitems);
|
||||
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_KEY *wolfSSL_EC_KEY_dup(const WOLFSSL_EC_KEY *src);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ECPoint_i2d(const WOLFSSL_EC_GROUP *curve,
|
||||
const WOLFSSL_EC_POINT *p,
|
||||
unsigned char *out, unsigned int *len);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ECPoint_d2i(unsigned char *in, unsigned int len,
|
||||
const WOLFSSL_EC_GROUP *curve, WOLFSSL_EC_POINT *p);
|
||||
WOLFSSL_API
|
||||
size_t wolfSSL_EC_POINT_point2oct(const WOLFSSL_EC_GROUP *group,
|
||||
const WOLFSSL_EC_POINT *p,
|
||||
char form,
|
||||
byte *buf, size_t len, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_oct2point(const WOLFSSL_EC_GROUP *group,
|
||||
WOLFSSL_EC_POINT *p, const unsigned char *buf,
|
||||
size_t len, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_i2o_ECPublicKey(const WOLFSSL_EC_KEY *in, unsigned char **out);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_KEY *wolfSSL_d2i_ECPrivateKey(WOLFSSL_EC_KEY **key, const unsigned char **in,
|
||||
long len);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_i2d_ECPrivateKey(const WOLFSSL_EC_KEY *in, unsigned char **out);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_KEY_set_conv_form(WOLFSSL_EC_KEY *eckey, char form);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_BIGNUM *wolfSSL_EC_POINT_point2bn(const WOLFSSL_EC_GROUP *group,
|
||||
const WOLFSSL_EC_POINT *p,
|
||||
char form,
|
||||
WOLFSSL_BIGNUM *in, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_is_on_curve(const WOLFSSL_EC_GROUP *group,
|
||||
const WOLFSSL_EC_POINT *point,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_KEY_LoadDer(WOLFSSL_EC_KEY* key,
|
||||
const unsigned char* der, int derSz);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_KEY_LoadDer_ex(WOLFSSL_EC_KEY* key,
|
||||
const unsigned char* der, int derSz, int opt);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_KEY_free(WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_POINT *wolfSSL_EC_KEY_get0_public_key(const WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API
|
||||
const WOLFSSL_EC_GROUP *wolfSSL_EC_KEY_get0_group(const WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_KEY_set_private_key(WOLFSSL_EC_KEY *key,
|
||||
const WOLFSSL_BIGNUM *priv_key);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_BIGNUM *wolfSSL_EC_KEY_get0_private_key(const WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_KEY *wolfSSL_EC_KEY_new_by_curve_name(int nid);
|
||||
WOLFSSL_API const char* wolfSSL_EC_curve_nid2nist(int nid);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_KEY *wolfSSL_EC_KEY_new(void);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_KEY_set_group(WOLFSSL_EC_KEY *key, WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_KEY_generate_key(WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_KEY_set_asn1_flag(WOLFSSL_EC_KEY *key, int asn1_flag);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_KEY_set_public_key(WOLFSSL_EC_KEY *key,
|
||||
const WOLFSSL_EC_POINT *pub);
|
||||
WOLFSSL_API int wolfSSL_ECDSA_size(const WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API int wolfSSL_ECDSA_sign(int type, const unsigned char *digest,
|
||||
int digestSz, unsigned char *sig,
|
||||
unsigned int *sigSz, WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_GROUP_set_asn1_flag(WOLFSSL_EC_GROUP *group, int flag);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_GROUP *wolfSSL_EC_GROUP_new_by_curve_name(int nid);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_GROUP_cmp(const WOLFSSL_EC_GROUP *a, const WOLFSSL_EC_GROUP *b,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_GROUP *wolfSSL_EC_GROUP_dup(const WOLFSSL_EC_GROUP *src);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_GROUP_get_curve_name(const WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_GROUP_get_degree(const WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_GROUP_get_order(const WOLFSSL_EC_GROUP *group,
|
||||
WOLFSSL_BIGNUM *order, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_GROUP_order_bits(const WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_GROUP_free(WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
const WOLFSSL_EC_METHOD* wolfSSL_EC_GROUP_method_of(
|
||||
const WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_METHOD_get_field_type(const WOLFSSL_EC_METHOD *meth);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_POINT *wolfSSL_EC_POINT_new(const WOLFSSL_EC_GROUP *group);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_get_affine_coordinates_GFp(const WOLFSSL_EC_GROUP *group,
|
||||
const WOLFSSL_EC_POINT *p,
|
||||
WOLFSSL_BIGNUM *x,
|
||||
WOLFSSL_BIGNUM *y,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_set_affine_coordinates_GFp(const WOLFSSL_EC_GROUP *group,
|
||||
WOLFSSL_EC_POINT *point,
|
||||
const WOLFSSL_BIGNUM *x,
|
||||
const WOLFSSL_BIGNUM *y,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_add(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r,
|
||||
const WOLFSSL_EC_POINT *p1,
|
||||
const WOLFSSL_EC_POINT *p2, WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_mul(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *r,
|
||||
const WOLFSSL_BIGNUM *n,
|
||||
const WOLFSSL_EC_POINT *q, const WOLFSSL_BIGNUM *m,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_invert(const WOLFSSL_EC_GROUP *group, WOLFSSL_EC_POINT *a,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_POINT_clear_free(WOLFSSL_EC_POINT *point);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_cmp(const WOLFSSL_EC_GROUP *group,
|
||||
const WOLFSSL_EC_POINT *a, const WOLFSSL_EC_POINT *b,
|
||||
WOLFSSL_BN_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EC_POINT_copy(WOLFSSL_EC_POINT *dest,
|
||||
const WOLFSSL_EC_POINT *src);
|
||||
WOLFSSL_API
|
||||
void wolfSSL_EC_POINT_free(WOLFSSL_EC_POINT *point);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC_POINT_is_at_infinity(const WOLFSSL_EC_GROUP *group,
|
||||
const WOLFSSL_EC_POINT *a);
|
||||
|
||||
#ifndef HAVE_SELFTEST
|
||||
WOLFSSL_API
|
||||
char* wolfSSL_EC_POINT_point2hex(const WOLFSSL_EC_GROUP* group,
|
||||
const WOLFSSL_EC_POINT* point, int form,
|
||||
WOLFSSL_BN_CTX* ctx);
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_ECC
|
||||
#define OPENSSL_NO_EC
|
||||
#endif
|
||||
|
||||
#define EC_KEY_new wolfSSL_EC_KEY_new
|
||||
#define EC_KEY_free wolfSSL_EC_KEY_free
|
||||
#define EC_KEY_dup wolfSSL_EC_KEY_dup
|
||||
#define EC_KEY_get0_public_key wolfSSL_EC_KEY_get0_public_key
|
||||
#define EC_KEY_get0_group wolfSSL_EC_KEY_get0_group
|
||||
#define EC_KEY_set_private_key wolfSSL_EC_KEY_set_private_key
|
||||
#define EC_KEY_get0_private_key wolfSSL_EC_KEY_get0_private_key
|
||||
#define EC_KEY_new_by_curve_name wolfSSL_EC_KEY_new_by_curve_name
|
||||
#define EC_KEY_set_group wolfSSL_EC_KEY_set_group
|
||||
#define EC_KEY_generate_key wolfSSL_EC_KEY_generate_key
|
||||
#define EC_KEY_set_asn1_flag wolfSSL_EC_KEY_set_asn1_flag
|
||||
#define EC_KEY_set_public_key wolfSSL_EC_KEY_set_public_key
|
||||
|
||||
#define ECDSA_size wolfSSL_ECDSA_size
|
||||
#define ECDSA_sign wolfSSL_ECDSA_sign
|
||||
|
||||
#define EC_GROUP_free wolfSSL_EC_GROUP_free
|
||||
#define EC_GROUP_set_asn1_flag wolfSSL_EC_GROUP_set_asn1_flag
|
||||
#define EC_GROUP_new_by_curve_name wolfSSL_EC_GROUP_new_by_curve_name
|
||||
#define EC_GROUP_cmp wolfSSL_EC_GROUP_cmp
|
||||
#define EC_GROUP_dup wolfSSL_EC_GROUP_dup
|
||||
#define EC_GROUP_get_curve_name wolfSSL_EC_GROUP_get_curve_name
|
||||
#define EC_GROUP_get_degree wolfSSL_EC_GROUP_get_degree
|
||||
#define EC_GROUP_get_order wolfSSL_EC_GROUP_get_order
|
||||
#define EC_GROUP_order_bits wolfSSL_EC_GROUP_order_bits
|
||||
#define EC_GROUP_method_of wolfSSL_EC_GROUP_method_of
|
||||
|
||||
#define EC_METHOD_get_field_type wolfSSL_EC_METHOD_get_field_type
|
||||
|
||||
#define EC_POINT_new wolfSSL_EC_POINT_new
|
||||
#define EC_POINT_free wolfSSL_EC_POINT_free
|
||||
#define EC_POINT_get_affine_coordinates_GFp \
|
||||
wolfSSL_EC_POINT_get_affine_coordinates_GFp
|
||||
#define EC_POINT_set_affine_coordinates_GFp \
|
||||
wolfSSL_EC_POINT_set_affine_coordinates_GFp
|
||||
#define EC_POINT_add wolfSSL_EC_POINT_add
|
||||
#define EC_POINT_mul wolfSSL_EC_POINT_mul
|
||||
#define EC_POINT_invert wolfSSL_EC_POINT_invert
|
||||
#define EC_POINT_clear_free wolfSSL_EC_POINT_clear_free
|
||||
#define EC_POINT_cmp wolfSSL_EC_POINT_cmp
|
||||
#define EC_POINT_copy wolfSSL_EC_POINT_copy
|
||||
#define EC_POINT_is_at_infinity wolfSSL_EC_POINT_is_at_infinity
|
||||
|
||||
#define EC_get_builtin_curves wolfSSL_EC_get_builtin_curves
|
||||
|
||||
#define ECPoint_i2d wolfSSL_ECPoint_i2d
|
||||
#define ECPoint_d2i wolfSSL_ECPoint_d2i
|
||||
#define EC_POINT_point2oct wolfSSL_EC_POINT_point2oct
|
||||
#define EC_POINT_oct2point wolfSSL_EC_POINT_oct2point
|
||||
#define EC_POINT_point2bn wolfSSL_EC_POINT_point2bn
|
||||
#define EC_POINT_is_on_curve wolfSSL_EC_POINT_is_on_curve
|
||||
#define i2o_ECPublicKey wolfSSL_i2o_ECPublicKey
|
||||
#define i2d_EC_PUBKEY wolfSSL_i2o_ECPublicKey
|
||||
#define d2i_ECPrivateKey wolfSSL_d2i_ECPrivateKey
|
||||
#define i2d_ECPrivateKey wolfSSL_i2d_ECPrivateKey
|
||||
#define EC_KEY_set_conv_form wolfSSL_EC_KEY_set_conv_form
|
||||
|
||||
#ifndef HAVE_SELFTEST
|
||||
#define EC_POINT_point2hex wolfSSL_EC_POINT_point2hex
|
||||
#endif
|
||||
|
||||
#define EC_POINT_dump wolfSSL_EC_POINT_dump
|
||||
#define EC_get_builtin_curves wolfSSL_EC_get_builtin_curves
|
||||
|
||||
#define EC_curve_nid2nist wolfSSL_EC_curve_nid2nist
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
44
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ec25519.h
vendored
Normal file
44
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ec25519.h
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
/* ec25519.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ec25519.h */
|
||||
|
||||
#ifndef WOLFSSL_EC25519_H_
|
||||
#define WOLFSSL_EC25519_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC25519_generate_key(unsigned char *priv, unsigned int *privSz,
|
||||
unsigned char *pub, unsigned int *pubSz);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC25519_shared_key(unsigned char *shared, unsigned int *sharedSz,
|
||||
const unsigned char *priv, unsigned int privSz,
|
||||
const unsigned char *pub, unsigned int pubSz);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
44
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ec448.h
vendored
Normal file
44
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ec448.h
vendored
Normal file
@ -0,0 +1,44 @@
|
||||
/* ec448.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ec448.h */
|
||||
|
||||
#ifndef WOLFSSL_EC448_H_
|
||||
#define WOLFSSL_EC448_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC448_generate_key(unsigned char *priv, unsigned int *privSz,
|
||||
unsigned char *pub, unsigned int *pubSz);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_EC448_shared_key(unsigned char *shared, unsigned int *sharedSz,
|
||||
const unsigned char *priv, unsigned int privSz,
|
||||
const unsigned char *pub, unsigned int pubSz);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
49
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ecdh.h
vendored
Normal file
49
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ecdh.h
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
/* ecdh.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ecdh.h for openssl */
|
||||
|
||||
#ifndef WOLFSSL_ECDH_H_
|
||||
#define WOLFSSL_ECDH_H_
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
#include <wolfssl/openssl/bn.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_ECDH_compute_key(void *out, size_t outlen,
|
||||
const WOLFSSL_EC_POINT *pub_key,
|
||||
WOLFSSL_EC_KEY *ecdh,
|
||||
void *(*KDF) (const void *in,
|
||||
size_t inlen,
|
||||
void *out,
|
||||
size_t *outlen));
|
||||
|
||||
#define ECDH_compute_key wolfSSL_ECDH_compute_key
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern C */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
75
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ecdsa.h
vendored
Normal file
75
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ecdsa.h
vendored
Normal file
@ -0,0 +1,75 @@
|
||||
/* ecdsa.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ecdsa.h for openssl */
|
||||
|
||||
#ifndef WOLFSSL_ECDSA_H_
|
||||
#define WOLFSSL_ECDSA_H_
|
||||
|
||||
#include <wolfssl/openssl/bn.h>
|
||||
#include <wolfssl/openssl/ec.h>
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#ifndef WOLFSSL_ECDSA_TYPE_DEFINED /* guard on redeclaration */
|
||||
typedef struct WOLFSSL_ECDSA_SIG WOLFSSL_ECDSA_SIG;
|
||||
#define WOLFSSL_ECDSA_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
typedef WOLFSSL_ECDSA_SIG ECDSA_SIG;
|
||||
|
||||
struct WOLFSSL_ECDSA_SIG {
|
||||
WOLFSSL_BIGNUM *r;
|
||||
WOLFSSL_BIGNUM *s;
|
||||
};
|
||||
|
||||
WOLFSSL_API void wolfSSL_ECDSA_SIG_free(WOLFSSL_ECDSA_SIG *sig);
|
||||
WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_SIG_new(void);
|
||||
WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_ECDSA_do_sign(const unsigned char *dgst,
|
||||
int dgst_len,
|
||||
WOLFSSL_EC_KEY *eckey);
|
||||
WOLFSSL_API int wolfSSL_ECDSA_do_verify(const unsigned char *dgst,
|
||||
int dgst_len,
|
||||
const WOLFSSL_ECDSA_SIG *sig,
|
||||
WOLFSSL_EC_KEY *eckey);
|
||||
|
||||
WOLFSSL_API WOLFSSL_ECDSA_SIG *wolfSSL_d2i_ECDSA_SIG(WOLFSSL_ECDSA_SIG **sig,
|
||||
const unsigned char **pp,
|
||||
long len);
|
||||
WOLFSSL_API int wolfSSL_i2d_ECDSA_SIG(const WOLFSSL_ECDSA_SIG *sig,
|
||||
unsigned char **pp);
|
||||
|
||||
#define ECDSA_SIG_free wolfSSL_ECDSA_SIG_free
|
||||
#define ECDSA_SIG_new wolfSSL_ECDSA_SIG_new
|
||||
#define ECDSA_do_sign wolfSSL_ECDSA_do_sign
|
||||
#define ECDSA_do_verify wolfSSL_ECDSA_do_verify
|
||||
#define d2i_ECDSA_SIG wolfSSL_d2i_ECDSA_SIG
|
||||
#define i2d_ECDSA_SIG wolfSSL_i2d_ECDSA_SIG
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
|
||||
47
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ed25519.h
vendored
Normal file
47
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ed25519.h
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
/* ed25519.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ed25519.h */
|
||||
|
||||
#ifndef WOLFSSL_ED25519_H_
|
||||
#define WOLFSSL_ED25519_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ED25519_generate_key(unsigned char *priv, unsigned int *privSz,
|
||||
unsigned char *pub, unsigned int *pubSz);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ED25519_sign(const unsigned char *msg, unsigned int msgSz,
|
||||
const unsigned char *priv, unsigned int privSz,
|
||||
unsigned char *sig, unsigned int *sigSz);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ED25519_verify(const unsigned char *msg, unsigned int msgSz,
|
||||
const unsigned char *pub, unsigned int pubSz,
|
||||
const unsigned char *sig, unsigned int sigSz);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
47
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ed448.h
vendored
Normal file
47
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ed448.h
vendored
Normal file
@ -0,0 +1,47 @@
|
||||
/* ed448.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ed448.h */
|
||||
|
||||
#ifndef WOLFSSL_ED448_H_
|
||||
#define WOLFSSL_ED448_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ED448_generate_key(unsigned char *priv, unsigned int *privSz,
|
||||
unsigned char *pub, unsigned int *pubSz);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ED448_sign(const unsigned char *msg, unsigned int msgSz,
|
||||
const unsigned char *priv, unsigned int privSz,
|
||||
unsigned char *sig, unsigned int *sigSz);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_ED448_verify(const unsigned char *msg, unsigned int msgSz,
|
||||
const unsigned char *pub, unsigned int pubSz,
|
||||
const unsigned char *sig, unsigned int sigSz);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
8
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/engine.h
vendored
Normal file
8
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/engine.h
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/* engine.h for libcurl */
|
||||
|
||||
#include <wolfssl/openssl/err.h>
|
||||
|
||||
#undef HAVE_OPENSSL_ENGINE_H
|
||||
|
||||
#define ENGINE_load_builtin_engines() /*ENGINE_load_builtin_engines not needed*/
|
||||
|
||||
55
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/err.h
vendored
Normal file
55
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/err.h
vendored
Normal file
@ -0,0 +1,55 @@
|
||||
/* err.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
#ifndef WOLFSSL_OPENSSL_ERR_
|
||||
#define WOLFSSL_OPENSSL_ERR_
|
||||
|
||||
#include <wolfssl/wolfcrypt/logging.h>
|
||||
|
||||
/* err.h for openssl */
|
||||
#define ERR_load_crypto_strings wolfSSL_ERR_load_crypto_strings
|
||||
#define ERR_load_CRYPTO_strings wolfSSL_ERR_load_crypto_strings
|
||||
#define ERR_peek_last_error wolfSSL_ERR_peek_last_error
|
||||
|
||||
/* fatal error */
|
||||
#define ERR_R_MALLOC_FAILURE MEMORY_E
|
||||
#define ERR_R_PASSED_NULL_PARAMETER BAD_FUNC_ARG
|
||||
#define ERR_R_DISABLED NOT_COMPILED_IN
|
||||
#define ERR_R_PASSED_INVALID_ARGUMENT BAD_FUNC_ARG
|
||||
#define RSA_R_UNKNOWN_PADDING_TYPE RSA_PAD_E
|
||||
#define EC_R_BUFFER_TOO_SMALL BUFFER_E
|
||||
|
||||
/* SSL function codes */
|
||||
#define RSA_F_RSA_OSSL_PRIVATE_ENCRYPT 1
|
||||
#define SSL_F_SSL_CTX_USE_CERTIFICATE_FILE 2
|
||||
#define SSL_F_SSL_USE_PRIVATEKEY 3
|
||||
#define EC_F_EC_GFP_SIMPLE_POINT2OCT 4
|
||||
|
||||
/* reasons */
|
||||
#define ERR_R_SYS_LIB 1
|
||||
#define PKCS12_R_MAC_VERIFY_FAILURE 2
|
||||
|
||||
#define RSAerr(f,r) ERR_put_error(0,(f),(r),__FILE__,__LINE__)
|
||||
#define SSLerr(f,r) ERR_put_error(0,(f),(r),__FILE__,__LINE__)
|
||||
#define ECerr(f,r) ERR_put_error(0,(f),(r),__FILE__,__LINE__)
|
||||
|
||||
#endif /* WOLFSSL_OPENSSL_ERR_ */
|
||||
|
||||
938
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/evp.h
vendored
Normal file
938
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/evp.h
vendored
Normal file
@ -0,0 +1,938 @@
|
||||
/* evp.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/*!
|
||||
\file wolfssl/openssl/evp.h
|
||||
\brief evp.h defines mini evp openssl compatibility layer
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_EVP_H_
|
||||
#define WOLFSSL_EVP_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_evp.h"
|
||||
#endif
|
||||
|
||||
#ifndef NO_MD4
|
||||
#include <wolfssl/openssl/md4.h>
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
#include <wolfssl/openssl/md5.h>
|
||||
#endif
|
||||
#include <wolfssl/openssl/sha.h>
|
||||
#include <wolfssl/openssl/sha3.h>
|
||||
#include <wolfssl/openssl/ripemd.h>
|
||||
#include <wolfssl/openssl/rsa.h>
|
||||
#include <wolfssl/openssl/dsa.h>
|
||||
#include <wolfssl/openssl/ec.h>
|
||||
#include <wolfssl/openssl/dh.h>
|
||||
|
||||
#include <wolfssl/wolfcrypt/aes.h>
|
||||
#include <wolfssl/wolfcrypt/des3.h>
|
||||
#include <wolfssl/wolfcrypt/arc4.h>
|
||||
#include <wolfssl/wolfcrypt/hmac.h>
|
||||
#ifdef HAVE_IDEA
|
||||
#include <wolfssl/wolfcrypt/idea.h>
|
||||
#endif
|
||||
#include <wolfssl/wolfcrypt/pwdbased.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef char WOLFSSL_EVP_CIPHER;
|
||||
#ifndef WOLFSSL_EVP_TYPE_DEFINED /* guard on redeclaration */
|
||||
typedef char WOLFSSL_EVP_MD;
|
||||
typedef struct WOLFSSL_EVP_PKEY WOLFSSL_EVP_PKEY;
|
||||
typedef struct WOLFSSL_EVP_MD_CTX WOLFSSL_EVP_MD_CTX;
|
||||
#define WOLFSSL_EVP_TYPE_DEFINED
|
||||
#endif
|
||||
|
||||
typedef WOLFSSL_EVP_PKEY EVP_PKEY;
|
||||
typedef WOLFSSL_EVP_PKEY PKCS8_PRIV_KEY_INFO;
|
||||
|
||||
#ifndef NO_MD4
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_md4(void);
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_md5(void);
|
||||
#endif
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_mdc2(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha1(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha224(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha256(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha384(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha512(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_ripemd160(void);
|
||||
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_224(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_256(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_384(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_sha3_512(void);
|
||||
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ecb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ecb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ecb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cbc(void);
|
||||
#if !defined(NO_AES) && defined(HAVE_AES_CBC)
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cbc(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cbc(void);
|
||||
#endif
|
||||
#ifndef NO_AES
|
||||
#ifdef WOLFSSL_AES_CFB
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cfb1(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cfb1(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cfb1(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cfb8(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cfb8(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cfb8(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_cfb128(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_cfb128(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_cfb128(void);
|
||||
#endif
|
||||
#ifdef WOLFSSL_AES_OFB
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ofb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ofb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ofb(void);
|
||||
#endif
|
||||
#ifdef WOLFSSL_AES_XTS
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_xts(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_xts(void);
|
||||
#endif
|
||||
#endif /* NO_AES */
|
||||
#if !defined(NO_AES) && defined(HAVE_AESGCM)
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_gcm(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_gcm(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_gcm(void);
|
||||
#endif
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_128_ctr(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_192_ctr(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_aes_256_ctr(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ecb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_ecb(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_cbc(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_des_ede3_cbc(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_rc4(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_idea_cbc(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_enc_null(void);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_rc2_cbc(void);
|
||||
|
||||
|
||||
typedef union {
|
||||
#ifndef NO_MD4
|
||||
WOLFSSL_MD4_CTX md4;
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
WOLFSSL_MD5_CTX md5;
|
||||
#endif
|
||||
WOLFSSL_SHA_CTX sha;
|
||||
#ifdef WOLFSSL_SHA224
|
||||
WOLFSSL_SHA224_CTX sha224;
|
||||
#endif
|
||||
WOLFSSL_SHA256_CTX sha256;
|
||||
#ifdef WOLFSSL_SHA384
|
||||
WOLFSSL_SHA384_CTX sha384;
|
||||
#endif
|
||||
#ifdef WOLFSSL_SHA512
|
||||
WOLFSSL_SHA512_CTX sha512;
|
||||
#endif
|
||||
#ifdef WOLFSSL_RIPEMD
|
||||
WOLFSSL_RIPEMD_CTX ripemd;
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
WOLFSSL_SHA3_224_CTX sha3_224;
|
||||
#endif
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
WOLFSSL_SHA3_256_CTX sha3_256;
|
||||
#endif
|
||||
WOLFSSL_SHA3_384_CTX sha3_384;
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
WOLFSSL_SHA3_512_CTX sha3_512;
|
||||
#endif
|
||||
} WOLFSSL_Hasher;
|
||||
|
||||
typedef struct WOLFSSL_EVP_PKEY_CTX WOLFSSL_EVP_PKEY_CTX;
|
||||
typedef struct WOLFSSL_EVP_CIPHER_CTX WOLFSSL_EVP_CIPHER_CTX;
|
||||
|
||||
struct WOLFSSL_EVP_MD_CTX {
|
||||
union {
|
||||
WOLFSSL_Hasher digest;
|
||||
#ifndef NO_HMAC
|
||||
Hmac hmac;
|
||||
#endif
|
||||
} hash;
|
||||
enum wc_HashType macType;
|
||||
WOLFSSL_EVP_PKEY_CTX *pctx;
|
||||
#ifndef NO_HMAC
|
||||
unsigned int isHMAC;
|
||||
#endif
|
||||
};
|
||||
|
||||
|
||||
typedef union {
|
||||
#ifndef NO_AES
|
||||
Aes aes;
|
||||
#ifdef WOLFSSL_AES_XTS
|
||||
XtsAes xts;
|
||||
#endif
|
||||
#endif
|
||||
#ifndef NO_DES3
|
||||
Des des;
|
||||
Des3 des3;
|
||||
#endif
|
||||
Arc4 arc4;
|
||||
#ifdef HAVE_IDEA
|
||||
Idea idea;
|
||||
#endif
|
||||
#ifdef WOLFSSL_QT
|
||||
int (*ctrl) (WOLFSSL_EVP_CIPHER_CTX *, int type, int arg, void *ptr);
|
||||
#endif
|
||||
} WOLFSSL_Cipher;
|
||||
|
||||
|
||||
enum {
|
||||
AES_128_CBC_TYPE = 1,
|
||||
AES_192_CBC_TYPE = 2,
|
||||
AES_256_CBC_TYPE = 3,
|
||||
AES_128_CTR_TYPE = 4,
|
||||
AES_192_CTR_TYPE = 5,
|
||||
AES_256_CTR_TYPE = 6,
|
||||
AES_128_ECB_TYPE = 7,
|
||||
AES_192_ECB_TYPE = 8,
|
||||
AES_256_ECB_TYPE = 9,
|
||||
DES_CBC_TYPE = 10,
|
||||
DES_ECB_TYPE = 11,
|
||||
DES_EDE3_CBC_TYPE = 12,
|
||||
DES_EDE3_ECB_TYPE = 13,
|
||||
ARC4_TYPE = 14,
|
||||
NULL_CIPHER_TYPE = 15,
|
||||
EVP_PKEY_RSA = 16,
|
||||
EVP_PKEY_DSA = 17,
|
||||
EVP_PKEY_EC = 18,
|
||||
#ifdef HAVE_IDEA
|
||||
IDEA_CBC_TYPE = 19,
|
||||
#endif
|
||||
AES_128_GCM_TYPE = 21,
|
||||
AES_192_GCM_TYPE = 22,
|
||||
AES_256_GCM_TYPE = 23,
|
||||
NID_sha1 = 64,
|
||||
NID_sha224 = 65,
|
||||
NID_md2 = 77,
|
||||
NID_md4 = 257,
|
||||
NID_md5 = 4,
|
||||
NID_hmac = 855,
|
||||
NID_dhKeyAgreement= 28,
|
||||
EVP_PKEY_DH = NID_dhKeyAgreement,
|
||||
EVP_PKEY_HMAC = NID_hmac,
|
||||
AES_128_CFB1_TYPE = 24,
|
||||
AES_192_CFB1_TYPE = 25,
|
||||
AES_256_CFB1_TYPE = 26,
|
||||
AES_128_CFB8_TYPE = 27,
|
||||
AES_192_CFB8_TYPE = 28,
|
||||
AES_256_CFB8_TYPE = 29,
|
||||
AES_128_CFB128_TYPE = 30,
|
||||
AES_192_CFB128_TYPE = 31,
|
||||
AES_256_CFB128_TYPE = 32,
|
||||
AES_128_OFB_TYPE = 33,
|
||||
AES_192_OFB_TYPE = 34,
|
||||
AES_256_OFB_TYPE = 35,
|
||||
AES_128_XTS_TYPE = 36,
|
||||
AES_256_XTS_TYPE = 37
|
||||
};
|
||||
|
||||
enum {
|
||||
NID_md5WithRSA = 104,
|
||||
NID_md5WithRSAEncryption = 8,
|
||||
NID_dsaWithSHA1 = 113,
|
||||
NID_dsaWithSHA1_2 = 70,
|
||||
NID_sha1WithRSA = 115,
|
||||
NID_sha1WithRSAEncryption = 65,
|
||||
NID_sha224WithRSAEncryption = 671,
|
||||
NID_sha256WithRSAEncryption = 668,
|
||||
NID_sha384WithRSAEncryption = 669,
|
||||
NID_sha512WithRSAEncryption = 670,
|
||||
NID_ecdsa_with_SHA1 = 416,
|
||||
NID_ecdsa_with_SHA224 = 793,
|
||||
NID_ecdsa_with_SHA256 = 794,
|
||||
NID_ecdsa_with_SHA384 = 795,
|
||||
NID_ecdsa_with_SHA512 = 796,
|
||||
NID_dsa_with_SHA224 = 802,
|
||||
NID_dsa_with_SHA256 = 803,
|
||||
NID_sha3_224 = 1096,
|
||||
NID_sha3_256 = 1097,
|
||||
NID_sha3_384 = 1098,
|
||||
NID_sha3_512 = 1099,
|
||||
};
|
||||
|
||||
enum {
|
||||
NID_aes_128_cbc = 419,
|
||||
NID_aes_192_cbc = 423,
|
||||
NID_aes_256_cbc = 427,
|
||||
NID_aes_128_gcm = 895,
|
||||
NID_aes_192_gcm = 898,
|
||||
NID_aes_256_gcm = 901,
|
||||
NID_aes_128_ctr = 904,
|
||||
NID_aes_192_ctr = 905,
|
||||
NID_aes_256_ctr = 906,
|
||||
NID_aes_128_ecb = 418,
|
||||
NID_aes_192_ecb = 422,
|
||||
NID_aes_256_ecb = 426,
|
||||
NID_des_cbc = 31,
|
||||
NID_des_ecb = 29,
|
||||
NID_des_ede3_cbc= 44,
|
||||
NID_des_ede3_ecb= 33,
|
||||
NID_idea_cbc = 34,
|
||||
NID_aes_128_cfb1= 650,
|
||||
NID_aes_192_cfb1= 651,
|
||||
NID_aes_256_cfb1= 652,
|
||||
NID_aes_128_cfb8= 653,
|
||||
NID_aes_192_cfb8= 654,
|
||||
NID_aes_256_cfb8= 655,
|
||||
NID_aes_128_cfb128 = 421,
|
||||
NID_aes_192_cfb128 = 425,
|
||||
NID_aes_256_cfb128 = 429,
|
||||
NID_aes_128_ofb = 420,
|
||||
NID_aes_192_ofb = 424,
|
||||
NID_aes_256_ofb = 428,
|
||||
NID_aes_128_xts = 913,
|
||||
NID_aes_256_xts = 914
|
||||
};
|
||||
|
||||
#define NID_X9_62_id_ecPublicKey EVP_PKEY_EC
|
||||
#define NID_dhKeyAgreement EVP_PKEY_DH
|
||||
#define NID_rsaEncryption EVP_PKEY_RSA
|
||||
#define NID_dsa EVP_PKEY_DSA
|
||||
|
||||
#define WOLFSSL_EVP_BUF_SIZE 16
|
||||
struct WOLFSSL_EVP_CIPHER_CTX {
|
||||
int keyLen; /* user may set for variable */
|
||||
int block_size;
|
||||
unsigned long flags;
|
||||
unsigned char enc; /* if encrypt side, then true */
|
||||
unsigned char cipherType;
|
||||
#ifndef NO_AES
|
||||
/* working iv pointer into cipher */
|
||||
ALIGN16 unsigned char iv[AES_BLOCK_SIZE];
|
||||
#elif !defined(NO_DES3)
|
||||
/* working iv pointer into cipher */
|
||||
ALIGN16 unsigned char iv[DES_BLOCK_SIZE];
|
||||
#elif defined(HAVE_IDEA)
|
||||
/* working iv pointer into cipher */
|
||||
ALIGN16 unsigned char iv[IDEA_BLOCK_SIZE];
|
||||
#endif
|
||||
WOLFSSL_Cipher cipher;
|
||||
ALIGN16 byte buf[WOLFSSL_EVP_BUF_SIZE];
|
||||
int bufUsed;
|
||||
ALIGN16 byte lastBlock[WOLFSSL_EVP_BUF_SIZE];
|
||||
int lastUsed;
|
||||
#if !defined(NO_AES) || !defined(NO_DES3) || defined(HAVE_IDEA) || \
|
||||
defined(HAVE_AESGCM) || defined (WOLFSSL_AES_XTS)
|
||||
#define HAVE_WOLFSSL_EVP_CIPHER_CTX_IV
|
||||
int ivSz;
|
||||
#ifdef HAVE_AESGCM
|
||||
byte* gcmDecryptBuffer;
|
||||
int gcmDecryptBufferLen;
|
||||
ALIGN16 unsigned char authTag[AES_BLOCK_SIZE];
|
||||
int authTagSz;
|
||||
#endif
|
||||
#endif
|
||||
};
|
||||
|
||||
struct WOLFSSL_EVP_PKEY_CTX {
|
||||
WOLFSSL_EVP_PKEY *pkey;
|
||||
WOLFSSL_EVP_PKEY *peerKey;
|
||||
int op; /* operation */
|
||||
int padding;
|
||||
int nbits;
|
||||
};
|
||||
|
||||
typedef int WOLFSSL_ENGINE ;
|
||||
typedef WOLFSSL_ENGINE ENGINE;
|
||||
typedef WOLFSSL_EVP_PKEY_CTX EVP_PKEY_CTX;
|
||||
|
||||
#define EVP_PKEY_OP_SIGN (1 << 3)
|
||||
#define EVP_PKEY_OP_ENCRYPT (1 << 6)
|
||||
#define EVP_PKEY_OP_DECRYPT (1 << 7)
|
||||
#define EVP_PKEY_OP_DERIVE (1 << 8)
|
||||
|
||||
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_block_size(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 int wolfSSL_EVP_MD_CTX_type(const WOLFSSL_EVP_MD_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_CTX_size(const WOLFSSL_EVP_MD_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_MD_CTX_block_size(const WOLFSSL_EVP_MD_CTX *ctx);
|
||||
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);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_nid(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestInit(WOLFSSL_EVP_MD_CTX* ctx,
|
||||
const WOLFSSL_EVP_MD* type);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestInit_ex(WOLFSSL_EVP_MD_CTX* ctx,
|
||||
const WOLFSSL_EVP_MD* type,
|
||||
WOLFSSL_ENGINE *impl);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestUpdate(WOLFSSL_EVP_MD_CTX* ctx, const void* data,
|
||||
size_t sz);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestFinal(WOLFSSL_EVP_MD_CTX* ctx, unsigned char* md,
|
||||
unsigned int* s);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestFinal_ex(WOLFSSL_EVP_MD_CTX* ctx,
|
||||
unsigned char* md, unsigned int* s);
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestSignInit(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
WOLFSSL_EVP_PKEY_CTX **pctx,
|
||||
const WOLFSSL_EVP_MD *type,
|
||||
WOLFSSL_ENGINE *e,
|
||||
WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestSignUpdate(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
const void *d, unsigned int cnt);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestSignFinal(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
unsigned char *sig, size_t *siglen);
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestVerifyInit(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
WOLFSSL_EVP_PKEY_CTX **pctx,
|
||||
const WOLFSSL_EVP_MD *type,
|
||||
WOLFSSL_ENGINE *e,
|
||||
WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestVerifyUpdate(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
const void *d, size_t cnt);
|
||||
WOLFSSL_API int wolfSSL_EVP_DigestVerifyFinal(WOLFSSL_EVP_MD_CTX *ctx,
|
||||
const unsigned char *sig,
|
||||
size_t siglen);
|
||||
WOLFSSL_API int wolfSSL_EVP_Digest(const unsigned char* in, int inSz, unsigned char* out,
|
||||
unsigned int* outSz, const WOLFSSL_EVP_MD* evp,
|
||||
WOLFSSL_ENGINE* eng);
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_BytesToKey(const WOLFSSL_EVP_CIPHER*,
|
||||
const WOLFSSL_EVP_MD*, const unsigned char*,
|
||||
const unsigned char*, int, int, unsigned char*,
|
||||
unsigned char*);
|
||||
|
||||
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_init(WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_cleanup(WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_ctrl(WOLFSSL_EVP_CIPHER_CTX *ctx, \
|
||||
int type, int arg, void *ptr);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_iv_length(const WOLFSSL_EVP_CIPHER_CTX*);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_iv_length(const WOLFSSL_EVP_CIPHER*);
|
||||
WOLFSSL_API int wolfSSL_EVP_Cipher_key_length(const WOLFSSL_EVP_CIPHER* c);
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherInit(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv,
|
||||
int enc);
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
WOLFSSL_ENGINE *impl,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv,
|
||||
int enc);
|
||||
WOLFSSL_API int wolfSSL_EVP_EncryptInit(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv);
|
||||
WOLFSSL_API int wolfSSL_EVP_EncryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
WOLFSSL_ENGINE *impl,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv);
|
||||
WOLFSSL_API int wolfSSL_EVP_DecryptInit(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv);
|
||||
WOLFSSL_API int wolfSSL_EVP_DecryptInit_ex(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
const WOLFSSL_EVP_CIPHER* type,
|
||||
WOLFSSL_ENGINE *impl,
|
||||
const unsigned char* key,
|
||||
const unsigned char* iv);
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherUpdate(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl,
|
||||
const unsigned char *in, int inl);
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
WOLFSSL_API int wolfSSL_EVP_CipherFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl, int enc);
|
||||
WOLFSSL_API int wolfSSL_EVP_EncryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
WOLFSSL_API int wolfSSL_EVP_EncryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
WOLFSSL_API int wolfSSL_EVP_DecryptFinal(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
WOLFSSL_API int wolfSSL_EVP_DecryptFinal_ex(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
WOLFSSL_API int wolfSSL_EVP_DecryptFinal_legacy(WOLFSSL_EVP_CIPHER_CTX *ctx,
|
||||
unsigned char *out, int *outl);
|
||||
|
||||
WOLFSSL_API WOLFSSL_EVP_CIPHER_CTX *wolfSSL_EVP_CIPHER_CTX_new(void);
|
||||
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_free(WOLFSSL_EVP_CIPHER_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_reset(WOLFSSL_EVP_CIPHER_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_key_length(WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_key_length(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
int keylen);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_iv_length(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
int ivLen);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, byte* iv,
|
||||
int ivLen);
|
||||
WOLFSSL_API int wolfSSL_EVP_Cipher(WOLFSSL_EVP_CIPHER_CTX* ctx,
|
||||
unsigned char* dst, unsigned char* src,
|
||||
unsigned int len);
|
||||
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER* wolfSSL_EVP_get_cipherbynid(int);
|
||||
WOLFSSL_API const WOLFSSL_EVP_MD* wolfSSL_EVP_get_digestbynid(int);
|
||||
WOLFSSL_API const WOLFSSL_EVP_CIPHER *wolfSSL_EVP_CIPHER_CTX_cipher(const WOLFSSL_EVP_CIPHER_CTX *ctx);
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_assign_RSA(WOLFSSL_EVP_PKEY* pkey,
|
||||
WOLFSSL_RSA* key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_assign_EC_KEY(WOLFSSL_EVP_PKEY* pkey,
|
||||
WOLFSSL_EC_KEY* key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DSA(EVP_PKEY* pkey, WOLFSSL_DSA* key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_assign_DH(EVP_PKEY* pkey, WOLFSSL_DH* key);
|
||||
WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get0_RSA(struct WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get0_DSA(struct WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API WOLFSSL_RSA* wolfSSL_EVP_PKEY_get1_RSA(WOLFSSL_EVP_PKEY*);
|
||||
WOLFSSL_API WOLFSSL_DSA* wolfSSL_EVP_PKEY_get1_DSA(WOLFSSL_EVP_PKEY*);
|
||||
WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get0_EC_KEY(WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API WOLFSSL_EC_KEY *wolfSSL_EVP_PKEY_get1_EC_KEY(WOLFSSL_EVP_PKEY *key);
|
||||
WOLFSSL_API WOLFSSL_DH* wolfSSL_EVP_PKEY_get0_DH(WOLFSSL_EVP_PKEY* key);
|
||||
WOLFSSL_API WOLFSSL_DH* wolfSSL_EVP_PKEY_get1_DH(WOLFSSL_EVP_PKEY* key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_set1_RSA(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_RSA *key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_set1_DSA(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_DSA *key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_set1_DH(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_DH *key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_set1_EC_KEY(WOLFSSL_EVP_PKEY *pkey, WOLFSSL_EC_KEY *key);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_assign(WOLFSSL_EVP_PKEY *pkey, int type, void *key);
|
||||
|
||||
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_sign_init(WOLFSSL_EVP_PKEY_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_sign(WOLFSSL_EVP_PKEY_CTX *ctx,
|
||||
unsigned char *sig, size_t *siglen, const unsigned char *tbs, size_t tbslen);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_keygen_init(WOLFSSL_EVP_PKEY_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_keygen(WOLFSSL_EVP_PKEY_CTX *ctx,
|
||||
WOLFSSL_EVP_PKEY **ppkey);
|
||||
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 WOLFSSL_EVP_PKEY_CTX *wolfSSL_EVP_PKEY_CTX_new_id(int id, WOLFSSL_ENGINE *e);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_CTX_set_rsa_keygen_bits(WOLFSSL_EVP_PKEY_CTX *ctx, int bits);
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_derive_init(WOLFSSL_EVP_PKEY_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_derive_set_peer(WOLFSSL_EVP_PKEY_CTX *ctx, WOLFSSL_EVP_PKEY *peer);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_derive(WOLFSSL_EVP_PKEY_CTX *ctx, unsigned char *key, size_t *keylen);
|
||||
|
||||
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 WOLFSSL_EVP_PKEY* wolfSSL_EVP_PKEY_new_ex(void* heap);
|
||||
WOLFSSL_API void wolfSSL_EVP_PKEY_free(WOLFSSL_EVP_PKEY*);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_size(WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_missing_parameters(WOLFSSL_EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_cmp(const WOLFSSL_EVP_PKEY *a, const WOLFSSL_EVP_PKEY *b);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_type(int type);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_id(const EVP_PKEY *pkey);
|
||||
WOLFSSL_API int wolfSSL_EVP_PKEY_base_id(const 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_SignInit_ex(WOLFSSL_EVP_MD_CTX* ctx,
|
||||
const WOLFSSL_EVP_MD* type,
|
||||
WOLFSSL_ENGINE *impl);
|
||||
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,
|
||||
unsigned char* sig, unsigned int 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);
|
||||
WOLFSSL_API int wolfSSL_EVP_X_STATE_LEN(const WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
|
||||
WOLFSSL_API void wolfSSL_3des_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, int doset,
|
||||
unsigned char* iv, int len);
|
||||
WOLFSSL_API void wolfSSL_aes_ctr_iv(WOLFSSL_EVP_CIPHER_CTX* ctx, int doset,
|
||||
unsigned char* iv, int len);
|
||||
|
||||
WOLFSSL_API int wolfSSL_StoreExternalIV(WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_SetInternalIV(WOLFSSL_EVP_CIPHER_CTX* ctx);
|
||||
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_block_size(const WOLFSSL_EVP_CIPHER_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_block_size(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
WOLFSSL_API unsigned long WOLFSSL_EVP_CIPHER_mode(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
WOLFSSL_API unsigned long WOLFSSL_CIPHER_mode(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_flags(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_set_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags);
|
||||
WOLFSSL_API void wolfSSL_EVP_CIPHER_CTX_clear_flags(WOLFSSL_EVP_CIPHER_CTX *ctx, int flags);
|
||||
WOLFSSL_API unsigned long wolfSSL_EVP_CIPHER_CTX_mode(const WOLFSSL_EVP_CIPHER_CTX *ctx);
|
||||
WOLFSSL_API int wolfSSL_EVP_CIPHER_CTX_set_padding(WOLFSSL_EVP_CIPHER_CTX *c, int pad);
|
||||
WOLFSSL_API int wolfSSL_EVP_add_digest(const WOLFSSL_EVP_MD *digest);
|
||||
WOLFSSL_API int wolfSSL_EVP_add_cipher(const WOLFSSL_EVP_CIPHER *cipher);
|
||||
WOLFSSL_API void wolfSSL_EVP_cleanup(void);
|
||||
WOLFSSL_API int wolfSSL_add_all_algorithms(void);
|
||||
WOLFSSL_API int wolfSSL_OpenSSL_add_all_algorithms_conf(void);
|
||||
WOLFSSL_API int wolfSSL_OpenSSL_add_all_algorithms_noconf(void);
|
||||
WOLFSSL_API int wolfSSL_EVP_read_pw_string(char*, int, const char*, int);
|
||||
|
||||
WOLFSSL_API int wolfSSL_PKCS5_PBKDF2_HMAC_SHA1(const char * pass, int passlen,
|
||||
const unsigned char * salt,
|
||||
int saltlen, int iter,
|
||||
int keylen, unsigned char *out);
|
||||
|
||||
WOLFSSL_API int wolfSSL_PKCS5_PBKDF2_HMAC(const char *pass, int passlen,
|
||||
const unsigned char *salt,
|
||||
int saltlen, int iter,
|
||||
const WOLFSSL_EVP_MD *digest,
|
||||
int keylen, unsigned char *out);
|
||||
|
||||
WOLFSSL_LOCAL int wolfSSL_EVP_get_hashinfo(const WOLFSSL_EVP_MD* evp,
|
||||
int* pHash, int* pHashSz);
|
||||
|
||||
#define EVP_CIPH_STREAM_CIPHER WOLFSSL_EVP_CIPH_STREAM_CIPHER
|
||||
#define EVP_CIPH_ECB_MODE WOLFSSL_EVP_CIPH_ECB_MODE
|
||||
#define EVP_CIPH_CBC_MODE WOLFSSL_EVP_CIPH_CBC_MODE
|
||||
#define EVP_CIPH_CFB_MODE WOLFSSL_EVP_CIPH_CFB_MODE
|
||||
#define EVP_CIPH_OFB_MODE WOLFSSL_EVP_CIPH_OFB_MODE
|
||||
#define EVP_CIPH_CTR_MODE WOLFSSL_EVP_CIPH_CTR_MODE
|
||||
#define EVP_CIPH_GCM_MODE WOLFSSL_EVP_CIPH_GCM_MODE
|
||||
#define EVP_CIPH_CCM_MODE WOLFSSL_EVP_CIPH_CCM_MODE
|
||||
#define EVP_CIPH_XTS_MODE WOLFSSL_EVP_CIPH_XTS_MODE
|
||||
|
||||
#define WOLFSSL_EVP_CIPH_MODE 0x0007
|
||||
#define WOLFSSL_EVP_CIPH_STREAM_CIPHER 0x0
|
||||
#define WOLFSSL_EVP_CIPH_ECB_MODE 0x1
|
||||
#define WOLFSSL_EVP_CIPH_CBC_MODE 0x2
|
||||
#define WOLFSSL_EVP_CIPH_CFB_MODE 0x3
|
||||
#define WOLFSSL_EVP_CIPH_OFB_MODE 0x4
|
||||
#define WOLFSSL_EVP_CIPH_CTR_MODE 0x5
|
||||
#define WOLFSSL_EVP_CIPH_GCM_MODE 0x6
|
||||
#define WOLFSSL_EVP_CIPH_CCM_MODE 0x7
|
||||
#define WOLFSSL_EVP_CIPH_XTS_MODE 0x10
|
||||
#define WOLFSSL_EVP_CIPH_NO_PADDING 0x100
|
||||
#define EVP_CIPH_VARIABLE_LENGTH 0x200
|
||||
#define WOLFSSL_EVP_CIPH_TYPE_INIT 0xff
|
||||
|
||||
/* end OpenSSH compat */
|
||||
|
||||
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;
|
||||
|
||||
#ifndef NO_MD4
|
||||
#define EVP_md4 wolfSSL_EVP_md4
|
||||
#endif
|
||||
#ifndef NO_MD5
|
||||
#define EVP_md5 wolfSSL_EVP_md5
|
||||
#endif
|
||||
#define EVP_sha1 wolfSSL_EVP_sha1
|
||||
#define EVP_mdc2 wolfSSL_EVP_mdc2
|
||||
#define EVP_dds1 wolfSSL_EVP_sha1
|
||||
#define EVP_sha224 wolfSSL_EVP_sha224
|
||||
#define EVP_sha256 wolfSSL_EVP_sha256
|
||||
#define EVP_sha384 wolfSSL_EVP_sha384
|
||||
#define EVP_sha512 wolfSSL_EVP_sha512
|
||||
#define EVP_ripemd160 wolfSSL_EVP_ripemd160
|
||||
|
||||
#define EVP_sha3_224 wolfSSL_EVP_sha3_224
|
||||
#define EVP_sha3_256 wolfSSL_EVP_sha3_256
|
||||
#define EVP_sha3_384 wolfSSL_EVP_sha3_384
|
||||
#define EVP_sha3_512 wolfSSL_EVP_sha3_512
|
||||
|
||||
#define EVP_aes_128_cbc wolfSSL_EVP_aes_128_cbc
|
||||
#define EVP_aes_192_cbc wolfSSL_EVP_aes_192_cbc
|
||||
#define EVP_aes_256_cbc wolfSSL_EVP_aes_256_cbc
|
||||
#define EVP_aes_128_cfb1 wolfSSL_EVP_aes_128_cfb1
|
||||
#define EVP_aes_192_cfb1 wolfSSL_EVP_aes_192_cfb1
|
||||
#define EVP_aes_256_cfb1 wolfSSL_EVP_aes_256_cfb1
|
||||
#define EVP_aes_128_cfb8 wolfSSL_EVP_aes_128_cfb8
|
||||
#define EVP_aes_192_cfb8 wolfSSL_EVP_aes_192_cfb8
|
||||
#define EVP_aes_256_cfb8 wolfSSL_EVP_aes_256_cfb8
|
||||
#define EVP_aes_128_cfb128 wolfSSL_EVP_aes_128_cfb128
|
||||
#define EVP_aes_192_cfb128 wolfSSL_EVP_aes_192_cfb128
|
||||
#define EVP_aes_256_cfb128 wolfSSL_EVP_aes_256_cfb128
|
||||
#define EVP_aes_128_ofb wolfSSL_EVP_aes_128_ofb
|
||||
#define EVP_aes_192_ofb wolfSSL_EVP_aes_192_ofb
|
||||
#define EVP_aes_256_ofb wolfSSL_EVP_aes_256_ofb
|
||||
#define EVP_aes_128_xts wolfSSL_EVP_aes_128_xts
|
||||
#define EVP_aes_256_xts wolfSSL_EVP_aes_256_xts
|
||||
#define EVP_aes_128_gcm wolfSSL_EVP_aes_128_gcm
|
||||
#define EVP_aes_192_gcm wolfSSL_EVP_aes_192_gcm
|
||||
#define EVP_aes_256_gcm wolfSSL_EVP_aes_256_gcm
|
||||
#define EVP_aes_128_ecb wolfSSL_EVP_aes_128_ecb
|
||||
#define EVP_aes_192_ecb wolfSSL_EVP_aes_192_ecb
|
||||
#define EVP_aes_256_ecb wolfSSL_EVP_aes_256_ecb
|
||||
#define EVP_aes_128_ctr wolfSSL_EVP_aes_128_ctr
|
||||
#define EVP_aes_192_ctr wolfSSL_EVP_aes_192_ctr
|
||||
#define EVP_aes_256_ctr wolfSSL_EVP_aes_256_ctr
|
||||
#define EVP_des_cbc wolfSSL_EVP_des_cbc
|
||||
#define EVP_des_ecb wolfSSL_EVP_des_ecb
|
||||
#define EVP_des_ede3_cbc wolfSSL_EVP_des_ede3_cbc
|
||||
#define EVP_des_ede3_ecb wolfSSL_EVP_des_ede3_ecb
|
||||
#define EVP_rc4 wolfSSL_EVP_rc4
|
||||
#define EVP_idea_cbc wolfSSL_EVP_idea_cbc
|
||||
#define EVP_enc_null wolfSSL_EVP_enc_null
|
||||
|
||||
#define EVP_MD_size wolfSSL_EVP_MD_size
|
||||
#define EVP_MD_CTX_new wolfSSL_EVP_MD_CTX_new
|
||||
#define EVP_MD_CTX_create wolfSSL_EVP_MD_CTX_new
|
||||
#define EVP_MD_CTX_free wolfSSL_EVP_MD_CTX_free
|
||||
#define EVP_MD_CTX_destroy wolfSSL_EVP_MD_CTX_free
|
||||
#define EVP_MD_CTX_init wolfSSL_EVP_MD_CTX_init
|
||||
#define EVP_MD_CTX_cleanup wolfSSL_EVP_MD_CTX_cleanup
|
||||
#define EVP_MD_CTX_reset wolfSSL_EVP_MD_CTX_cleanup
|
||||
#define EVP_MD_CTX_md wolfSSL_EVP_MD_CTX_md
|
||||
#define EVP_MD_CTX_type wolfSSL_EVP_MD_CTX_type
|
||||
#define EVP_MD_CTX_size wolfSSL_EVP_MD_CTX_size
|
||||
#define EVP_MD_CTX_block_size wolfSSL_EVP_MD_CTX_block_size
|
||||
#define EVP_MD_type wolfSSL_EVP_MD_type
|
||||
|
||||
#define EVP_Digest wolfSSL_EVP_Digest
|
||||
#define EVP_DigestInit wolfSSL_EVP_DigestInit
|
||||
#define EVP_DigestInit_ex wolfSSL_EVP_DigestInit_ex
|
||||
#define EVP_DigestUpdate wolfSSL_EVP_DigestUpdate
|
||||
#define EVP_DigestFinal wolfSSL_EVP_DigestFinal
|
||||
#define EVP_DigestFinal_ex wolfSSL_EVP_DigestFinal_ex
|
||||
#define EVP_DigestSignInit wolfSSL_EVP_DigestSignInit
|
||||
#define EVP_DigestSignUpdate wolfSSL_EVP_DigestSignUpdate
|
||||
#define EVP_DigestSignFinal wolfSSL_EVP_DigestSignFinal
|
||||
#define EVP_DigestVerifyInit wolfSSL_EVP_DigestVerifyInit
|
||||
#define EVP_DigestVerifyUpdate wolfSSL_EVP_DigestVerifyUpdate
|
||||
#define EVP_DigestVerifyFinal wolfSSL_EVP_DigestVerifyFinal
|
||||
#define EVP_BytesToKey wolfSSL_EVP_BytesToKey
|
||||
|
||||
#define EVP_get_cipherbyname wolfSSL_EVP_get_cipherbyname
|
||||
#define EVP_get_digestbyname wolfSSL_EVP_get_digestbyname
|
||||
|
||||
#define EVP_CIPHER_CTX_init wolfSSL_EVP_CIPHER_CTX_init
|
||||
#define EVP_CIPHER_CTX_cleanup wolfSSL_EVP_CIPHER_CTX_cleanup
|
||||
#define EVP_CIPHER_CTX_iv_length wolfSSL_EVP_CIPHER_CTX_iv_length
|
||||
#define EVP_CIPHER_CTX_key_length wolfSSL_EVP_CIPHER_CTX_key_length
|
||||
#define EVP_CIPHER_CTX_set_key_length wolfSSL_EVP_CIPHER_CTX_set_key_length
|
||||
#define EVP_CIPHER_CTX_mode wolfSSL_EVP_CIPHER_CTX_mode
|
||||
#define EVP_CIPHER_CTX_cipher wolfSSL_EVP_CIPHER_CTX_cipher
|
||||
|
||||
#define EVP_CIPHER_iv_length wolfSSL_EVP_CIPHER_iv_length
|
||||
#define EVP_CIPHER_key_length wolfSSL_EVP_Cipher_key_length
|
||||
|
||||
#define EVP_CipherInit wolfSSL_EVP_CipherInit
|
||||
#define EVP_CipherInit_ex wolfSSL_EVP_CipherInit_ex
|
||||
#define EVP_EncryptInit wolfSSL_EVP_EncryptInit
|
||||
#define EVP_EncryptInit_ex wolfSSL_EVP_EncryptInit_ex
|
||||
#define EVP_DecryptInit wolfSSL_EVP_DecryptInit
|
||||
#define EVP_DecryptInit_ex wolfSSL_EVP_DecryptInit_ex
|
||||
|
||||
#define EVP_Cipher wolfSSL_EVP_Cipher
|
||||
#define EVP_CipherUpdate wolfSSL_EVP_CipherUpdate
|
||||
#define EVP_EncryptUpdate wolfSSL_EVP_CipherUpdate
|
||||
#define EVP_DecryptUpdate wolfSSL_EVP_CipherUpdate
|
||||
#define EVP_CipherFinal wolfSSL_EVP_CipherFinal
|
||||
#define EVP_CipherFinal_ex wolfSSL_EVP_CipherFinal
|
||||
#define EVP_EncryptFinal wolfSSL_EVP_CipherFinal
|
||||
#define EVP_EncryptFinal_ex wolfSSL_EVP_CipherFinal
|
||||
#define EVP_DecryptFinal wolfSSL_EVP_CipherFinal
|
||||
#define EVP_DecryptFinal_ex wolfSSL_EVP_CipherFinal
|
||||
|
||||
#define EVP_CIPHER_CTX_free wolfSSL_EVP_CIPHER_CTX_free
|
||||
#define EVP_CIPHER_CTX_reset wolfSSL_EVP_CIPHER_CTX_reset
|
||||
#define EVP_CIPHER_CTX_new wolfSSL_EVP_CIPHER_CTX_new
|
||||
|
||||
#define EVP_get_cipherbynid wolfSSL_EVP_get_cipherbynid
|
||||
#define EVP_get_digestbynid wolfSSL_EVP_get_digestbynid
|
||||
#define EVP_get_cipherbyname wolfSSL_EVP_get_cipherbyname
|
||||
#define EVP_get_digestbyname wolfSSL_EVP_get_digestbyname
|
||||
|
||||
#define EVP_PKEY_assign wolfSSL_EVP_PKEY_assign
|
||||
#define EVP_PKEY_assign_RSA wolfSSL_EVP_PKEY_assign_RSA
|
||||
#define EVP_PKEY_assign_DSA wolfSSL_EVP_PKEY_assign_DSA
|
||||
#define EVP_PKEY_assign_DH wolfSSL_EVP_PKEY_assign_DH
|
||||
#define EVP_PKEY_assign_EC_KEY wolfSSL_EVP_PKEY_assign_EC_KEY
|
||||
#define EVP_PKEY_get1_DSA wolfSSL_EVP_PKEY_get1_DSA
|
||||
#define EVP_PKEY_set1_DSA wolfSSL_EVP_PKEY_set1_DSA
|
||||
#define EVP_PKEY_get0_RSA wolfSSL_EVP_PKEY_get0_RSA
|
||||
#define EVP_PKEY_get1_RSA wolfSSL_EVP_PKEY_get1_RSA
|
||||
#define EVP_PKEY_set1_RSA wolfSSL_EVP_PKEY_set1_RSA
|
||||
#define EVP_PKEY_set1_EC_KEY wolfSSL_EVP_PKEY_set1_EC_KEY
|
||||
#define EVP_PKEY_get1_EC_KEY wolfSSL_EVP_PKEY_get1_EC_KEY
|
||||
#define EVP_PKEY_set1_DH wolfSSL_EVP_PKEY_set1_DH
|
||||
#define EVP_PKEY_get0_DH wolfSSL_EVP_PKEY_get0_DH
|
||||
#define EVP_PKEY_get1_DH wolfSSL_EVP_PKEY_get1_DH
|
||||
#define EVP_PKEY_get0_EC_KEY wolfSSL_EVP_PKEY_get0_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_MD_CTX_copy wolfSSL_EVP_MD_CTX_copy
|
||||
#define EVP_MD_CTX_copy_ex wolfSSL_EVP_MD_CTX_copy_ex
|
||||
#define EVP_PKEY_sign_init wolfSSL_EVP_PKEY_sign_init
|
||||
#define EVP_PKEY_sign wolfSSL_EVP_PKEY_sign
|
||||
#define EVP_PKEY_keygen wolfSSL_EVP_PKEY_keygen
|
||||
#define EVP_PKEY_keygen_init wolfSSL_EVP_PKEY_keygen_init
|
||||
#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_CTX_new_id wolfSSL_EVP_PKEY_CTX_new_id
|
||||
#define EVP_PKEY_CTX_set_rsa_keygen_bits wolfSSL_EVP_PKEY_CTX_set_rsa_keygen_bits
|
||||
#define EVP_PKEY_derive_init wolfSSL_EVP_PKEY_derive_init
|
||||
#define EVP_PKEY_derive_set_peer wolfSSL_EVP_PKEY_derive_set_peer
|
||||
#define EVP_PKEY_derive wolfSSL_EVP_PKEY_derive
|
||||
#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_EVP_PKEY_new
|
||||
#define EVP_PKEY_free wolfSSL_EVP_PKEY_free
|
||||
#define EVP_PKEY_up_ref wolfSSL_EVP_PKEY_up_ref
|
||||
#define EVP_PKEY_size wolfSSL_EVP_PKEY_size
|
||||
#define EVP_PKEY_missing_parameters wolfSSL_EVP_PKEY_missing_parameters
|
||||
#define EVP_PKEY_cmp wolfSSL_EVP_PKEY_cmp
|
||||
#define EVP_PKEY_type wolfSSL_EVP_PKEY_type
|
||||
#define EVP_PKEY_base_id wolfSSL_EVP_PKEY_base_id
|
||||
#define EVP_PKEY_id wolfSSL_EVP_PKEY_id
|
||||
#define EVP_SignFinal wolfSSL_EVP_SignFinal
|
||||
#define EVP_SignInit wolfSSL_EVP_SignInit
|
||||
#define EVP_SignInit_ex wolfSSL_EVP_SignInit_ex
|
||||
#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_ctrl wolfSSL_EVP_CIPHER_CTX_ctrl
|
||||
#define EVP_CIPHER_CTX_block_size wolfSSL_EVP_CIPHER_CTX_block_size
|
||||
#define EVP_CIPHER_block_size wolfSSL_EVP_CIPHER_block_size
|
||||
#define EVP_CIPHER_flags wolfSSL_EVP_CIPHER_flags
|
||||
#define EVP_CIPHER_CTX_set_flags wolfSSL_EVP_CIPHER_CTX_set_flags
|
||||
#define EVP_CIPHER_CTX_clear_flags wolfSSL_EVP_CIPHER_CTX_clear_flags
|
||||
#define EVP_CIPHER_CTX_set_padding wolfSSL_EVP_CIPHER_CTX_set_padding
|
||||
#define EVP_CIPHER_CTX_flags wolfSSL_EVP_CIPHER_CTX_flags
|
||||
#define EVP_CIPHER_CTX_set_iv wolfSSL_EVP_CIPHER_CTX_set_iv
|
||||
#define EVP_add_digest wolfSSL_EVP_add_digest
|
||||
#define EVP_add_cipher wolfSSL_EVP_add_cipher
|
||||
#define EVP_cleanup wolfSSL_EVP_cleanup
|
||||
#define EVP_read_pw_string wolfSSL_EVP_read_pw_string
|
||||
#define EVP_rc2_cbc wolfSSL_EVP_rc2_cbc
|
||||
|
||||
#define OpenSSL_add_all_digests() wolfSSL_EVP_init()
|
||||
#define OpenSSL_add_all_ciphers() wolfSSL_EVP_init()
|
||||
#define OpenSSL_add_all_algorithms wolfSSL_add_all_algorithms
|
||||
#define OpenSSL_add_all_algorithms_noconf wolfSSL_OpenSSL_add_all_algorithms_noconf
|
||||
#define OpenSSL_add_all_algorithms_conf wolfSSL_OpenSSL_add_all_algorithms_conf
|
||||
|
||||
#define wolfSSL_OPENSSL_add_all_algorithms_noconf wolfSSL_OpenSSL_add_all_algorithms_noconf
|
||||
#define wolfSSL_OPENSSL_add_all_algorithms_conf wolfSSL_OpenSSL_add_all_algorithms_conf
|
||||
|
||||
/* provides older OpenSSL API compatibility */
|
||||
#define OPENSSL_add_all_algorithms OpenSSL_add_all_algorithms
|
||||
#define OPENSSL_add_all_algorithms_noconf OpenSSL_add_all_algorithms_noconf
|
||||
#define OPENSSL_add_all_algorithms_conf OpenSSL_add_all_algorithms_conf
|
||||
|
||||
#define NO_PADDING_BLOCK_SIZE 1
|
||||
|
||||
#define PKCS5_PBKDF2_HMAC_SHA1 wolfSSL_PKCS5_PBKDF2_HMAC_SHA1
|
||||
#define PKCS5_PBKDF2_HMAC wolfSSL_PKCS5_PBKDF2_HMAC
|
||||
|
||||
/* OpenSSL compat. ctrl values */
|
||||
#define EVP_CTRL_INIT 0x0
|
||||
#define EVP_CTRL_SET_KEY_LENGTH 0x1
|
||||
#define EVP_CTRL_SET_RC2_KEY_BITS 0x3 /* needed for qt compilation */
|
||||
|
||||
#define EVP_CTRL_AEAD_SET_IVLEN 0x9
|
||||
#define EVP_CTRL_AEAD_GET_TAG 0x10
|
||||
#define EVP_CTRL_AEAD_SET_TAG 0x11
|
||||
#define EVP_CTRL_AEAD_SET_IV_FIXED 0x12
|
||||
#define EVP_CTRL_GCM_IV_GEN 0x13
|
||||
#define EVP_CTRL_GCM_SET_IVLEN EVP_CTRL_AEAD_SET_IVLEN
|
||||
#define EVP_CTRL_GCM_GET_TAG EVP_CTRL_AEAD_GET_TAG
|
||||
#define EVP_CTRL_GCM_SET_TAG EVP_CTRL_AEAD_SET_TAG
|
||||
#define EVP_CTRL_GCM_SET_IV_FIXED EVP_CTRL_AEAD_SET_IV_FIXED
|
||||
|
||||
#define EVP_PKEY_print_private(arg1, arg2, arg3, arg4)
|
||||
|
||||
#ifndef EVP_MAX_MD_SIZE
|
||||
#define EVP_MAX_MD_SIZE 64 /* sha512 */
|
||||
#endif
|
||||
|
||||
#ifndef EVP_MAX_KEY_LENGTH
|
||||
#define EVP_MAX_KEY_LENGTH 64
|
||||
#endif
|
||||
|
||||
#ifndef EVP_MAX_IV_LENGTH
|
||||
#define EVP_MAX_IV_LENGTH 16
|
||||
#endif
|
||||
|
||||
#ifndef EVP_MAX_BLOCK_LENGTH
|
||||
#define EVP_MAX_BLOCK_LENGTH 32 /* 2 * blocklen(AES)? */
|
||||
/* They define this as 32. Using the same value here. */
|
||||
#endif
|
||||
|
||||
#ifndef EVP_MAX_IV_LENGTH
|
||||
#define EVP_MAX_IV_LENGTH 16
|
||||
#endif
|
||||
|
||||
|
||||
#define EVP_R_BAD_DECRYPT (-MIN_CODE_E + 100 + 1)
|
||||
#define EVP_R_BN_DECODE_ERROR (-MIN_CODE_E + 100 + 2)
|
||||
#define EVP_R_DECODE_ERROR (-MIN_CODE_E + 100 + 3)
|
||||
#define EVP_R_PRIVATE_KEY_DECODE_ERROR (-MIN_CODE_E + 100 + 4)
|
||||
|
||||
#define EVP_PKEY_NONE NID_undef
|
||||
#define EVP_PKEY_RSA 6
|
||||
#define EVP_PKEY_RSA2 19
|
||||
#define EVP_PKEY_DH 28
|
||||
#define EVP_CIPHER_mode WOLFSSL_CIPHER_mode
|
||||
/* WOLFSSL_EVP_CIPHER is just the string name of the cipher */
|
||||
#define EVP_CIPHER_name(x) x
|
||||
#define EVP_MD_CTX_reset wolfSSL_EVP_MD_CTX_cleanup
|
||||
/* WOLFSSL_EVP_MD is just the string name of the digest */
|
||||
#define EVP_MD_name(x) x
|
||||
#define EVP_CIPHER_nid wolfSSL_EVP_CIPHER_nid
|
||||
|
||||
|
||||
WOLFSSL_API void printPKEY(WOLFSSL_EVP_PKEY *k);
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#include <wolfssl/openssl/objects.h>
|
||||
|
||||
#endif /* WOLFSSL_EVP_H_ */
|
||||
100
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/hmac.h
vendored
Normal file
100
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/hmac.h
vendored
Normal file
@ -0,0 +1,100 @@
|
||||
/* hmac.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* hmac.h defines mini hamc openssl compatibility layer
|
||||
*
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_HMAC_H_
|
||||
#define WOLFSSL_HMAC_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_hmac.h"
|
||||
#endif
|
||||
|
||||
#include <wolfssl/openssl/evp.h>
|
||||
#include <wolfssl/openssl/opensslv.h>
|
||||
#include <wolfssl/wolfcrypt/hmac.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
WOLFSSL_API unsigned char* wolfSSL_HMAC(const WOLFSSL_EVP_MD* evp_md,
|
||||
const void* key, int key_len,
|
||||
const unsigned char* d, int n, unsigned char* md,
|
||||
unsigned int* md_len);
|
||||
|
||||
|
||||
typedef struct WOLFSSL_HMAC_CTX {
|
||||
Hmac hmac;
|
||||
int type;
|
||||
word32 save_ipad[WC_HMAC_BLOCK_SIZE / sizeof(word32)]; /* same block size all*/
|
||||
word32 save_opad[WC_HMAC_BLOCK_SIZE / sizeof(word32)];
|
||||
} WOLFSSL_HMAC_CTX;
|
||||
|
||||
|
||||
WOLFSSL_API WOLFSSL_HMAC_CTX* wolfSSL_HMAC_CTX_new(void);
|
||||
WOLFSSL_API int wolfSSL_HMAC_CTX_Init(WOLFSSL_HMAC_CTX* ctx);
|
||||
WOLFSSL_API int wolfSSL_HMAC_CTX_copy(WOLFSSL_HMAC_CTX* des,
|
||||
WOLFSSL_HMAC_CTX* src);
|
||||
WOLFSSL_LOCAL int wolfSSL_HmacCopy(Hmac* des, Hmac* src);
|
||||
WOLFSSL_API int wolfSSL_HMAC_Init(WOLFSSL_HMAC_CTX* ctx, const void* key,
|
||||
int keylen, const EVP_MD* type);
|
||||
WOLFSSL_API int wolfSSL_HMAC_Init_ex(WOLFSSL_HMAC_CTX* ctx, const void* key,
|
||||
int keylen, const EVP_MD* type, WOLFSSL_ENGINE* e);
|
||||
WOLFSSL_API int wolfSSL_HMAC_Update(WOLFSSL_HMAC_CTX* ctx,
|
||||
const unsigned char* data, int len);
|
||||
WOLFSSL_API int wolfSSL_HMAC_Final(WOLFSSL_HMAC_CTX* ctx, unsigned char* hash,
|
||||
unsigned int* len);
|
||||
WOLFSSL_API int wolfSSL_HMAC_cleanup(WOLFSSL_HMAC_CTX* ctx);
|
||||
WOLFSSL_API void wolfSSL_HMAC_CTX_free(WOLFSSL_HMAC_CTX* ctx);
|
||||
WOLFSSL_API size_t wolfSSL_HMAC_size(const WOLFSSL_HMAC_CTX *ctx);
|
||||
|
||||
typedef struct WOLFSSL_HMAC_CTX HMAC_CTX;
|
||||
|
||||
#define HMAC(a,b,c,d,e,f,g) wolfSSL_HMAC((a),(b),(c),(d),(e),(f),(g))
|
||||
|
||||
#define HMAC_CTX_new wolfSSL_HMAC_CTX_new
|
||||
#define HMAC_CTX_init wolfSSL_HMAC_CTX_Init
|
||||
#define HMAC_CTX_copy wolfSSL_HMAC_CTX_copy
|
||||
#define HMAC_CTX_free wolfSSL_HMAC_CTX_free
|
||||
#define HMAC_CTX_reset wolfSSL_HMAC_cleanup
|
||||
#define HMAC_Init_ex wolfSSL_HMAC_Init_ex
|
||||
#define HMAC_Init wolfSSL_HMAC_Init
|
||||
#define HMAC_Update wolfSSL_HMAC_Update
|
||||
#define HMAC_Final wolfSSL_HMAC_Final
|
||||
#define HMAC_cleanup wolfSSL_HMAC_cleanup
|
||||
#define HMAC_size wolfSSL_HMAC_size
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_HMAC_H_ */
|
||||
52
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/include.am
vendored
Normal file
52
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/include.am
vendored
Normal file
@ -0,0 +1,52 @@
|
||||
# vim:ft=automake
|
||||
# All paths should be given relative to the root
|
||||
|
||||
nobase_include_HEADERS+= \
|
||||
wolfssl/openssl/asn1.h \
|
||||
wolfssl/openssl/asn1t.h \
|
||||
wolfssl/openssl/aes.h\
|
||||
wolfssl/openssl/bio.h \
|
||||
wolfssl/openssl/bn.h \
|
||||
wolfssl/openssl/buffer.h \
|
||||
wolfssl/openssl/conf.h \
|
||||
wolfssl/openssl/crypto.h \
|
||||
wolfssl/openssl/des.h \
|
||||
wolfssl/openssl/dh.h \
|
||||
wolfssl/openssl/dsa.h \
|
||||
wolfssl/openssl/ecdsa.h \
|
||||
wolfssl/openssl/ecdh.h \
|
||||
wolfssl/openssl/ec.h \
|
||||
wolfssl/openssl/ec25519.h \
|
||||
wolfssl/openssl/ed25519.h \
|
||||
wolfssl/openssl/ec448.h \
|
||||
wolfssl/openssl/ed448.h \
|
||||
wolfssl/openssl/engine.h \
|
||||
wolfssl/openssl/err.h \
|
||||
wolfssl/openssl/evp.h \
|
||||
wolfssl/openssl/hmac.h \
|
||||
wolfssl/openssl/lhash.h \
|
||||
wolfssl/openssl/md4.h \
|
||||
wolfssl/openssl/md5.h \
|
||||
wolfssl/openssl/ripemd.h \
|
||||
wolfssl/openssl/obj_mac.h \
|
||||
wolfssl/openssl/objects.h \
|
||||
wolfssl/openssl/ocsp.h \
|
||||
wolfssl/openssl/opensslconf.h \
|
||||
wolfssl/openssl/opensslv.h \
|
||||
wolfssl/openssl/ossl_typ.h \
|
||||
wolfssl/openssl/pem.h \
|
||||
wolfssl/openssl/pkcs12.h \
|
||||
wolfssl/openssl/pkcs7.h \
|
||||
wolfssl/openssl/rand.h \
|
||||
wolfssl/openssl/rsa.h \
|
||||
wolfssl/openssl/sha.h \
|
||||
wolfssl/openssl/sha3.h \
|
||||
wolfssl/openssl/ssl23.h \
|
||||
wolfssl/openssl/ssl.h \
|
||||
wolfssl/openssl/stack.h \
|
||||
wolfssl/openssl/tls1.h \
|
||||
wolfssl/openssl/ui.h \
|
||||
wolfssl/openssl/x509.h \
|
||||
wolfssl/openssl/x509_vfy.h \
|
||||
wolfssl/openssl/x509v3.h \
|
||||
wolfssl/openssl/rc4.h
|
||||
2
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/lhash.h
vendored
Normal file
2
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/lhash.h
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/* lhash.h for openSSL */
|
||||
|
||||
62
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/md4.h
vendored
Normal file
62
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/md4.h
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
/* md4.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_MD4_H_
|
||||
#define WOLFSSL_MD4_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifndef NO_MD4
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_md4.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct WOLFSSL_MD4_CTX {
|
||||
int buffer[32]; /* big enough to hold, check size in Init */
|
||||
} WOLFSSL_MD4_CTX;
|
||||
|
||||
|
||||
WOLFSSL_API void wolfSSL_MD4_Init(WOLFSSL_MD4_CTX*);
|
||||
WOLFSSL_API void wolfSSL_MD4_Update(WOLFSSL_MD4_CTX*, const void*, unsigned long);
|
||||
WOLFSSL_API void wolfSSL_MD4_Final(unsigned char*, WOLFSSL_MD4_CTX*);
|
||||
|
||||
|
||||
typedef WOLFSSL_MD4_CTX MD4_CTX;
|
||||
|
||||
#define MD4_Init wolfSSL_MD4_Init
|
||||
#define MD4_Update wolfSSL_MD4_Update
|
||||
#define MD4_Final wolfSSL_MD4_Final
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* NO_MD4 */
|
||||
|
||||
#endif /* WOLFSSL_MD4_H_ */
|
||||
|
||||
81
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/md5.h
vendored
Normal file
81
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/md5.h
vendored
Normal file
@ -0,0 +1,81 @@
|
||||
/* md5.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* md5.h for openssl */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_MD5_H_
|
||||
#define WOLFSSL_MD5_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifndef NO_MD5
|
||||
|
||||
#include <wolfssl/wolfcrypt/hash.h>
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_md5.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct WOLFSSL_MD5_CTX {
|
||||
/* big enough to hold wolfcrypt md5, but check on init */
|
||||
#ifdef STM32_HASH
|
||||
void* holder[(112 + WC_ASYNC_DEV_SIZE + sizeof(STM32_HASH_Context)) / sizeof(void*)];
|
||||
#else
|
||||
void* holder[(112 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
#endif
|
||||
} WOLFSSL_MD5_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_MD5_Init(WOLFSSL_MD5_CTX*);
|
||||
WOLFSSL_API int wolfSSL_MD5_Update(WOLFSSL_MD5_CTX*, const void*, unsigned long);
|
||||
WOLFSSL_API int wolfSSL_MD5_Final(unsigned char*, WOLFSSL_MD5_CTX*);
|
||||
|
||||
|
||||
typedef WOLFSSL_MD5_CTX MD5_CTX;
|
||||
|
||||
#define MD5_Init wolfSSL_MD5_Init
|
||||
#define MD5_Update wolfSSL_MD5_Update
|
||||
#define MD5_Final wolfSSL_MD5_Final
|
||||
|
||||
#ifdef OPENSSL_EXTRA_BSD
|
||||
#define MD5Init wolfSSL_MD5_Init
|
||||
#define MD5Update wolfSSL_MD5_Update
|
||||
#define MD5Final wolfSSL_MD5_Final
|
||||
#endif
|
||||
|
||||
#ifndef MD5
|
||||
#define MD5(d, n, md) wc_Md5Hash((d), (n), (md))
|
||||
#endif
|
||||
|
||||
#define MD5_DIGEST_LENGTH MD5_DIGEST_SIZE
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* NO_MD5 */
|
||||
|
||||
#endif /* WOLFSSL_MD5_H_ */
|
||||
50
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/obj_mac.h
vendored
Normal file
50
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/obj_mac.h
vendored
Normal file
@ -0,0 +1,50 @@
|
||||
/* obj_mac.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* obj_mac.h for openSSL */
|
||||
|
||||
#ifndef WOLFSSL_OBJ_MAC_H_
|
||||
#define WOLFSSL_OBJ_MAC_H_
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define NID_sect163k1 721
|
||||
#define NID_sect163r1 722
|
||||
#define NID_sect163r2 723
|
||||
#define NID_sect193r1 724
|
||||
#define NID_sect193r2 725
|
||||
#define NID_sect233k1 726
|
||||
#define NID_sect233r1 727
|
||||
#define NID_sect239k1 728
|
||||
#define NID_sect283k1 729
|
||||
#define NID_sect283r1 730
|
||||
#define NID_sect409k1 731
|
||||
#define NID_sect409r1 732
|
||||
#define NID_sect571k1 733
|
||||
#define NID_sect571r1 734
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_OBJ_MAC_H_ */
|
||||
|
||||
63
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/objects.h
vendored
Normal file
63
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/objects.h
vendored
Normal file
@ -0,0 +1,63 @@
|
||||
/* objects.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_OBJECTS_H_
|
||||
#define WOLFSSL_OBJECTS_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
//#include <wolfssl/openssl/ssl.h>
|
||||
#ifndef OPENSSL_EXTRA_SSL_GUARD
|
||||
#define OPENSSL_EXTRA_SSL_GUARD
|
||||
#include <wolfssl/ssl.h>
|
||||
#endif /* OPENSSL_EXTRA_SSL_GUARD */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define OBJ_nid2sn wolfSSL_OBJ_nid2sn
|
||||
#define OBJ_obj2nid wolfSSL_OBJ_obj2nid
|
||||
#define OBJ_sn2nid wolfSSL_OBJ_sn2nid
|
||||
#define OBJ_nid2ln wolfSSL_OBJ_nid2ln
|
||||
#define OBJ_ln2nid wolfSSL_OBJ_ln2nid
|
||||
#define OBJ_txt2nid wolfSSL_OBJ_txt2nid
|
||||
#define OBJ_txt2obj wolfSSL_OBJ_txt2obj
|
||||
#define OBJ_nid2obj wolfSSL_OBJ_nid2obj
|
||||
#define OBJ_obj2txt wolfSSL_OBJ_obj2txt
|
||||
#define OBJ_cleanup wolfSSL_OBJ_cleanup
|
||||
#define OBJ_cmp wolfSSL_OBJ_cmp
|
||||
#define OBJ_create wolfSSL_OBJ_create
|
||||
#define ASN1_OBJECT_free wolfSSL_ASN1_OBJECT_free
|
||||
|
||||
/* not required for wolfSSL */
|
||||
#define OPENSSL_load_builtin_modules()
|
||||
|
||||
|
||||
#define NID_ad_OCSP 178
|
||||
#define NID_ad_ca_issuers 179
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_OBJECTS_H_ */
|
||||
82
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ocsp.h
vendored
Normal file
82
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ocsp.h
vendored
Normal file
@ -0,0 +1,82 @@
|
||||
/* ocsp.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ocsp.h for libcurl */
|
||||
|
||||
#ifndef WOLFSSL_OCSP_H_
|
||||
#define WOLFSSL_OCSP_H_
|
||||
|
||||
#ifdef HAVE_OCSP
|
||||
#include <wolfssl/ocsp.h>
|
||||
|
||||
#define OCSP_REQUEST OcspRequest
|
||||
#define OCSP_RESPONSE OcspResponse
|
||||
#define OCSP_BASICRESP WOLFSSL_OCSP_BASICRESP
|
||||
#define OCSP_CERTID WOLFSSL_OCSP_CERTID
|
||||
#define OCSP_ONEREQ WOLFSSL_OCSP_ONEREQ
|
||||
|
||||
#define OCSP_REVOKED_STATUS_NOSTATUS -1
|
||||
|
||||
|
||||
#define OCSP_RESPONSE_STATUS_SUCCESSFUL 0
|
||||
#define OCSP_RESPONSE_STATUS_TRYLATER 3
|
||||
|
||||
#define V_OCSP_CERTSTATUS_GOOD 0
|
||||
#define V_OCSP_CERTSTATUS_REVOKED 1
|
||||
#define V_OCSP_CERTSTATUS_UNKNOWN 2
|
||||
|
||||
#define OCSP_resp_find_status wolfSSL_OCSP_resp_find_status
|
||||
#define OCSP_cert_status_str wolfSSL_OCSP_cert_status_str
|
||||
#define OCSP_check_validity wolfSSL_OCSP_check_validity
|
||||
|
||||
#define OCSP_CERTID_free wolfSSL_OCSP_CERTID_free
|
||||
#define OCSP_cert_to_id wolfSSL_OCSP_cert_to_id
|
||||
|
||||
#define OCSP_BASICRESP_free wolfSSL_OCSP_BASICRESP_free
|
||||
#define OCSP_basic_verify wolfSSL_OCSP_basic_verify
|
||||
|
||||
#define OCSP_RESPONSE_free wolfSSL_OCSP_RESPONSE_free
|
||||
#define d2i_OCSP_RESPONSE_bio wolfSSL_d2i_OCSP_RESPONSE_bio
|
||||
#define d2i_OCSP_RESPONSE wolfSSL_d2i_OCSP_RESPONSE
|
||||
#define i2d_OCSP_RESPONSE wolfSSL_i2d_OCSP_RESPONSE
|
||||
#define OCSP_response_status wolfSSL_OCSP_response_status
|
||||
#define OCSP_response_status_str wolfSSL_OCSP_response_status_str
|
||||
#define OCSP_response_get1_basic wolfSSL_OCSP_response_get1_basic
|
||||
#define OCSP_response_create wolfSSL_OCSP_response_create
|
||||
|
||||
#define OCSP_REQUEST_new wolfSSL_OCSP_REQUEST_new
|
||||
#define OCSP_REQUEST_free wolfSSL_OCSP_REQUEST_free
|
||||
#define i2d_OCSP_REQUEST wolfSSL_i2d_OCSP_REQUEST
|
||||
#define OCSP_request_add0_id wolfSSL_OCSP_request_add0_id
|
||||
#define OCSP_request_add1_nonce wolfSSL_OCSP_request_add1_nonce
|
||||
#define OCSP_check_nonce wolfSSL_OCSP_check_nonce
|
||||
#define OCSP_id_get0_info wolfSSL_OCSP_id_get0_info
|
||||
#define OCSP_crl_reason_str wolfSSL_OCSP_crl_reason_str
|
||||
#define OCSP_REQUEST_add_ext wolfSSL_OCSP_REQUEST_add_ext
|
||||
|
||||
#define OCSP_CERTID_dup wolfSSL_OCSP_CERTID_dup
|
||||
|
||||
#define i2d_OCSP_REQUEST_bio wolfSSL_i2d_OCSP_REQUEST_bio
|
||||
|
||||
#endif /* HAVE_OCSP */
|
||||
|
||||
#endif /* WOLFSSL_OCSP_H_ */
|
||||
|
||||
8
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/opensslconf.h
vendored
Normal file
8
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/opensslconf.h
vendored
Normal file
@ -0,0 +1,8 @@
|
||||
/* opensslconf.h for openSSL */
|
||||
|
||||
|
||||
#ifndef OPENSSL_THREADS
|
||||
#define OPENSSL_THREADS
|
||||
#endif
|
||||
|
||||
|
||||
45
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/opensslv.h
vendored
Normal file
45
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/opensslv.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/* opensslv.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* opensslv.h compatibility */
|
||||
|
||||
#ifndef WOLFSSL_OPENSSLV_H_
|
||||
#define WOLFSSL_OPENSSLV_H_
|
||||
|
||||
|
||||
/* api version compatibility */
|
||||
#if defined(WOLFSSL_APACHE_HTTPD)
|
||||
/* For Apache httpd, Use 1.1.0 compatibility */
|
||||
#define OPENSSL_VERSION_NUMBER 0x10100000L
|
||||
#elif defined(OPENSSL_ALL) || defined(HAVE_STUNNEL) || defined(HAVE_LIGHTY) || \
|
||||
defined(WOLFSSL_NGINX) || defined(WOLFSSL_HAPROXY) || \
|
||||
defined(WOLFSSL_OPENSSH) || defined(WOLFSSL_QT) || defined(WOLFSSL_OPENVPN)
|
||||
/* version number can be increased for Lighty after compatibility for ECDH
|
||||
is added */
|
||||
#define OPENSSL_VERSION_NUMBER 0x10001040L
|
||||
#else
|
||||
#define OPENSSL_VERSION_NUMBER 0x0090810fL
|
||||
#endif
|
||||
|
||||
#define OPENSSL_VERSION_TEXT LIBWOLFSSL_VERSION_STRING
|
||||
#define OPENSSL_VERSION 0
|
||||
|
||||
#endif /* header */
|
||||
32
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ossl_typ.h
vendored
Normal file
32
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ossl_typ.h
vendored
Normal file
@ -0,0 +1,32 @@
|
||||
/* ossl_typ.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/*!
|
||||
\file wolfssl/openssl/ossl_typ.h
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_OSSL_TYP_H_
|
||||
#define WOLFSSL_OSSL_TYP_H_
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
|
||||
#endif /* !WOLFSSL_OSSL_TYP_H_ */
|
||||
256
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/pem.h
vendored
Normal file
256
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/pem.h
vendored
Normal file
@ -0,0 +1,256 @@
|
||||
/* pem.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* pem.h for openssl */
|
||||
|
||||
/*!
|
||||
\file wolfssl/openssl/pem.h
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_PEM_H_
|
||||
#define WOLFSSL_PEM_H_
|
||||
|
||||
#include <wolfssl/openssl/evp.h>
|
||||
#include <wolfssl/openssl/bio.h>
|
||||
#include <wolfssl/openssl/rsa.h>
|
||||
#include <wolfssl/openssl/dsa.h>
|
||||
#include <wolfssl/ssl.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* RSA */
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_RSAPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa,
|
||||
const EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
pem_password_cb* cb, void* arg);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_RSA* wolfSSL_PEM_read_bio_RSAPrivateKey(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_RSA**,
|
||||
pem_password_cb* cb,
|
||||
void* arg);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_RSA_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_RSA* rsa);
|
||||
|
||||
WOLFSSL_API
|
||||
WOLFSSL_RSA *wolfSSL_PEM_read_bio_RSA_PUBKEY(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_RSA** rsa,
|
||||
pem_password_cb* cb, void *u);
|
||||
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_GROUP* wolfSSL_PEM_read_bio_ECPKParameters(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_EC_GROUP** group,
|
||||
pem_password_cb* cb,
|
||||
void* pass);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_mem_RSAPrivateKey(RSA* rsa, const EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
unsigned char **pem, int *plen);
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_RSAPrivateKey(XFILE fp, WOLFSSL_RSA *rsa,
|
||||
const EVP_CIPHER *enc,
|
||||
unsigned char *kstr, int klen,
|
||||
pem_password_cb *cb, void *u);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_RSA *wolfSSL_PEM_read_RSAPublicKey(XFILE fp, WOLFSSL_RSA **x,
|
||||
pem_password_cb *cb, void *u);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_RSAPublicKey(XFILE fp, WOLFSSL_RSA *x);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_RSA_PUBKEY(XFILE fp, WOLFSSL_RSA *x);
|
||||
#endif /* NO_FILESYSTEM */
|
||||
|
||||
/* DSA */
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_DSAPrivateKey(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_DSA* dsa,
|
||||
const EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
pem_password_cb* cb, void* arg);
|
||||
|
||||
WOLFSSL_API
|
||||
WOLFSSL_DSA* wolfSSL_PEM_read_bio_DSAPrivateKey(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_DSA** dsa,
|
||||
pem_password_cb* cb,void *pass);
|
||||
|
||||
WOLFSSL_API
|
||||
WOLFSSL_DSA *wolfSSL_PEM_read_bio_DSA_PUBKEY(WOLFSSL_BIO* bio,WOLFSSL_DSA** dsa,
|
||||
pem_password_cb* cb, void *pass);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_DSA_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_DSA* dsa);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_mem_DSAPrivateKey(WOLFSSL_DSA* dsa,
|
||||
const EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
unsigned char **pem, int *plen);
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_DSAPrivateKey(XFILE fp, WOLFSSL_DSA *dsa,
|
||||
const EVP_CIPHER *enc,
|
||||
unsigned char *kstr, int klen,
|
||||
pem_password_cb *cb, void *u);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_DSA_PUBKEY(XFILE fp, WOLFSSL_DSA *x);
|
||||
#endif /* NO_FILESYSTEM */
|
||||
|
||||
/* ECC */
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_ECPrivateKey(WOLFSSL_BIO* bio, WOLFSSL_EC_KEY* ec,
|
||||
const EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
pem_password_cb* cb, void* arg);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_KEY* wolfSSL_PEM_read_bio_ECPrivateKey(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_EC_KEY** ec,
|
||||
pem_password_cb* cb,
|
||||
void *pass);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_EC_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_EC_KEY* ec);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_mem_ECPrivateKey(WOLFSSL_EC_KEY* key,
|
||||
const EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
unsigned char **pem, int *plen);
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_ECPrivateKey(XFILE fp, WOLFSSL_EC_KEY *key,
|
||||
const EVP_CIPHER *enc,
|
||||
unsigned char *kstr, int klen,
|
||||
pem_password_cb *cb, void *u);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_EC_PUBKEY(XFILE fp, WOLFSSL_EC_KEY *key);
|
||||
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EC_KEY* wolfSSL_PEM_read_bio_EC_PUBKEY(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_EC_KEY** ec,
|
||||
pem_password_cb* cb, void *pass);
|
||||
#endif /* NO_FILESYSTEM */
|
||||
|
||||
/* EVP_KEY */
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EVP_PKEY* wolfSSL_PEM_read_bio_PrivateKey(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_EVP_PKEY**,
|
||||
pem_password_cb* cb,
|
||||
void* arg);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_bio_PUBKEY(WOLFSSL_BIO* bio,
|
||||
WOLFSSL_EVP_PKEY **key,
|
||||
pem_password_cb *cb, void *pass);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_PrivateKey(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* key,
|
||||
const WOLFSSL_EVP_CIPHER* cipher,
|
||||
unsigned char* passwd, int len,
|
||||
pem_password_cb* cb, void* arg);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio_PUBKEY(WOLFSSL_BIO* bio, WOLFSSL_EVP_PKEY* key);
|
||||
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_read_bio(WOLFSSL_BIO* bio, char **name, char **header,
|
||||
unsigned char **data, long *len);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_bio(WOLFSSL_BIO *bio, const char *name,
|
||||
const char *header, const unsigned char *data,
|
||||
long len);
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_read(XFILE fp, char **name, char **header, unsigned char **data,
|
||||
long *len);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write(XFILE fp, const char *name, const char *header,
|
||||
const unsigned char *data, long len);
|
||||
#endif
|
||||
|
||||
#if !defined(NO_FILESYSTEM)
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_PUBKEY(XFILE fp, EVP_PKEY **x,
|
||||
pem_password_cb *cb, void *u);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_X509 *wolfSSL_PEM_read_X509(XFILE fp, WOLFSSL_X509 **x,
|
||||
pem_password_cb *cb, void *u);
|
||||
WOLFSSL_API
|
||||
WOLFSSL_EVP_PKEY *wolfSSL_PEM_read_PrivateKey(XFILE fp, WOLFSSL_EVP_PKEY **x,
|
||||
pem_password_cb *cb, void *u);
|
||||
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_X509(XFILE fp, WOLFSSL_X509 *x);
|
||||
WOLFSSL_API
|
||||
int wolfSSL_PEM_write_DHparams(XFILE fp, WOLFSSL_DH* dh);
|
||||
#endif /* NO_FILESYSTEM */
|
||||
|
||||
#define PEM_read wolfSSL_PEM_read
|
||||
#define PEM_read_bio wolfSSL_PEM_read_bio
|
||||
#define PEM_write wolfSSL_PEM_write
|
||||
#define PEM_write_bio wolfSSL_PEM_write_bio
|
||||
|
||||
#define PEM_read_X509 wolfSSL_PEM_read_X509
|
||||
#define PEM_read_PrivateKey wolfSSL_PEM_read_PrivateKey
|
||||
#define PEM_write_X509 wolfSSL_PEM_write_X509
|
||||
#define PEM_write_bio_PrivateKey wolfSSL_PEM_write_bio_PrivateKey
|
||||
#define PEM_write_bio_PKCS8PrivateKey wolfSSL_PEM_write_bio_PKCS8PrivateKey
|
||||
|
||||
/* DH */
|
||||
#define PEM_write_DHparams wolfSSL_PEM_write_DHparams
|
||||
/* RSA */
|
||||
#define PEM_write_bio_RSAPrivateKey wolfSSL_PEM_write_bio_RSAPrivateKey
|
||||
#define PEM_read_bio_RSAPrivateKey wolfSSL_PEM_read_bio_RSAPrivateKey
|
||||
#define PEM_write_bio_RSA_PUBKEY wolfSSL_PEM_write_bio_RSA_PUBKEY
|
||||
#define PEM_read_bio_RSA_PUBKEY wolfSSL_PEM_read_bio_RSA_PUBKEY
|
||||
#define PEM_read_bio_ECPKParameters wolfSSL_PEM_read_bio_ECPKParameters
|
||||
#define PEM_write_RSAPrivateKey wolfSSL_PEM_write_RSAPrivateKey
|
||||
#define PEM_write_RSA_PUBKEY wolfSSL_PEM_write_RSA_PUBKEY
|
||||
#define PEM_write_RSAPublicKey wolfSSL_PEM_write_RSAPublicKey
|
||||
#define PEM_read_RSAPublicKey wolfSSL_PEM_read_RSAPublicKey
|
||||
/* DSA */
|
||||
#define PEM_write_bio_DSAPrivateKey wolfSSL_PEM_write_bio_DSAPrivateKey
|
||||
#define PEM_write_DSAPrivateKey wolfSSL_PEM_write_DSAPrivateKey
|
||||
#define PEM_write_bio_DSA_PUBKEY wolfSSL_PEM_write_bio_DSA_PUBKEY
|
||||
#define PEM_write_DSA_PUBKEY wolfSSL_PEM_write_DSA_PUBKEY
|
||||
#define PEM_read_bio_DSAPrivateKey wolfSSL_PEM_read_bio_DSAPrivateKey
|
||||
#define PEM_read_bio_DSA_PUBKEY wolfSSL_PEM_read_bio_DSA_PUBKEY
|
||||
/* ECC */
|
||||
#define PEM_write_bio_ECPrivateKey wolfSSL_PEM_write_bio_ECPrivateKey
|
||||
#define PEM_write_bio_EC_PUBKEY wolfSSL_PEM_write_bio_EC_PUBKEY
|
||||
#define PEM_write_EC_PUBKEY wolfSSL_PEM_write_EC_PUBKEY
|
||||
#define PEM_write_ECPrivateKey wolfSSL_PEM_write_ECPrivateKey
|
||||
#define PEM_read_bio_ECPrivateKey wolfSSL_PEM_read_bio_ECPrivateKey
|
||||
#define PEM_read_bio_EC_PUBKEY wolfSSL_PEM_read_bio_EC_PUBKEY
|
||||
/* EVP_KEY */
|
||||
#define PEM_read_bio_PrivateKey wolfSSL_PEM_read_bio_PrivateKey
|
||||
#define PEM_read_PUBKEY wolfSSL_PEM_read_PUBKEY
|
||||
#define PEM_read_bio_PUBKEY wolfSSL_PEM_read_bio_PUBKEY
|
||||
#define PEM_write_bio_PUBKEY wolfSSL_PEM_write_bio_PUBKEY
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_PEM_H_ */
|
||||
|
||||
49
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/pkcs12.h
vendored
Normal file
49
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/pkcs12.h
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
/* pkcs12.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* pkcs12.h for openssl */
|
||||
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
#include <wolfssl/wolfcrypt/pkcs12.h>
|
||||
|
||||
#ifndef WOLFSSL_PKCS12_COMPAT_H_
|
||||
#define WOLFSSL_PKCS12_COMPAT_H_
|
||||
|
||||
#define NID_pbe_WithSHA1AndDES_CBC 2
|
||||
#define NID_pbe_WithSHA1And3_Key_TripleDES_CBC 3
|
||||
#define NID_pbe_WithSHA1And128BitRC4 1
|
||||
|
||||
#define PKCS12_DEFAULT_ITER WC_PKCS12_ITT_DEFAULT
|
||||
|
||||
/* wolfCrypt level does not make use of ssl.h */
|
||||
#define PKCS12 WC_PKCS12
|
||||
#define PKCS12_new wc_PKCS12_new
|
||||
#define PKCS12_free wc_PKCS12_free
|
||||
|
||||
/* wolfSSL level using structs from ssl.h and calls down to wolfCrypt */
|
||||
#define d2i_PKCS12_bio wolfSSL_d2i_PKCS12_bio
|
||||
#define PKCS12_parse wolfSSL_PKCS12_parse
|
||||
#define PKCS12_create wolfSSL_PKCS12_create
|
||||
#define PKCS12_PBE_add wolfSSL_PKCS12_PBE_add
|
||||
|
||||
#endif /* WOLFSSL_PKCS12_COMPAT_H_ */
|
||||
|
||||
79
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/pkcs7.h
vendored
Normal file
79
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/pkcs7.h
vendored
Normal file
@ -0,0 +1,79 @@
|
||||
/* pkcs7.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* pkcs7.h for openSSL */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_PKCS7_H_
|
||||
#define WOLFSSL_PKCS7_H_
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
#include <wolfssl/wolfcrypt/pkcs7.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(OPENSSL_ALL) && defined(HAVE_PKCS7)
|
||||
|
||||
#define PKCS7_NOINTERN 0x0010
|
||||
#define PKCS7_NOVERIFY 0x0020
|
||||
|
||||
|
||||
typedef struct WOLFSSL_PKCS7
|
||||
{
|
||||
PKCS7 pkcs7;
|
||||
unsigned char* data;
|
||||
int len;
|
||||
} WOLFSSL_PKCS7;
|
||||
|
||||
|
||||
WOLFSSL_API PKCS7* wolfSSL_PKCS7_new(void);
|
||||
WOLFSSL_API PKCS7_SIGNED* wolfSSL_PKCS7_SIGNED_new(void);
|
||||
WOLFSSL_API void wolfSSL_PKCS7_free(PKCS7* p7);
|
||||
WOLFSSL_API void wolfSSL_PKCS7_SIGNED_free(PKCS7_SIGNED* p7);
|
||||
WOLFSSL_API PKCS7* wolfSSL_d2i_PKCS7(PKCS7** p7, const unsigned char** in,
|
||||
int len);
|
||||
WOLFSSL_API PKCS7* wolfSSL_d2i_PKCS7_bio(WOLFSSL_BIO* bio, PKCS7** p7);
|
||||
WOLFSSL_API int wolfSSL_PKCS7_verify(PKCS7* p7, WOLFSSL_STACK* certs,
|
||||
WOLFSSL_X509_STORE* store, WOLFSSL_BIO* in, WOLFSSL_BIO* out, int flags);
|
||||
WOLFSSL_API WOLFSSL_STACK* wolfSSL_PKCS7_get0_signers(PKCS7* p7,
|
||||
WOLFSSL_STACK* certs, int flags);
|
||||
WOLFSSL_API int wolfSSL_PEM_write_bio_PKCS7(WOLFSSL_BIO* bio, PKCS7* p7);
|
||||
|
||||
#define PKCS7_new wolfSSL_PKCS7_new
|
||||
#define PKCS7_SIGNED_new wolfSSL_PKCS7_SIGNED_new
|
||||
#define PKCS7_free wolfSSL_PKCS7_free
|
||||
#define PKCS7_SIGNED_free wolfSSL_PKCS7_SIGNED_free
|
||||
#define d2i_PKCS7 wolfSSL_d2i_PKCS7
|
||||
#define d2i_PKCS7_bio wolfSSL_d2i_PKCS7_bio
|
||||
#define PKCS7_verify wolfSSL_PKCS7_verify
|
||||
#define PKCS7_get0_signers wolfSSL_PKCS7_get0_signers
|
||||
#define PEM_write_bio_PKCS7 wolfSSL_PEM_write_bio_PKCS7
|
||||
|
||||
#endif /* OPENSSL_ALL && HAVE_PKCS7 */
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_PKCS7_H_ */
|
||||
|
||||
27
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/rand.h
vendored
Normal file
27
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/rand.h
vendored
Normal file
@ -0,0 +1,27 @@
|
||||
/* rand.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* rand.h for openSSL */
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
#include <wolfssl/wolfcrypt/random.h>
|
||||
|
||||
#define RAND_set_rand_method wolfSSL_RAND_set_rand_method
|
||||
59
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/rc4.h
vendored
Normal file
59
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/rc4.h
vendored
Normal file
@ -0,0 +1,59 @@
|
||||
/* rc4.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
|
||||
/* rc4.h defines mini des openssl compatibility layer
|
||||
*
|
||||
*/
|
||||
|
||||
#ifndef WOLFSSL_RC4_COMPAT_H_
|
||||
#define WOLFSSL_RC4_COMPAT_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/openssl/ssl.h> /* included for size_t */
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* applications including wolfssl/openssl/rc4.h are expecting to have access to
|
||||
* the size of RC4_KEY structures. */
|
||||
typedef struct WOLFSSL_RC4_KEY {
|
||||
/* big enough for Arc4 from wolfssl/wolfcrypt/arc4.h */
|
||||
void* holder[(272 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
} WOLFSSL_RC4_KEY;
|
||||
typedef WOLFSSL_RC4_KEY RC4_KEY;
|
||||
|
||||
WOLFSSL_API void wolfSSL_RC4_set_key(WOLFSSL_RC4_KEY* key, int len,
|
||||
const unsigned char* data);
|
||||
WOLFSSL_API void wolfSSL_RC4(WOLFSSL_RC4_KEY* key, size_t len,
|
||||
const unsigned char* in, unsigned char* out);
|
||||
|
||||
#define RC4 wolfSSL_RC4
|
||||
#define RC4_set_key wolfSSL_RC4_set_key
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_RC4_COMPAT_H_ */
|
||||
|
||||
58
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ripemd.h
vendored
Normal file
58
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ripemd.h
vendored
Normal file
@ -0,0 +1,58 @@
|
||||
/* ripemd.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* ripemd.h for openssl */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_RIPEMD_H_
|
||||
#define WOLFSSL_RIPEMD_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct WOLFSSL_RIPEMD_CTX {
|
||||
int holder[32]; /* big enough to hold wolfcrypt, but check on init */
|
||||
} WOLFSSL_RIPEMD_CTX;
|
||||
|
||||
WOLFSSL_API void wolfSSL_RIPEMD_Init(WOLFSSL_RIPEMD_CTX*);
|
||||
WOLFSSL_API void wolfSSL_RIPEMD_Update(WOLFSSL_RIPEMD_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API void wolfSSL_RIPEMD_Final(unsigned char*, WOLFSSL_RIPEMD_CTX*);
|
||||
|
||||
|
||||
typedef WOLFSSL_RIPEMD_CTX RIPEMD_CTX;
|
||||
|
||||
#define RIPEMD_Init wolfSSL_RIPEMD_Init
|
||||
#define RIPEMD_Update wolfSSL_RIPEMD_Update
|
||||
#define RIPEMD_Final wolfSSL_RIPEMD_Final
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_MD5_H_ */
|
||||
|
||||
197
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/rsa.h
vendored
Normal file
197
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/rsa.h
vendored
Normal file
@ -0,0 +1,197 @@
|
||||
/* rsa.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* rsa.h for openSSL */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_RSA_H_
|
||||
#define WOLFSSL_RSA_H_
|
||||
|
||||
#include <wolfssl/openssl/bn.h>
|
||||
#include <wolfssl/openssl/err.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/* Padding types */
|
||||
#define RSA_PKCS1_PADDING 0
|
||||
#define RSA_PKCS1_OAEP_PADDING 1
|
||||
#define RSA_PKCS1_PSS_PADDING 2
|
||||
#define RSA_NO_PADDING 3
|
||||
|
||||
/* Emulate OpenSSL flags */
|
||||
#define RSA_METHOD_FLAG_NO_CHECK (1 << 1)
|
||||
#define RSA_FLAG_CACHE_PUBLIC (1 << 2)
|
||||
#define RSA_FLAG_CACHE_PRIVATE (1 << 3)
|
||||
#define RSA_FLAG_BLINDING (1 << 4)
|
||||
#define RSA_FLAG_THREAD_SAFE (1 << 5)
|
||||
#define RSA_FLAG_EXT_PKEY (1 << 6)
|
||||
#define RSA_FLAG_NO_BLINDING (1 << 7)
|
||||
#define RSA_FLAG_NO_CONSTTIME (1 << 8)
|
||||
|
||||
/* Salt length same as digest length */
|
||||
#define RSA_PSS_SALTLEN_DIGEST -1
|
||||
/* Old max salt length */
|
||||
#define RSA_PSS_SALTLEN_MAX_SIGN -2
|
||||
/* Max salt length */
|
||||
#define RSA_PSS_SALTLEN_MAX -3
|
||||
|
||||
typedef struct WOLFSSL_RSA_METHOD {
|
||||
int flags;
|
||||
char *name;
|
||||
} WOLFSSL_RSA_METHOD;
|
||||
|
||||
#ifndef WOLFSSL_RSA_TYPE_DEFINED /* guard on redeclaration */
|
||||
#define WOLFSSL_RSA_TYPE_DEFINED
|
||||
typedef struct WOLFSSL_RSA {
|
||||
#ifdef WC_RSA_BLINDING
|
||||
WC_RNG* rng; /* for PrivateDecrypt blinding */
|
||||
#endif
|
||||
WOLFSSL_BIGNUM* n;
|
||||
WOLFSSL_BIGNUM* e;
|
||||
WOLFSSL_BIGNUM* d;
|
||||
WOLFSSL_BIGNUM* p;
|
||||
WOLFSSL_BIGNUM* q;
|
||||
WOLFSSL_BIGNUM* dmp1; /* dP */
|
||||
WOLFSSL_BIGNUM* dmq1; /* dQ */
|
||||
WOLFSSL_BIGNUM* iqmp; /* u */
|
||||
void* heap;
|
||||
void* internal; /* our RSA */
|
||||
char inSet; /* internal set from external ? */
|
||||
char exSet; /* external set from internal ? */
|
||||
char ownRng; /* flag for if the rng should be free'd */
|
||||
#if defined(OPENSSL_EXTRA)
|
||||
WOLFSSL_RSA_METHOD* meth;
|
||||
#endif
|
||||
#if defined(HAVE_EX_DATA)
|
||||
WOLFSSL_CRYPTO_EX_DATA ex_data; /* external data */
|
||||
#endif
|
||||
#if defined(OPENSSL_EXTRA) || defined(OPENSSL_ALL)
|
||||
wolfSSL_Mutex refMutex; /* ref count mutex */
|
||||
int refCount; /* reference count */
|
||||
#endif
|
||||
} WOLFSSL_RSA;
|
||||
#endif
|
||||
|
||||
typedef WOLFSSL_RSA RSA;
|
||||
typedef WOLFSSL_RSA_METHOD RSA_METHOD;
|
||||
|
||||
WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSA_new(void);
|
||||
WOLFSSL_API void wolfSSL_RSA_free(WOLFSSL_RSA*);
|
||||
|
||||
WOLFSSL_API int wolfSSL_RSA_generate_key_ex(WOLFSSL_RSA*, int bits, WOLFSSL_BIGNUM*,
|
||||
void* cb);
|
||||
|
||||
WOLFSSL_API int wolfSSL_RSA_blinding_on(WOLFSSL_RSA*, WOLFSSL_BN_CTX*);
|
||||
WOLFSSL_API int wolfSSL_RSA_public_encrypt(int len, const unsigned char* fr,
|
||||
unsigned char* to, WOLFSSL_RSA*, int padding);
|
||||
WOLFSSL_API int wolfSSL_RSA_private_decrypt(int len, const unsigned char* fr,
|
||||
unsigned char* to, WOLFSSL_RSA*, int padding);
|
||||
WOLFSSL_API int wolfSSL_RSA_private_encrypt(int len, unsigned char* in,
|
||||
unsigned char* out, WOLFSSL_RSA* rsa, int padding);
|
||||
|
||||
WOLFSSL_API int wolfSSL_RSA_size(const WOLFSSL_RSA*);
|
||||
WOLFSSL_API int wolfSSL_RSA_sign(int type, const unsigned char* m,
|
||||
unsigned int mLen, unsigned char* sigRet,
|
||||
unsigned int* sigLen, WOLFSSL_RSA*);
|
||||
WOLFSSL_API int wolfSSL_RSA_sign_ex(int type, const unsigned char* m,
|
||||
unsigned int mLen, unsigned char* sigRet,
|
||||
unsigned int* sigLen, WOLFSSL_RSA*, int);
|
||||
WOLFSSL_API int wolfSSL_RSA_verify(int type, const unsigned char* m,
|
||||
unsigned int mLen, const unsigned char* sig,
|
||||
unsigned int sigLen, WOLFSSL_RSA*);
|
||||
WOLFSSL_API int wolfSSL_RSA_public_decrypt(int flen, const unsigned char* from,
|
||||
unsigned char* to, WOLFSSL_RSA*, int padding);
|
||||
WOLFSSL_API int wolfSSL_RSA_GenAdd(WOLFSSL_RSA*);
|
||||
WOLFSSL_API int wolfSSL_RSA_LoadDer(WOLFSSL_RSA*, const unsigned char*, int sz);
|
||||
WOLFSSL_API int wolfSSL_RSA_LoadDer_ex(WOLFSSL_RSA*, const unsigned char*, int sz, int opt);
|
||||
|
||||
WOLFSSL_API WOLFSSL_RSA_METHOD *wolfSSL_RSA_meth_new(const char *name, int flags);
|
||||
WOLFSSL_API void wolfSSL_RSA_meth_free(WOLFSSL_RSA_METHOD *meth);
|
||||
WOLFSSL_API int wolfSSL_RSA_meth_set(WOLFSSL_RSA_METHOD *rsa, void* p);
|
||||
WOLFSSL_API int wolfSSL_RSA_set_method(WOLFSSL_RSA *rsa, WOLFSSL_RSA_METHOD *meth);
|
||||
WOLFSSL_API const WOLFSSL_RSA_METHOD* wolfSSL_RSA_get_method(const WOLFSSL_RSA *rsa);
|
||||
WOLFSSL_API const WOLFSSL_RSA_METHOD* wolfSSL_RSA_get_default_method(void);
|
||||
|
||||
WOLFSSL_API void wolfSSL_RSA_get0_key(const WOLFSSL_RSA *r, const WOLFSSL_BIGNUM **n,
|
||||
const WOLFSSL_BIGNUM **e, const WOLFSSL_BIGNUM **d);
|
||||
WOLFSSL_API int wolfSSL_RSA_set0_key(WOLFSSL_RSA *r, WOLFSSL_BIGNUM *n, WOLFSSL_BIGNUM *e,
|
||||
WOLFSSL_BIGNUM *d);
|
||||
WOLFSSL_API int wolfSSL_RSA_flags(const WOLFSSL_RSA *r);
|
||||
WOLFSSL_API void wolfSSL_RSA_set_flags(WOLFSSL_RSA *r, int flags);
|
||||
|
||||
WOLFSSL_API WOLFSSL_RSA* wolfSSL_RSAPublicKey_dup(WOLFSSL_RSA *rsa);
|
||||
|
||||
WOLFSSL_API void* wolfSSL_RSA_get_ex_data(const WOLFSSL_RSA *rsa, int idx);
|
||||
WOLFSSL_API int wolfSSL_RSA_set_ex_data(WOLFSSL_RSA *rsa, int idx, void *data);
|
||||
|
||||
|
||||
#define WOLFSSL_RSA_LOAD_PRIVATE 1
|
||||
#define WOLFSSL_RSA_LOAD_PUBLIC 2
|
||||
#define WOLFSSL_RSA_F4 0x10001L
|
||||
|
||||
#define RSA_new wolfSSL_RSA_new
|
||||
#define RSA_free wolfSSL_RSA_free
|
||||
|
||||
#define RSA_generate_key_ex wolfSSL_RSA_generate_key_ex
|
||||
|
||||
#define RSA_blinding_on wolfSSL_RSA_blinding_on
|
||||
#define RSA_public_encrypt wolfSSL_RSA_public_encrypt
|
||||
#define RSA_private_decrypt wolfSSL_RSA_private_decrypt
|
||||
#define RSA_private_encrypt wolfSSL_RSA_private_encrypt
|
||||
|
||||
#define RSA_size wolfSSL_RSA_size
|
||||
#define RSA_sign wolfSSL_RSA_sign
|
||||
#define RSA_verify wolfSSL_RSA_verify
|
||||
#define RSA_public_decrypt wolfSSL_RSA_public_decrypt
|
||||
|
||||
#define RSA_meth_new wolfSSL_RSA_meth_new
|
||||
#define RSA_meth_free wolfSSL_RSA_meth_free
|
||||
#define RSA_meth_set_pub_enc wolfSSL_RSA_meth_set
|
||||
#define RSA_meth_set_pub_dec wolfSSL_RSA_meth_set
|
||||
#define RSA_meth_set_priv_enc wolfSSL_RSA_meth_set
|
||||
#define RSA_meth_set_priv_dec wolfSSL_RSA_meth_set
|
||||
#define RSA_meth_set_init wolfSSL_RSA_meth_set
|
||||
#define RSA_meth_set_finish wolfSSL_RSA_meth_set
|
||||
#define RSA_meth_set0_app_data wolfSSL_RSA_meth_set
|
||||
#define RSA_get_default_method wolfSSL_RSA_get_default_method
|
||||
#define RSA_get_method wolfSSL_RSA_get_method
|
||||
#define RSA_set_method wolfSSL_RSA_set_method
|
||||
#define RSA_get0_key wolfSSL_RSA_get0_key
|
||||
#define RSA_set0_key wolfSSL_RSA_set0_key
|
||||
#define RSA_flags wolfSSL_RSA_flags
|
||||
#define RSA_set_flags wolfSSL_RSA_set_flags
|
||||
|
||||
#define RSAPublicKey_dup wolfSSL_RSAPublicKey_dup
|
||||
#define RSA_get_ex_data wolfSSL_RSA_get_ex_data
|
||||
#define RSA_set_ex_data wolfSSL_RSA_set_ex_data
|
||||
|
||||
#define RSA_get0_key wolfSSL_RSA_get0_key
|
||||
|
||||
#define RSA_F4 WOLFSSL_RSA_F4
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* header */
|
||||
203
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/sha.h
vendored
Normal file
203
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/sha.h
vendored
Normal file
@ -0,0 +1,203 @@
|
||||
/* sha.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* sha.h for openssl */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_SHA_H_
|
||||
#define WOLFSSL_SHA_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_sha.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
typedef struct WOLFSSL_SHA_CTX {
|
||||
/* big enough to hold wolfcrypt Sha, but check on init */
|
||||
#if defined(STM32_HASH)
|
||||
void* holder[(112 + WC_ASYNC_DEV_SIZE + sizeof(STM32_HASH_Context)) / sizeof(void*)];
|
||||
#else
|
||||
void* holder[(112 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
#endif
|
||||
#ifdef WOLF_CRYPTO_CB
|
||||
void* cryptocb_holder[(sizeof(int) + sizeof(void*) + 4) / sizeof(void*)];
|
||||
#endif
|
||||
} WOLFSSL_SHA_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA_Init(WOLFSSL_SHA_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA_Update(WOLFSSL_SHA_CTX*, const void*, unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA_Final(unsigned char*, WOLFSSL_SHA_CTX*);
|
||||
|
||||
/* SHA1 points to above, shouldn't use SHA0 ever */
|
||||
WOLFSSL_API int wolfSSL_SHA1_Init(WOLFSSL_SHA_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA1_Update(WOLFSSL_SHA_CTX*, const void*, unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA1_Final(unsigned char*, WOLFSSL_SHA_CTX*);
|
||||
|
||||
enum {
|
||||
SHA_DIGEST_LENGTH = 20
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA_CTX SHA_CTX;
|
||||
|
||||
#define SHA_Init wolfSSL_SHA_Init
|
||||
#define SHA_Update wolfSSL_SHA_Update
|
||||
#define SHA_Final wolfSSL_SHA_Final
|
||||
|
||||
#define SHA1_Init wolfSSL_SHA1_Init
|
||||
#define SHA1_Update wolfSSL_SHA1_Update
|
||||
#define SHA1_Final wolfSSL_SHA1_Final
|
||||
|
||||
|
||||
#ifdef WOLFSSL_SHA224
|
||||
|
||||
/* Using ALIGN16 because when AES-NI is enabled digest and buffer in Sha256
|
||||
* struct are 16 byte aligned. Any dereference to those elements after casting
|
||||
* to Sha224, is expected to also be 16 byte aligned addresses. */
|
||||
typedef struct WOLFSSL_SHA224_CTX {
|
||||
/* big enough to hold wolfcrypt Sha224, but check on init */
|
||||
ALIGN16 void* holder[(272 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
} WOLFSSL_SHA224_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA224_Init(WOLFSSL_SHA224_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA224_Update(WOLFSSL_SHA224_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA224_Final(unsigned char*, WOLFSSL_SHA224_CTX*);
|
||||
|
||||
enum {
|
||||
SHA224_DIGEST_LENGTH = 28
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA224_CTX SHA224_CTX;
|
||||
|
||||
#define SHA224_Init wolfSSL_SHA224_Init
|
||||
#define SHA224_Update wolfSSL_SHA224_Update
|
||||
#define SHA224_Final wolfSSL_SHA224_Final
|
||||
|
||||
#endif /* WOLFSSL_SHA224 */
|
||||
|
||||
|
||||
/* Using ALIGN16 because when AES-NI is enabled digest and buffer in Sha256
|
||||
* struct are 16 byte aligned. Any dereference to those elements after casting
|
||||
* to Sha256, is expected to also be 16 byte aligned addresses. */
|
||||
typedef struct WOLFSSL_SHA256_CTX {
|
||||
/* big enough to hold wolfcrypt Sha256, but check on init */
|
||||
ALIGN16 void* holder[(272 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
} WOLFSSL_SHA256_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA256_Init(WOLFSSL_SHA256_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA256_Update(WOLFSSL_SHA256_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA256_Final(unsigned char*, WOLFSSL_SHA256_CTX*);
|
||||
|
||||
enum {
|
||||
SHA256_DIGEST_LENGTH = 32
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA256_CTX SHA256_CTX;
|
||||
|
||||
#define SHA256_Init wolfSSL_SHA256_Init
|
||||
#define SHA256_Update wolfSSL_SHA256_Update
|
||||
#define SHA256_Final wolfSSL_SHA256_Final
|
||||
#if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
/* SHA256 is only available in non-fips mode because of SHA256 enum in FIPS
|
||||
* build. */
|
||||
#define SHA256 wolfSSL_SHA256
|
||||
#endif
|
||||
|
||||
|
||||
#ifdef WOLFSSL_SHA384
|
||||
|
||||
typedef struct WOLFSSL_SHA384_CTX {
|
||||
/* big enough to hold wolfCrypt Sha384, but check on init */
|
||||
void* holder[(256 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
} WOLFSSL_SHA384_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA384_Init(WOLFSSL_SHA384_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA384_Update(WOLFSSL_SHA384_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA384_Final(unsigned char*, WOLFSSL_SHA384_CTX*);
|
||||
|
||||
enum {
|
||||
SHA384_DIGEST_LENGTH = 48
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA384_CTX SHA384_CTX;
|
||||
|
||||
#define SHA384_Init wolfSSL_SHA384_Init
|
||||
#define SHA384_Update wolfSSL_SHA384_Update
|
||||
#define SHA384_Final wolfSSL_SHA384_Final
|
||||
#if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
/* SHA384 is only available in non-fips mode because of SHA384 enum in FIPS
|
||||
* build. */
|
||||
#define SHA384 wolfSSL_SHA384
|
||||
#endif
|
||||
#endif /* WOLFSSL_SHA384 */
|
||||
|
||||
#ifdef WOLFSSL_SHA512
|
||||
|
||||
typedef struct WOLFSSL_SHA512_CTX {
|
||||
/* big enough to hold wolfCrypt Sha384, but check on init */
|
||||
void* holder[(288 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
} WOLFSSL_SHA512_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA512_Init(WOLFSSL_SHA512_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA512_Update(WOLFSSL_SHA512_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA512_Final(unsigned char*, WOLFSSL_SHA512_CTX*);
|
||||
|
||||
enum {
|
||||
SHA512_DIGEST_LENGTH = 64
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA512_CTX SHA512_CTX;
|
||||
|
||||
#define SHA512_Init wolfSSL_SHA512_Init
|
||||
#define SHA512_Update wolfSSL_SHA512_Update
|
||||
#define SHA512_Final wolfSSL_SHA512_Final
|
||||
#if defined(NO_OLD_SHA_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
/* SHA512 is only available in non-fips mode because of SHA512 enum in FIPS
|
||||
* build. */
|
||||
#define SHA512 wolfSSL_SHA512
|
||||
#endif
|
||||
#endif /* WOLFSSL_SHA512 */
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_SHA_H_ */
|
||||
|
||||
150
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/sha3.h
vendored
Normal file
150
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/sha3.h
vendored
Normal file
@ -0,0 +1,150 @@
|
||||
/* sha3.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* sha3.h for openssl */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_SHA3_H_
|
||||
#define WOLFSSL_SHA3_H_
|
||||
|
||||
#include <wolfssl/wolfcrypt/settings.h>
|
||||
#include <wolfssl/wolfcrypt/types.h>
|
||||
|
||||
#ifdef WOLFSSL_PREFIX
|
||||
#include "prefix_sha.h"
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
|
||||
/* Using ALIGN16 because when AES-NI is enabled digest and buffer in Sha3
|
||||
* struct are 16 byte aligned. Any dereference to those elements after casting
|
||||
* to Sha3 is expected to also be 16 byte aligned addresses. */
|
||||
struct WOLFSSL_SHA3_CTX {
|
||||
/* big enough to hold wolfcrypt Sha3, but check on init */
|
||||
ALIGN16 void* holder[(424 + WC_ASYNC_DEV_SIZE) / sizeof(void*)];
|
||||
};
|
||||
|
||||
#ifndef WOLFSSL_NOSHA3_224
|
||||
typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_224_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA3_224_Init(WOLFSSL_SHA3_224_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA3_224_Update(WOLFSSL_SHA3_224_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA3_224_Final(unsigned char*, WOLFSSL_SHA3_224_CTX*);
|
||||
|
||||
enum {
|
||||
SHA3_224_DIGEST_LENGTH = 28
|
||||
};
|
||||
|
||||
typedef WOLFSSL_SHA3_224_CTX SHA3_224_CTX;
|
||||
|
||||
#define SHA3_224_Init wolfSSL_SHA3_224_Init
|
||||
#define SHA3_224_Update wolfSSL_SHA3_224_Update
|
||||
#define SHA3_224_Final wolfSSL_SHA3_224_Final
|
||||
#if defined(NO_OLD_WC_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
#define SHA3_224 wolfSSL_SHA3_224
|
||||
#endif
|
||||
#endif /* WOLFSSL_NOSHA3_224 */
|
||||
|
||||
|
||||
#ifndef WOLFSSL_NOSHA3_256
|
||||
typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_256_CTX;
|
||||
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA3_256_Init(WOLFSSL_SHA3_256_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA3_256_Update(WOLFSSL_SHA3_256_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA3_256_Final(unsigned char*, WOLFSSL_SHA3_256_CTX*);
|
||||
|
||||
enum {
|
||||
SHA3_256_DIGEST_LENGTH = 32
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA3_256_CTX SHA3_256_CTX;
|
||||
|
||||
#define SHA3_256_Init wolfSSL_SHA3_256_Init
|
||||
#define SHA3_256_Update wolfSSL_SHA3_256_Update
|
||||
#define SHA3_256_Final wolfSSL_SHA3_256_Final
|
||||
#if defined(NO_OLD_WC_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
#define SHA3_256 wolfSSL_SHA3_256
|
||||
#endif
|
||||
#endif /* WOLFSSL_NOSHA3_256 */
|
||||
|
||||
|
||||
typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_384_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA3_384_Init(WOLFSSL_SHA3_384_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA3_384_Update(WOLFSSL_SHA3_384_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA3_384_Final(unsigned char*, WOLFSSL_SHA3_384_CTX*);
|
||||
|
||||
enum {
|
||||
SHA3_384_DIGEST_LENGTH = 48
|
||||
};
|
||||
|
||||
typedef WOLFSSL_SHA3_384_CTX SHA3_384_CTX;
|
||||
|
||||
#define SHA3_384_Init wolfSSL_SHA3_384_Init
|
||||
#define SHA3_384_Update wolfSSL_SHA3_384_Update
|
||||
#define SHA3_384_Final wolfSSL_SHA3_384_Final
|
||||
#if defined(NO_OLD_WC_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
#define SHA3_384 wolfSSL_SHA3_384
|
||||
#endif
|
||||
|
||||
|
||||
#ifndef WOLFSSL_NOSHA3_512
|
||||
|
||||
typedef struct WOLFSSL_SHA3_CTX WOLFSSL_SHA3_512_CTX;
|
||||
|
||||
WOLFSSL_API int wolfSSL_SHA3_512_Init(WOLFSSL_SHA3_512_CTX*);
|
||||
WOLFSSL_API int wolfSSL_SHA3_512_Update(WOLFSSL_SHA3_512_CTX*, const void*,
|
||||
unsigned long);
|
||||
WOLFSSL_API int wolfSSL_SHA3_512_Final(unsigned char*, WOLFSSL_SHA3_512_CTX*);
|
||||
|
||||
enum {
|
||||
SHA3_512_DIGEST_LENGTH = 64
|
||||
};
|
||||
|
||||
|
||||
typedef WOLFSSL_SHA3_512_CTX SHA3_512_CTX;
|
||||
|
||||
#define SHA3_512_Init wolfSSL_SHA3_512_Init
|
||||
#define SHA3_512_Update wolfSSL_SHA3_512_Update
|
||||
#define SHA3_512_Final wolfSSL_SHA3_512_Final
|
||||
#if defined(NO_OLD_WC_NAMES) && !defined(HAVE_FIPS) && !defined(HAVE_SELFTEST)
|
||||
#define SHA3_512 wolfSSL_SHA3_512
|
||||
#endif
|
||||
#endif /* WOLFSSL_NOSHA3_512 */
|
||||
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
|
||||
#endif /* WOLFSSL_SHA3_H_ */
|
||||
|
||||
1239
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ssl.h
vendored
Normal file
1239
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ssl.h
vendored
Normal file
File diff suppressed because it is too large
Load Diff
1
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ssl23.h
vendored
Normal file
1
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ssl23.h
vendored
Normal file
@ -0,0 +1 @@
|
||||
/* ssl23.h for openssl */
|
||||
61
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/stack.h
vendored
Normal file
61
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/stack.h
vendored
Normal file
@ -0,0 +1,61 @@
|
||||
/* stack.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* stack.h for openSSL */
|
||||
|
||||
#ifndef WOLFSSL_STACK_H_
|
||||
#define WOLFSSL_STACK_H_
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#include <wolfssl/openssl/conf.h>
|
||||
|
||||
typedef void (*wolfSSL_sk_freefunc)(void *);
|
||||
|
||||
WOLFSSL_API void wolfSSL_sk_GENERIC_pop_free(WOLFSSL_STACK* sk, wolfSSL_sk_freefunc);
|
||||
WOLFSSL_API void wolfSSL_sk_GENERIC_free(WOLFSSL_STACK *);
|
||||
WOLFSSL_API int wolfSSL_sk_GENERIC_push(WOLFSSL_STACK *sk, void *data);
|
||||
WOLFSSL_API void wolfSSL_sk_pop_free(WOLFSSL_STACK *st, void (*func) (void *));
|
||||
WOLFSSL_API void wolfSSL_sk_CONF_VALUE_free(WOLF_STACK_OF(WOLFSSL_CONF_VALUE)* sk);
|
||||
WOLFSSL_API WOLFSSL_STACK *wolfSSL_sk_new_null(void);
|
||||
|
||||
WOLFSSL_API int wolfSSL_sk_CIPHER_push(WOLFSSL_STACK *st,WOLFSSL_CIPHER *cipher);
|
||||
WOLFSSL_API WOLFSSL_CIPHER* wolfSSL_sk_CIPHER_pop(WOLF_STACK_OF(WOLFSSL_CIPHER)* sk);
|
||||
WOLFSSL_API WOLFSSL_STACK* wolfSSL_sk_new_cipher(void);
|
||||
|
||||
#define OPENSSL_sk_free wolfSSL_sk_free
|
||||
#define OPENSSL_sk_pop_free wolfSSL_sk_pop_free
|
||||
#define OPENSSL_sk_new_null wolfSSL_sk_new_null
|
||||
#define OPENSSL_sk_push wolfSSL_sk_push
|
||||
|
||||
/* provides older OpenSSL API compatibility */
|
||||
#define sk_free OPENSSL_sk_free
|
||||
#define sk_pop_free OPENSSL_sk_pop_free
|
||||
#define sk_new_null OPENSSL_sk_new_null
|
||||
#define sk_push OPENSSL_sk_push
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
46
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/tls1.h
vendored
Normal file
46
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/tls1.h
vendored
Normal file
@ -0,0 +1,46 @@
|
||||
/* tls1.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
|
||||
#ifndef WOLFSSL_OPENSSL_TLS1_H_
|
||||
#define WOLFSSL_OPENSSL_TLS1_H_
|
||||
|
||||
#ifndef TLS1_VERSION
|
||||
#define TLS1_VERSION 0x0301
|
||||
#endif
|
||||
|
||||
#ifndef TLS1_1_VERSION
|
||||
#define TLS1_1_VERSION 0x0302
|
||||
#endif
|
||||
|
||||
#ifndef TLS1_2_VERSION
|
||||
#define TLS1_2_VERSION 0x0303
|
||||
#endif
|
||||
|
||||
#ifndef TLS1_3_VERSION
|
||||
#define TLS1_3_VERSION 0x0304
|
||||
#endif
|
||||
|
||||
#ifndef TLS_MAX_VERSION
|
||||
#define TLS_MAX_VERSION TLS1_3_VERSION
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_OPENSSL_TLS1_H_ */
|
||||
2
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ui.h
vendored
Normal file
2
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/ui.h
vendored
Normal file
@ -0,0 +1,2 @@
|
||||
/* ui.h for openssl */
|
||||
|
||||
26
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/x509.h
vendored
Normal file
26
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/x509.h
vendored
Normal file
@ -0,0 +1,26 @@
|
||||
/* x509.h for openssl */
|
||||
|
||||
#include <wolfssl/openssl/ssl.h>
|
||||
#include <wolfssl/openssl/crypto.h>
|
||||
#include <wolfssl/openssl/dh.h>
|
||||
#include <wolfssl/openssl/ec.h>
|
||||
#include <wolfssl/openssl/ecdsa.h>
|
||||
|
||||
/* wolfSSL_X509_print_ex flags */
|
||||
#define X509_FLAG_COMPAT (0UL)
|
||||
#define X509_FLAG_NO_HEADER (1UL << 0)
|
||||
#define X509_FLAG_NO_VERSION (1UL << 1)
|
||||
#define X509_FLAG_NO_SERIAL (1UL << 2)
|
||||
#define X509_FLAG_NO_SIGNAME (1UL << 3)
|
||||
#define X509_FLAG_NO_ISSUER (1UL << 4)
|
||||
#define X509_FLAG_NO_VALIDITY (1UL << 5)
|
||||
#define X509_FLAG_NO_SUBJECT (1UL << 6)
|
||||
#define X509_FLAG_NO_PUBKEY (1UL << 7)
|
||||
#define X509_FLAG_NO_EXTENSIONS (1UL << 8)
|
||||
#define X509_FLAG_NO_SIGDUMP (1UL << 9)
|
||||
#define X509_FLAG_NO_AUX (1UL << 10)
|
||||
#define X509_FLAG_NO_ATTRIBUTES (1UL << 11)
|
||||
#define X509_FLAG_NO_IDS (1UL << 12)
|
||||
|
||||
#define XN_FLAG_FN_SN 0
|
||||
#define XN_FLAG_SEP_CPLUS_SPC 2
|
||||
45
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/x509_vfy.h
vendored
Normal file
45
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/x509_vfy.h
vendored
Normal file
@ -0,0 +1,45 @@
|
||||
/* x509_vfy.h
|
||||
*
|
||||
* Copyright (C) 2006-2017 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* x509_vfy.h for openSSL */
|
||||
|
||||
#ifndef WOLFSSL_x509_vfy_H_
|
||||
#define WOLFSSL_x509_vfy_H_
|
||||
|
||||
#include <wolfssl/openssl/x509v3.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#if defined(WOLFSSL_QT) || defined(OPENSSL_ALL)
|
||||
WOLFSSL_API int wolfSSL_X509_STORE_CTX_set_purpose(WOLFSSL_X509_STORE_CTX *ctx, int purpose);
|
||||
#endif
|
||||
|
||||
#ifdef WOLFSSL_QT
|
||||
#define X509_STORE_CTX_set_purpose wolfSSL_X509_STORE_CTX_set_purpose
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
} /* extern "C" */
|
||||
#endif
|
||||
|
||||
#endif /* WOLFSSL_x509_vfy_H_ */
|
||||
120
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/x509v3.h
vendored
Normal file
120
kernel/FreeRTOS-Plus/ThirdParty/wolfSSL/wolfssl/openssl/x509v3.h
vendored
Normal file
@ -0,0 +1,120 @@
|
||||
/* x509v3.h
|
||||
*
|
||||
* Copyright (C) 2006-2020 wolfSSL Inc.
|
||||
*
|
||||
* This file is part of wolfSSL.
|
||||
*
|
||||
* wolfSSL is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation; either version 2 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* wolfSSL is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program; if not, write to the Free Software
|
||||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1335, USA
|
||||
*/
|
||||
|
||||
/* x509v3.h for openSSL */
|
||||
|
||||
#ifndef WOLFSSL_x509v3_H
|
||||
#define WOLFSSL_x509v3_H
|
||||
|
||||
#include <wolfssl/openssl/conf.h>
|
||||
#include <wolfssl/openssl/bio.h>
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
#define X509_PURPOSE_SSL_CLIENT 0
|
||||
#define X509_PURPOSE_SSL_SERVER 1
|
||||
|
||||
#define NS_SSL_CLIENT 0
|
||||
#define NS_SSL_SERVER 1
|
||||
|
||||
/* Forward reference */
|
||||
|
||||
typedef void *(*X509V3_EXT_D2I)(void *, const unsigned char **, long);
|
||||
typedef int (*X509V3_EXT_I2D) (void *, unsigned char **);
|
||||
typedef STACK_OF(CONF_VALUE) *(*X509V3_EXT_I2V) (
|
||||
struct WOLFSSL_v3_ext_method *method,
|
||||
void *ext, STACK_OF(CONF_VALUE) *extlist);
|
||||
typedef char *(*X509V3_EXT_I2S)(struct WOLFSSL_v3_ext_method *method, void *ext);
|
||||
typedef int (*X509V3_EXT_I2R) (struct WOLFSSL_v3_ext_method *method,
|
||||
void *ext, BIO *out, int indent);
|
||||
typedef struct WOLFSSL_v3_ext_method X509V3_EXT_METHOD;
|
||||
|
||||
struct WOLFSSL_v3_ext_method {
|
||||
int ext_nid;
|
||||
int ext_flags;
|
||||
void *usr_data;
|
||||
X509V3_EXT_D2I d2i;
|
||||
X509V3_EXT_I2D i2d;
|
||||
X509V3_EXT_I2V i2v;
|
||||
X509V3_EXT_I2S i2s;
|
||||
X509V3_EXT_I2R i2r;
|
||||
};
|
||||
|
||||
struct WOLFSSL_X509_EXTENSION {
|
||||
WOLFSSL_ASN1_OBJECT *obj;
|
||||
WOLFSSL_ASN1_BOOLEAN crit;
|
||||
ASN1_OCTET_STRING value; /* DER format of extension */
|
||||
WOLFSSL_v3_ext_method ext_method;
|
||||
WOLFSSL_STACK* ext_sk; /* For extension specific data */
|
||||
};
|
||||
|
||||
#define WOLFSSL_ASN1_BOOLEAN int
|
||||
#define GEN_OTHERNAME 0
|
||||
#define GEN_EMAIL 1
|
||||
#define GEN_DNS 2
|
||||
#define GEN_X400 3
|
||||
#define GEN_DIRNAME 4
|
||||
#define GEN_EDIPARTY 5
|
||||
#define GEN_URI 6
|
||||
#define GEN_IPADD 7
|
||||
#define GEN_RID 8
|
||||
|
||||
#define GENERAL_NAME WOLFSSL_GENERAL_NAME
|
||||
|
||||
#define X509V3_CTX WOLFSSL_X509V3_CTX
|
||||
|
||||
typedef struct WOLFSSL_AUTHORITY_KEYID AUTHORITY_KEYID;
|
||||
typedef struct WOLFSSL_BASIC_CONSTRAINTS BASIC_CONSTRAINTS;
|
||||
typedef struct WOLFSSL_ACCESS_DESCRIPTION ACCESS_DESCRIPTION;
|
||||
typedef WOLF_STACK_OF(WOLFSSL_ACCESS_DESCRIPTION) WOLFSSL_AUTHORITY_INFO_ACCESS;
|
||||
|
||||
WOLFSSL_API WOLFSSL_BASIC_CONSTRAINTS* wolfSSL_BASIC_CONSTRAINTS_new(void);
|
||||
WOLFSSL_API void wolfSSL_BASIC_CONSTRAINTS_free(WOLFSSL_BASIC_CONSTRAINTS *bc);
|
||||
WOLFSSL_API WOLFSSL_AUTHORITY_KEYID* wolfSSL_AUTHORITY_KEYID_new(void);
|
||||
WOLFSSL_API void wolfSSL_AUTHORITY_KEYID_free(WOLFSSL_AUTHORITY_KEYID *id);
|
||||
WOLFSSL_API const WOLFSSL_v3_ext_method* wolfSSL_X509V3_EXT_get(
|
||||
WOLFSSL_X509_EXTENSION* ex);
|
||||
WOLFSSL_API void* wolfSSL_X509V3_EXT_d2i(WOLFSSL_X509_EXTENSION* ex);
|
||||
WOLFSSL_API char* wolfSSL_i2s_ASN1_STRING(WOLFSSL_v3_ext_method *method,
|
||||
const WOLFSSL_ASN1_STRING *s);
|
||||
WOLFSSL_API int wolfSSL_X509V3_EXT_print(WOLFSSL_BIO *out,
|
||||
WOLFSSL_X509_EXTENSION *ext, unsigned long flag, int indent);
|
||||
|
||||
#define BASIC_CONSTRAINTS_free wolfSSL_BASIC_CONSTRAINTS_free
|
||||
#define AUTHORITY_KEYID_free wolfSSL_AUTHORITY_KEYID_free
|
||||
#define SSL_CTX_get_cert_store(x) wolfSSL_CTX_get_cert_store ((WOLFSSL_CTX*) (x))
|
||||
#define ASN1_INTEGER WOLFSSL_ASN1_INTEGER
|
||||
#define ASN1_OCTET_STRING WOLFSSL_ASN1_STRING
|
||||
#define X509V3_EXT_get wolfSSL_X509V3_EXT_get
|
||||
#define X509V3_EXT_d2i wolfSSL_X509V3_EXT_d2i
|
||||
#define i2s_ASN1_OCTET_STRING wolfSSL_i2s_ASN1_STRING
|
||||
#define X509V3_EXT_print wolfSSL_X509V3_EXT_print
|
||||
#define X509V3_EXT_conf_nid wolfSSL_X509V3_EXT_conf_nid
|
||||
#define X509V3_set_ctx wolfSSL_X509V3_set_ctx
|
||||
#define X509V3_set_ctx_nodb wolfSSL_X509V3_set_ctx_nodb
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user