Skip to content

Commit 7400bf3

Browse files
authored
Merge pull request #47 from SparkiDev/pk_11
Redo PK implementation
2 parents acb3a64 + 935260d commit 7400bf3

6 files changed

Lines changed: 2280 additions & 6074 deletions

File tree

setup.sh

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -65,7 +65,7 @@ if [ $FIPS_MODE -eq 1 ]; then
6565

6666
cd fips-v5-checkout
6767

68-
./configure --prefix=$WOLFSSL_INSTALL/ CC=clang --enable-cmac --enable-aesccm --enable-aescfb --enable-keygen 'CFLAGS=-DWOLFSSL_PUBLIC_ASN -DHAVE_PUBLIC_FFDHE -DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096 -DWOLFSSL_DH_EXTRA -DWOLFSSL_PSS_SALT_LEN_DISCOVER -DWOLFSSL_PUBLIC_MP -DWOLFSSL_RSA_KEY_CHECK' --enable-fips=v5
68+
./configure --prefix=$WOLFSSL_INSTALL/ CC=clang --enable-cmac --enable-aesccm --enable-aescfb --enable-keygen 'CFLAGS=-DWOLFSSL_PUBLIC_ASN -DHAVE_PUBLIC_FFDHE -DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096 -DWOLFSSL_DH_EXTRA -DWOLFSSL_PSS_SALT_LEN_DISCOVER -DWOLFSSL_PUBLIC_MP -DWOLFSSL_RSA_KEY_CHECK -DWOLFSSL_ECDSA_DETERMINISTIC_K' --enable-fips=v5
6969

7070
make
7171

@@ -89,7 +89,7 @@ else
8989
cd ./wolfssl
9090
./autogen.sh
9191

92-
./configure --prefix=$WOLFSSL_INSTALL/ CC=clang --enable-cmac --enable-ed25519 --enable-ed448 --enable-curve25519 --enable-curve448 --enable-aesccm --enable-aesxts --enable-aescfb --enable-keygen --enable-shake128 --enable-shake256 'CFLAGS=-DWOLFSSL_PUBLIC_ASN -DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096 -DWOLFSSL_DH_EXTRA -DWOLFSSL_PSS_SALT_LEN_DISCOVER -DWOLFSSL_PUBLIC_MP -DWOLFSSL_RSA_KEY_CHECK'
92+
./configure --prefix=$WOLFSSL_INSTALL/ CC=clang --enable-cmac --with-eccminsz=192 --enable-ed25519 --enable-ed448 --enable-curve25519 --enable-curve448 --enable-aesccm --enable-aesxts --enable-aescfb --enable-keygen --enable-shake128 --enable-shake256 'CFLAGS=-DWOLFSSL_PUBLIC_ASN -DHAVE_FFDHE_3072 -DHAVE_FFDHE_4096 -DWOLFSSL_DH_EXTRA -DWOLFSSL_PSS_SALT_LEN_DISCOVER -DWOLFSSL_PUBLIC_MP -DWOLFSSL_RSA_KEY_CHECK -DHAVE_FFDHE_Q -DHAVE_FFDHE_6144 -DHAVE_FFDHE_8192 -DWOLFSSL_ECDSA_DETERMINISTIC_K -DWOLFSSL_VALIDATE_ECC_IMPORT -DRSA_MIN_SIZE=1024'
9393

9494
make
9595
sudo make install

wolfssl-gnutls-wrapper/Makefile

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,15 @@ INCLUDES = -I/opt/gnutls/include/ -I/opt/wolfssl/include/
44
UNAME_S := $(shell uname -s)
55

66
ifeq ($(UNAME_S),Linux)
7-
CFLAGS = -DENABLE_WOLFSSL -fPIC -Wall -Wextra -Werror
8-
CFLAGS_DEBUG = -DENABLE_WOLFSSL -fPIC -Wall -Wextra -Werror -g
7+
CFLAGS = -DENABLE_WOLFSSL -fPIC -Wall -Wextra -Werror
8+
CFLAGS_DEBUG = -DENABLE_WOLFSSL -fPIC -Wall -Wextra -Werror -g
99
LDFLAGS = -shared -L/opt/gnutls/lib -L/opt/wolfssl/lib -Wl,-rpath,/opt/wolfssl/lib -Wl,--no-as-needed -Wl,-z,now
1010
endif
1111

1212
ifeq ($(UNAME_S),Darwin)
1313
CC = clang
14-
CFLAGS = -DENABLE_WOLFSSL -fPIC -Wall -Wextra
15-
CFLAGS_DEBUG = -DENABLE_WOLFSSL -fPIC -Wall -Wextra -g
14+
CFLAGS = -DENABLE_WOLFSSL -fPIC -Wall -Wextra
15+
CFLAGS_DEBUG = -DENABLE_WOLFSSL -fPIC -Wall -Wextra -g
1616
LDFLAGS = -shared -L/opt/gnutls/lib -L/opt/wolfssl/lib -Wl,-rpath,/opt/wolfssl/lib
1717
endif
1818

wolfssl-gnutls-wrapper/src/gnutls_compat.h

Lines changed: 8 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -369,37 +369,6 @@ typedef enum {
369369

370370
/* Public key algorithms */
371371
typedef struct gnutls_crypto_pk {
372-
gnutls_pk_get_bits_func get_bits;
373-
gnutls_pk_get_spki_func get_spki;
374-
gnutls_pk_set_spki_func set_spki;
375-
gnutls_pk_generate_func generate_backend;
376-
gnutls_pk_import_pubkey_func import_pubkey_backend;
377-
gnutls_pk_export_pubkey_func export_pubkey_backend;
378-
gnutls_pk_export_privkey_x509_func export_privkey_x509_backend;
379-
gnutls_pk_export_pubkey_x509_func export_pubkey_x509_backend;
380-
gnutls_pk_import_privkey_x509_func import_privkey_x509_backend;
381-
gnutls_pk_verify_privkey_params_func verify_privkey_params_backend;
382-
gnutls_pk_verify_pubkey_params_func verify_pubkey_params_backend;
383-
gnutls_pk_pubkey_encrypt_func pubkey_encrypt_backend;
384-
gnutls_pk_privkey_decrypt_func privkey_decrypt_backend;
385-
gnutls_pk_import_pubkey_x509_func import_pubkey_x509_backend;
386-
gnutls_pk_import_privkey_url_func import_privkey_url_backend;
387-
gnutls_pk_import_pubkey_url_func import_pubkey_url_backend;
388-
gnutls_pk_sign_func sign_backend;
389-
gnutls_pk_verify_func verify_backend;
390-
gnutls_pk_sign_hash_func sign_hash_backend;
391-
gnutls_pk_verify_hash_func verify_hash_backend;
392-
gnutls_pk_derive_shared_secret_func derive_shared_secret_backend;
393-
gnutls_pk_import_rsa_raw_func import_rsa_raw_backend;
394-
gnutls_pk_export_rsa_raw_func export_rsa_raw_backend;
395-
gnutls_pk_privkey_export_dh_raw_func privkey_export_dh_raw_backend;
396-
gnutls_pk_pubkey_export_dh_raw_func pubkey_export_dh_raw_backend;
397-
gnutls_pk_privkey_import_ecdh_raw_func privkey_import_ecdh_raw_backend;
398-
gnutls_pk_pubkey_import_ecdh_raw_func pubkey_import_ecdh_raw_backend;
399-
gnutls_pk_privkey_export_ecdh_raw_func privkey_export_ecdh_raw_backend;
400-
gnutls_pk_pubkey_export_ecdh_raw_func pubkey_export_ecdh_raw_backend;
401-
gnutls_pk_copy_func copy_backend;
402-
gnutls_pk_deinit_func deinit_backend;
403372
/* The params structure should contain the private or public key
404373
* parameters, depending on the operation */
405374
int (*encrypt)(gnutls_pk_algorithm_t, gnutls_datum_t *ciphertext,
@@ -513,3 +482,11 @@ int gnutls_crypto_single_pk_register(gnutls_pk_algorithm_t algorithm,
513482
int free_s);
514483

515484
extern int _gnutls_config_is_rsa_pkcs1_encrypt_allowed(void);
485+
486+
extern int _gnutls_mpi_init_scan(bigint_t *ret_mpi, const void *buffer,
487+
size_t nbytes);
488+
extern void _gnutls_mpi_zrelease(bigint_t *x);
489+
extern int _gnutls_mpi_dprint(const bigint_t a, gnutls_datum_t *dest);
490+
491+
extern int _gnutls_have_lib_error(void);
492+

0 commit comments

Comments
 (0)