mirror of
https://github.com/SoftEtherVPN/SoftEtherVPN.git
synced 2025-09-22 19:29:21 +03:00
Add support for HMAC SHA2-256, HMAC SHA2-384, HMAC SHA2-512
This commit is contained in:
@ -141,8 +141,16 @@ void RAND_Free_For_SoftEther();
|
||||
#define AES_IV_SIZE 16 // AES IV size
|
||||
#define AES_MAX_KEY_SIZE 32 // Maximum AES key size
|
||||
|
||||
// IANA definitions taken from IKEv1 Phase 1. For internal use only
|
||||
#define _SHA1_160 2
|
||||
#define _SHA2_256 4
|
||||
#define _SHA2_384 5
|
||||
#define _SHA2_512 6
|
||||
|
||||
// HMAC block size
|
||||
#define HMAC_BLOCK_SIZE 64
|
||||
// The block size for sha-384 and sha-512 as defined by rfc4868
|
||||
#define HMAC_BLOCK_SIZE_1024 128
|
||||
|
||||
#define DH_GROUP1_PRIME_768 \
|
||||
"FFFFFFFFFFFFFFFFC90FDAA22168C234C4C6628B80DC1CD1" \
|
||||
@ -294,6 +302,8 @@ struct X_CRL
|
||||
#define MD5_SIZE 16
|
||||
#define SHA1_SIZE 20
|
||||
#define SHA256_SIZE 32
|
||||
#define SHA384_SIZE 48
|
||||
#define SHA512_SIZE 64
|
||||
|
||||
// Key element of DES
|
||||
struct DES_KEY_VALUE
|
||||
@ -559,7 +569,11 @@ void MdProcess(MD *md, void *dest, void *src, UINT size);
|
||||
void Enc_tls1_PRF(unsigned char *label, int label_len, const unsigned char *sec,
|
||||
int slen, unsigned char *out1, int olen);
|
||||
|
||||
void HMacSha(UINT sha_type, void *dst, void *key, UINT key_size, void *data, UINT data_size);
|
||||
void HMacSha1(void *dst, void *key, UINT key_size, void *data, UINT data_size);
|
||||
void HMacSha2_256(void *dst, void *key, UINT key_size, void *data, UINT data_size);
|
||||
void HMacSha2_384(void *dst, void *key, UINT key_size, void *data, UINT data_size);
|
||||
void HMacSha2_512(void *dst, void *key, UINT key_size, void *data, UINT data_size);
|
||||
void HMacMd5(void *dst, void *key, UINT key_size, void *data, UINT data_size);
|
||||
|
||||
BUF *EasyEncrypt(BUF *src_buf);
|
||||
|
Reference in New Issue
Block a user