spacemonkeygo / openssl

OpenSSL bindings for Go
http://godoc.org/github.com/spacemonkeygo/openssl
Apache License 2.0
472 stars 237 forks source link

Are there plans to support OpenSSL 3.x when it becomes available? #135

Open ericejohnson opened 4 years ago

nathaniel-bennett commented 4 years ago

From the openssl.org official 3.0.0 design documentation:

The OpenSSL 3.0 release will have minimal impact to the vast majority of existing applications; almost all well-behaved applications will just need to be recompiled. The majority of the changes in OpenSSL 3.0 are internal architectural restructuring to facilitate a long-term supportable cryptographic framework that enables better separation of algorithm implementations from algorithm APIs.

Assuming that it is mostly the API used (and not the underlying architecture, which is subject to frequent change) for this project, the transition to support OpenSSL 3.0.0 should be relatively smooth :)

ericejohnson commented 4 years ago

When trying to compile against openssl-3.0.0-alpha6, I get these errors:

GOROOT=/usr/local/go #gosetup GOPATH=/home/eric/go #gosetup /usr/local/go/bin/go build -o /tmp/___lincoln -gcflags "all=-N -l" project/main #gosetup

project/vendor/github.com/spacemonkeygo/openssl

cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_ENGINE_by_id’: cgo-gcc-prolog:51:2: warning: ‘ENGINE_by_id’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/engine.h:15, from ../vendor/github.com/spacemonkeygo/openssl/engine.go:18: /home/eric/dev/openssl3.0-build/include/openssl/engine.h:327:26: note: declared here DEPRECATEDIN_3_0(ENGINE ENGINE_by_id(const char id)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/engine.h:327:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(ENGINE ENGINE_by_id(const char id)) ^~~~ cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_ENGINE_finish’: cgo-gcc-prolog:70:2: warning: ‘ENGINE_finish’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/engine.h:15, from ../vendor/github.com/spacemonkeygo/openssl/engine.go:18: /home/eric/dev/openssl3.0-build/include/openssl/engine.h:588:22: note: declared here DEPRECATEDIN_3_0(int ENGINE_finish(ENGINE *e)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/engine.h:588:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int ENGINE_finish(ENGINE e)) ^~~~ cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_ENGINE_free’: cgo-gcc-prolog:89:2: warning: ‘ENGINE_free’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/engine.h:15, from ../vendor/github.com/spacemonkeygo/openssl/engine.go:18: /home/eric/dev/openssl3.0-build/include/openssl/engine.h:474:22: note: declared here DEPRECATEDIN_3_0(int ENGINE_free(ENGINE e)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/engine.h:474:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int ENGINE_free(ENGINE e)) ^~~~ cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_ENGINE_init’: cgo-gcc-prolog:108:2: warning: ‘ENGINE_init’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/engine.h:15, from ../vendor/github.com/spacemonkeygo/openssl/engine.go:18: /home/eric/dev/openssl3.0-build/include/openssl/engine.h:582:22: note: declared here DEPRECATEDIN_3_0(int ENGINE_init(ENGINE e)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/engine.h:582:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int ENGINE_init(ENGINE *e)) ^~~~

project/vendor/github.com/spacemonkeygo/openssl

cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_ERR_func_error_string’: cgo-gcc-prolog:51:2: warning: ‘ERR_func_error_string’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/bio.h:14, from ../vendor/github.com/spacemonkeygo/openssl/shim.h:21, from ../vendor/github.com/spacemonkeygo/openssl/init.go:87: /home/eric/dev/openssl3.0-build/include/openssl/err.h:412:30: note: declared here DEPRECATEDIN_3_0(const char *ERR_func_error_string(unsigned long e)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/err.h:412:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(const char *ERR_func_error_string(unsigned long e)) ^~~~

project/vendor/github.com/spacemonkeygo/openssl

cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_RSA_generate_key’: cgo-gcc-prolog:253:2: warning: ‘RSA_generate_key’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/bio.h:14, from ../vendor/github.com/spacemonkeygo/openssl/shim.h:21, from ../vendor/github.com/spacemonkeygo/openssl/key.go:17: /home/eric/dev/openssl3.0-build/include/openssl/rsa.h:244:25: note: declared here DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/rsa.h:244:1: note: in expansion of macro ‘DEPRECATEDIN_0_9_8’ DEPRECATEDIN_0_9_8(RSA *RSA_generate_key(int bits, unsigned long e, void ^~~~~~

project/vendor/github.com/spacemonkeygo/openssl

cgo-gcc-prolog: In function ‘_cgo_69fd816ec320_Cfunc_HMAC_Init_ex’: cgo-gcc-prolog:57:2: warning: ‘HMAC_Init_ex’ is deprecated [-Wdeprecated-declarations] In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/bio.h:14, from ../vendor/github.com/spacemonkeygo/openssl/shim.h:21, from ../vendor/github.com/spacemonkeygo/openssl/tickets.go:17: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:39:22: note: declared here DEPRECATEDIN_3_0(int HMAC_Init_ex(HMAC_CTX ctx, const void key, int len, ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:39:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int HMAC_Init_ex(HMAC_CTX ctx, const void key, int len, ^~~~

project/vendor/github.com/spacemonkeygo/openssl

shim.c: In function ‘X_HMAC_CTX_new’: shim.c:152:2: warning: ‘HMAC_CTX_new’ is deprecated [-Wdeprecated-declarations] return HMAC_CTX_new(); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:32:28: note: declared here DEPRECATEDIN_3_0(HMAC_CTX *HMAC_CTX_new(void)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:32:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(HMAC_CTX HMAC_CTX_new(void)) ^~~~ shim.c: In function ‘X_HMAC_CTX_free’: shim.c:156:2: warning: ‘HMAC_CTX_free’ is deprecated [-Wdeprecated-declarations] HMAC_CTX_free(ctx); ^~~~~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:34:23: note: declared here DEPRECATEDIN_3_0(void HMAC_CTX_free(HMAC_CTX ctx)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:34:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(void HMAC_CTX_free(HMAC_CTX ctx)) ^~~~ shim.c: In function ‘X_shim_init’: shim.c:322:2: warning: ‘OPENSSL_config’ is deprecated [-Wdeprecated-declarations] OPENSSL_config(NULL); ^~~~~~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/conf.h:98:25: note: declared here DEPRECATEDIN_1_1_0(void OPENSSL_config(const char config_name)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/conf.h:98:1: note: in expansion of macro ‘DEPRECATEDIN_1_1_0’ DEPRECATEDIN_1_1_0(void OPENSSL_config(const char *config_name)) ^~~~~~ shim.c:323:2: warning: ‘ENGINE_load_builtin_engines’ is deprecated [-Wdeprecated-declarations] ENGINE_load_builtin_engines(); ^~~~~~~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/engine.h:347:23: note: declared here DEPRECATEDIN_3_0(void ENGINE_load_builtin_engines(void)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/engine.h:347:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(void ENGINE_load_builtin_engines(void)) ^~~~ shim.c: In function ‘X_TLSv1_method’: shim.c:400:2: warning: ‘TLSv1_method’ is deprecated [-Wdeprecated-declarations] return TLSv1_method(); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/ssl.h:1924:45: note: declared here DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_method(void)) / TLSv1.0 */ ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/ssl.h:1924:1: note: in expansion of macro ‘DEPRECATEDIN_1_1_0’ DEPRECATEDIN_1_1_0(owur const SSL_METHOD TLSv1_method(void)) / TLSv1.0 */ ^~~~~~ shim.c: In function ‘X_TLSv1_1_method’: shim.c:405:2: warning: ‘TLSv1_1_method’ is deprecated [-Wdeprecated-declarations] return TLSv1_1_method(); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/ssl.h:1930:45: note: declared here DEPRECATEDIN_1_1_0(owur const SSL_METHOD TLSv1_1_method(void)) / TLSv1.1 */ ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/ssl.h:1930:1: note: in expansion of macro ‘DEPRECATEDIN_1_1_0’ DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_1_method(void)) / TLSv1.1 / ^~~~~~ shim.c: In function ‘X_TLSv1_2_method’: shim.c:413:2: warning: ‘TLSv1_2_method’ is deprecated [-Wdeprecated-declarations] return TLSv1_2_method(); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/ssl.h:1936:45: note: declared here DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_2_method(void)) / TLSv1.2 / ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/ssl.h:1936:1: note: in expansion of macro ‘DEPRECATEDIN_1_1_0’ DEPRECATEDIN_1_1_0(__owur const SSL_METHOD TLSv1_2_method(void)) / TLSv1.2 / ^~~~~~ shim.c: In function ‘X_HMAC_size’: shim.c:676:2: warning: ‘HMAC_size’ is deprecated [-Wdeprecated-declarations] return HMAC_size(e); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:31:25: note: declared here DEPRECATEDIN_3_0(size_t HMAC_size(const HMAC_CTX e)) ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:31:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(size_t HMAC_size(const HMAC_CTX e)) ^~~~ shim.c: In function ‘X_HMAC_Init_ex’: shim.c:680:2: warning: ‘HMAC_Init_ex’ is deprecated [-Wdeprecated-declarations] return HMAC_Init_ex(ctx, key, len, md, impl); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:39:22: note: declared here DEPRECATEDIN_3_0(int HMAC_Init_ex(HMAC_CTX ctx, const void *key, int len, ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:39:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int HMAC_Init_ex(HMAC_CTX ctx, const void key, int len, ^~~~ shim.c: In function ‘X_HMAC_Update’: shim.c:684:2: warning: ‘HMAC_Update’ is deprecated [-Wdeprecated-declarations] return HMAC_Update(ctx, data, len); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:41:22: note: declared here DEPRECATEDIN_3_0(int HMAC_Update(HMAC_CTX ctx, const unsigned char data, ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:41:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int HMAC_Update(HMAC_CTX ctx, const unsigned char data, ^~~~ shim.c: In function ‘X_HMAC_Final’: shim.c:688:2: warning: ‘HMAC_Final’ is deprecated [-Wdeprecated-declarations] return HMAC_Final(ctx, md, len); ^~ In file included from /home/eric/dev/openssl3.0-build/include/openssl/opensslv.h:109:0, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:11, from /home/eric/dev/openssl3.0-build/include/openssl/opensslconf.h:14, from /home/eric/dev/openssl3.0-build/include/openssl/macros.h:10, from /home/eric/dev/openssl3.0-build/include/openssl/conf.h:14, from shim.c:20: /home/eric/dev/openssl3.0-build/include/openssl/hmac.h:43:22: note: declared here DEPRECATEDIN_3_0(int HMAC_Final(HMAC_CTX ctx, unsigned char md, ^ /home/eric/dev/openssl3.0-build/include/openssl/macros.h:38:39: note: in definition of macro ‘DECLARE_DEPRECATED’

define DECLARE_DEPRECATED(f) f attribute ((deprecated));

                                   ^

/home/eric/dev/openssl3.0-build/include/openssl/hmac.h:43:1: note: in expansion of macro ‘DEPRECATEDIN_3_0’ DEPRECATEDIN_3_0(int HMAC_Final(HMAC_CTX ctx, unsigned char md, ^~~~

project/utils

../utils/openssl_utils.go: In function 'get_revoked_entry_serialnumber': ../utils/openssl_utils.go:30:42: error: dereferencing pointer to incomplete type 'X509_REVOKED {aka struct x509_revoked_st}' BIGNUM *bnser = ASN1_INTEGER_to_BN(entry->serialNumber, NULL); ^~

Compilation finished with exit code 2