mirror of
https://github.com/guanzhi/GmSSL.git
synced 2026-05-13 11:56:28 +08:00
Make AES optional and remove "Public API" from headers
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2014-2022 The GmSSL Project. All Rights Reserved.
|
||||
* Copyright 2014-2023 The GmSSL Project. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||
* not use this file except in compliance with the License.
|
||||
@@ -59,6 +59,7 @@ const BLOCK_CIPHER *BLOCK_CIPHER_sm4(void) {
|
||||
return &sm4_block_cipher_object;
|
||||
}
|
||||
|
||||
#ifdef ENABLE_AES
|
||||
static int aes128_set_encrypt_key(AES_KEY *aes_key, const uint8_t key[16]) {
|
||||
return aes_set_encrypt_key(aes_key, key, 16);
|
||||
}
|
||||
@@ -80,3 +81,4 @@ static const BLOCK_CIPHER aes128_block_cipher_object = {
|
||||
const BLOCK_CIPHER *BLOCK_CIPHER_aes128(void) {
|
||||
return &aes128_block_cipher_object;
|
||||
}
|
||||
#endif // ENABLE_AES
|
||||
|
||||
13
src/gcm.c
13
src/gcm.c
@@ -1,5 +1,5 @@
|
||||
/*
|
||||
* Copyright 2014-2022 The GmSSL Project. All Rights Reserved.
|
||||
* Copyright 2014-2023 The GmSSL Project. All Rights Reserved.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the License); you may
|
||||
* not use this file except in compliance with the License.
|
||||
@@ -17,7 +17,6 @@
|
||||
#include <gmssl/gcm.h>
|
||||
#include <gmssl/oid.h>
|
||||
#include <gmssl/error.h>
|
||||
#include <gmssl/aes.h>
|
||||
#include <gmssl/endian.h>
|
||||
|
||||
|
||||
@@ -178,11 +177,16 @@ int gcm_encrypt(const BLOCK_CIPHER_KEY *key, const uint8_t *iv, size_t ivlen,
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
#ifdef ENABLE_AES
|
||||
} else if (key->cipher == BLOCK_CIPHER_aes128()) {
|
||||
if (aes_gcm_encrypt(&(key->u.aes_key), iv, ivlen, aad, aadlen, in, inlen, out, taglen, tag) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
@@ -196,11 +200,16 @@ int gcm_decrypt(const BLOCK_CIPHER_KEY *key, const uint8_t *iv, size_t ivlen,
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
#ifdef ENABLE_AES
|
||||
} else if (key->cipher == BLOCK_CIPHER_aes128()) {
|
||||
if (aes_gcm_decrypt(&(key->u.aes_key), iv, ivlen, aad, aadlen, in, inlen, tag, taglen, out) != 1) {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
} else {
|
||||
error_print();
|
||||
return -1;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
|
||||
@@ -1299,10 +1299,12 @@ int tls13_cipher_suite_get(int cipher_suite, const DIGEST **digest, const BLOCK_
|
||||
*digest = DIGEST_sm3();
|
||||
*cipher = BLOCK_CIPHER_sm4();
|
||||
break;
|
||||
#if defined(ENABLE_AES) && defined(ENABLE_SHA2)
|
||||
case TLS_cipher_aes_128_gcm_sha256:
|
||||
*digest = DIGEST_sha256();
|
||||
*cipher = BLOCK_CIPHER_aes128();
|
||||
break;
|
||||
#endif
|
||||
default:
|
||||
error_print();
|
||||
return -1;
|
||||
|
||||
Reference in New Issue
Block a user