Changing version of OpenSSL for an already configured build system

Compilation and installation of DCMTK

Moderator: Moderator Team

Post Reply
Message
Author
thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Changing version of OpenSSL for an already configured build system

#1 Post by thomb »

Hi All,
I have already configured and created the build system for DCMTK 3.6.8.
I now have to switch to a different version of OpenSSL and wonder what I need to do with CMake on Windows to make this work.
Do I just start cmake gui and hit the configure button again or do I need to change the build directory to get that to happen?
Thanks.

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#2 Post by thomb »

I was able to regenerate the build system to a new directory.
However, build failed using the 3.0.8 version of OpenSSL.
Three failed builds.
dcmdsig:
16:34:48:290 19>C:\repos\mmi-director-dcmtk-3.6.8\dcmtk-3.6.8\dcmsign\libsrc\sitstamp.cc(1342,5): error C2027: use of undefined type 'TS_verify_ctx'
16:34:48:290 19>C:\repos\mmi-director-dcmtk-3.6.8\openssl-3.0.8\include\openssl\ts.h(405,16):
16:34:48:290 19>see declaration of 'TS_verify_ctx'

dcmpstat:
16:36:48:689 34>C:\repos\mmi-director-dcmtk-3.6.8\openssl-3.0.8\include\openssl\types.h(104,30): error C2371: 'EVP_MD_CTX': redefinition; different basic types
16:36:48:753 34>(compiling source file '../../../dcmtk-3.6.8/dcmpstat/libsrc/dvsighdl.cc')
16:36:48:753 34>C:\repos\mmi-director-dcmtk-3.6.8\dcmtk-3.6.8\dcmsign\include\dcmtk\dcmsign\simdmac.h(39,30):
16:36:48:753 34>see declaration of 'EVP_MD_CTX'

dcmtls:
16:35:16:392 26>C:\repos\mmi-director-dcmtk-3.6.8\dcmtk-3.6.8\dcmtls\libsrc\tlsciphr.cc(238,32): error C2027: use of undefined type 'ssl_ctx_st'
16:35:16:392 26>C:\repos\mmi-director-dcmtk-3.6.8\dcmtk-3.6.8\dcmtls\include\dcmtk\dcmtls\tlslayer.h(37,8):
16:35:16:392 26>see declaration of 'ssl_ctx_st'

The INSTALL file for 3.6.5 says it should work with 3.0.8 version of OpenSSL. I believe it but something is not right.

Any suggestions?

J. Riesmeier
DCMTK Developer
Posts: 2524
Joined: Tue, 2011-05-03, 14:38
Location: Oldenburg, Germany
Contact:

Re: Changing version of OpenSSL for an already configured build system

#3 Post by J. Riesmeier »

I would suggest that you delete the CMake cache before you re-configure, because during this process various features of the selected OpenSSL version are checked.

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#4 Post by thomb »

Thanks. I had created a new build directory from scratch so there was no cache file there.
Those errors mentioned were with the version of OpenSSL I built and no cache file.

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#5 Post by thomb »

Looks like it's defined in
openssl/crypto/ts/ts_local.h:struct TS_verify_ctx {

That file isn't in the installed include directory produced by OpenSSL `nmake install`.
That's seems strange since it's needed by their ts.h file.

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#6 Post by thomb »

ts_local.h should not be included so there is a problem with how CMake configured the build system based on the info provided by the OpenSSL devs shown below.
On 28/06/2024 16:29, BENTLEY Thom via openssl-users wrote:
> Thanks. Yes, I saw that they became opaque.
> The code I’m building works fine with 1.1.1w but we need to move to
> 3.0.8 at least.
> Here are the errors I see.
>
> dcmdsig:
> 16:34:48:290
> 19>C:\repos\mmi-director-dcmtk-3.6.8\dcmtk-3.6.8\dcmsign\libsrc\sitstamp.cc(1342,5): error C2027: use of undefined type 'TS_verify_ctx'
> 16:34:48:290
> 19>C:\repos\mmi-director-dcmtk-3.6.8\openssl-3.0.8\include\openssl\ts.h(405,16):
> 16:34:48:290 19>see declaration of 'TS_verify_ctx'


It looks to me like DCMTK needs updating to use OpenSSL 3.x

This particular error occurs because line 1342 of sitstamp.cc looks like
this:

TS_VERIFY_CTS_set_certs(ctx, NULL);

Earlier on in that file we see this:

#ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS
#define TS_VERIFY_CTS_set_certs(x,y) ((x)->certs = (y))
#endif

So if HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS isn't defined then
it will attempt to look inside the TS_VERIFY_CTX structure - which is
not allowed from 1.1.1 onwards because it is opaque.

My guess is the setting of
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS is going wrong with
OpenSSL 3.X

It seems to get defined by Cmake/dcmtkPrepare.cmake:

CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)"
"openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS)

Indeed that function header does *not* exist in 3.x because it is
instead a macro:

# ifndef OPENSSL_NO_DEPRECATED_3_0
# define TS_VERIFY_CTS_set_certs(ctx, cert)
TS_VERIFY_CTX_set_certs(ctx,cert)
# endif

In 1.1.1 this was a full C function so the cmake detection would have
worked correctly there.
I have only included the following directories from the 3.0.8 build of OpenSSL:
include, lib, bin. Are there others that would allow CMake to configure and generate the build system correctly?

Thanks

Marco Eichelberg
OFFIS DICOM Team
OFFIS DICOM Team
Posts: 1473
Joined: Tue, 2004-11-02, 17:22
Location: Oldenburg, Germany
Contact:

Re: Changing version of OpenSSL for an already configured build system

#7 Post by Marco Eichelberg »

The header and library files should be sufficient for DCMTK's configure tests. Make sure to create a new build directory
since DCMTK will not notice that some header files have changed and some configure tests now may have different outcome.
This has been tested and works with DCMTK 3.6.8 and OpenSSL 3.0.x.

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#8 Post by thomb »

I have created a new build directory as stated before.
It seems that the CMake configuration isn't really doing the right thing.
I worked with the OpenSSL folks to confirm that this is true
The HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS is a macro that checks for the existence of the TS_VERIFY_CTS_set_certs function in OpenSSL. This function is used to set the server’s certificate chain when verifying a TimeStampToken (TST).
However, starting from OpenSSL 3.0.0, the correct spelling of the function is TS_VERIFY_CTX_set_certs, and the misspelled version TS_VERIFY_CTS_set_certs has been retained for compatibility reasons, but it is deprecated.
This could potentially cause issues if DCMTK 3.6.8 is not properly configured to handle this change in OpenSSL 3.0.8.
The OpenSSL dev says the following:
Yes, they should search for TS_VERIFY_CTX_set_certs or
TS_VERIFY_CTX_set_flags (that would work for 1.1.1 as well).

Tomas Mraz, OpenSSL

Another response:
> It looks to me like DCMTK needs updating to use OpenSSL 3.x
>
> This particular error occurs because line 1342 of sitstamp.cc looks
> like
> this:
>
> TS_VERIFY_CTS_set_certs(ctx, NULL);
>
> Earlier on in that file we see this:
>
> #ifndef HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS
> #define TS_VERIFY_CTS_set_certs(x,y) ((x)->certs = (y))
> #endif
>
> So if HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS isn't defined
> then
> it will attempt to look inside the TS_VERIFY_CTX structure - which is
> not allowed from 1.1.1 onwards because it is opaque.
>
> My guess is the setting of
> HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS is going wrong with
> OpenSSL 3.X
>
> It seems to get defined by Cmake/dcmtkPrepare.cmake:
>
> CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)"
> "openssl/ts.h" HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS)
>
> Indeed that function header does *not* exist in 3.x because it is
> instead a macro:
>
> # ifndef OPENSSL_NO_DEPRECATED_3_0
> # define TS_VERIFY_CTS_set_certs(ctx, cert)
> TS_VERIFY_CTX_set_certs(ctx,cert)
> # endif
>
> In 1.1.1 this was a full C function so the cmake detection would have
> worked correctly there.
>
> Matt

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#9 Post by thomb »

Here is what I see in the CMakeCache.txt file generated for the new build system directory.

Code: Select all

//Configure DCMTK with support for OPENSSL.
DCMTK_WITH_OPENSSL:BOOL=ON
WITH_OPENSSLINC:PATH=C:/repos/mmi-director-dcmtk-3.6.8/openssl-3.0.8
HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX:INTERNAL=
//Have symbol ASN1_STRING_get0_data
HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA:INTERNAL=
//Have symbol DH_bits
HAVE_OPENSSL_PROTOTYPE_DH_BITS:INTERNAL=
//Have symbol EVP_PKEY_base_id
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID:INTERNAL=
//Have symbol EVP_PKEY_get0_EC_KEY
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY:INTERNAL=
//Have symbol EVP_PKEY_get_group_name
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME:INTERNAL=
//Have symbol EVP_PKEY_id
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID:INTERNAL=
//Have symbol EVP_PKEY_RSA_PSS
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS:INTERNAL=
//Have symbol NID_dsa_with_SHA512
HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512:INTERNAL=
//Have symbol NID_ecdsa_with_SHA3_256
HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256:INTERNAL=
//Have symbol NID_sha512_256WithRSAEncryption
HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION:INTERNAL=
//Have symbol OSSL_PROVIDER_load
HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD:INTERNAL=
//Have symbol RAND_egd
HAVE_OPENSSL_PROTOTYPE_RAND_EGD:INTERNAL=
//Have symbol SSL_CTX_get0_param
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM:INTERNAL=
//Have symbol SSL_CTX_get_cert_store
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE:INTERNAL=
//Have symbol SSL_CTX_get_ciphers
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS:INTERNAL=
//Have symbol SSL_CTX_set0_tmp_dh_pkey
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY:INTERNAL=
//Have symbol SSL_CTX_set1_curves(0,0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES:INTERNAL=
//Have symbol SSL_CTX_set1_sigalgs
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS:INTERNAL=
//Have symbol SSL_CTX_set_ecdh_auto(0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO:INTERNAL=
//Have symbol SSL_CTX_set_max_proto_version(0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION:INTERNAL=
//Have symbol SSL_CTX_set_security_level
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL:INTERNAL=
//Have symbol SSL_ERROR_WANT_ASYNC
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC:INTERNAL=
//Have symbol SSL_ERROR_WANT_ASYNC_JOB
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB:INTERNAL=
//Have symbol SSL_ERROR_WANT_CLIENT_HELLO_CB
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB:INTERNAL=
//Have symbol TLS1_3_RFC_AES_128_CCM_8_SHA256
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256:INTERNAL=
//Have symbol TLS1_3_RFC_AES_256_GCM_SHA384
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384:INTERNAL=
//Have symbol TLS1_3_RFC_CHACHA20_POLY1305_SHA256
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305:INTERNAL=
//Have symbol TLS_method
HAVE_OPENSSL_PROTOTYPE_TLS_METHOD:INTERNAL=
//Have symbol TS_STATUS_INFO_get0_failure_info
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO:INTERNAL=
//Have symbol TS_STATUS_INFO_get0_status
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS:INTERNAL=
//Have symbol TS_STATUS_INFO_get0_text
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_certs(0,0)
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_data
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_flags
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_store
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE:INTERNAL=
//Have symbol X509_get0_notAfter
HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER:INTERNAL=
//Have symbol X509_get0_notBefore
HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE:INTERNAL=
//Have symbol X509_get_signature_nid
HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID:INTERNAL=
//Have symbol X509_STORE_CTX_get0_cert
HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT:INTERNAL=
//Have symbol X509_STORE_get0_param
HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM:INTERNAL=
//Have include openssl/provider.h
HAVE_OPENSSL_PROVIDER_H:INTERNAL=
//Have symbol const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)
HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM:INTERNAL=
None of the values are set. I would have expected them to have many set to "true"

That cache file is after I changed
CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTS_set_certs(0,0)" "openssl/ts.h"
TO
CHECK_FUNCTIONWITHHEADER_EXISTS("TS_VERIFY_CTX_set_certs(0,0)" "openssl/ts.h"
IN dcmtk-3.6.8/CMake/dcmtkPrepare.cmake

Here is what is seen without that change in a different build system directory.

Code: Select all

//Configure DCMTK with support for OPENSSL.
DCMTK_WITH_OPENSSL:BOOL=ON
WITH_OPENSSLINC:PATH=C:/repos/mmi-director-dcmtk-3.6.8/openssl-3.0.8
HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX:INTERNAL=
//Have symbol ASN1_STRING_get0_data
HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA:INTERNAL=
//Have symbol DH_bits
HAVE_OPENSSL_PROTOTYPE_DH_BITS:INTERNAL=
//Have symbol EVP_PKEY_base_id
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID:INTERNAL=
//Have symbol EVP_PKEY_get0_EC_KEY
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY:INTERNAL=
//Have symbol EVP_PKEY_get_group_name
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME:INTERNAL=
//Have symbol EVP_PKEY_id
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID:INTERNAL=
//Have symbol EVP_PKEY_RSA_PSS
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS:INTERNAL=
//Have symbol NID_dsa_with_SHA512
HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512:INTERNAL=
//Have symbol NID_ecdsa_with_SHA3_256
HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256:INTERNAL=
//Have symbol NID_sha512_256WithRSAEncryption
HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION:INTERNAL=
//Have symbol OSSL_PROVIDER_load
HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD:INTERNAL=
//Have symbol RAND_egd
HAVE_OPENSSL_PROTOTYPE_RAND_EGD:INTERNAL=
//Have symbol SSL_CTX_get0_param
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM:INTERNAL=
//Have symbol SSL_CTX_get_cert_store
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE:INTERNAL=
//Have symbol SSL_CTX_get_ciphers
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS:INTERNAL=
//Have symbol SSL_CTX_set0_tmp_dh_pkey
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY:INTERNAL=
//Have symbol SSL_CTX_set1_curves(0,0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES:INTERNAL=
//Have symbol SSL_CTX_set1_sigalgs
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS:INTERNAL=
//Have symbol SSL_CTX_set_ecdh_auto(0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO:INTERNAL=
//Have symbol SSL_CTX_set_max_proto_version(0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION:INTERNAL=
//Have symbol SSL_CTX_set_security_level
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL:INTERNAL=
//Have symbol SSL_ERROR_WANT_ASYNC
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC:INTERNAL=
//Have symbol SSL_ERROR_WANT_ASYNC_JOB
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB:INTERNAL=
//Have symbol SSL_ERROR_WANT_CLIENT_HELLO_CB
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB:INTERNAL=
//Have symbol TLS1_3_RFC_AES_128_CCM_8_SHA256
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256:INTERNAL=
//Have symbol TLS1_3_RFC_AES_256_GCM_SHA384
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384:INTERNAL=
//Have symbol TLS1_3_RFC_CHACHA20_POLY1305_SHA256
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305:INTERNAL=
//Have symbol TLS_method
HAVE_OPENSSL_PROTOTYPE_TLS_METHOD:INTERNAL=
//Have symbol TS_STATUS_INFO_get0_failure_info
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO:INTERNAL=
//Have symbol TS_STATUS_INFO_get0_status
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS:INTERNAL=
//Have symbol TS_STATUS_INFO_get0_text
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT:INTERNAL=
//Have symbol TS_VERIFY_CTS_set_certs(0,0)
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_data
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_flags
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS:INTERNAL=
//Have symbol TS_VERIFY_CTX_set_store
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE:INTERNAL=
//Have symbol X509_get0_notAfter
HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER:INTERNAL=
//Have symbol X509_get0_notBefore
HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE:INTERNAL=
//Have symbol X509_get_signature_nid
HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID:INTERNAL=
//Have symbol X509_STORE_CTX_get0_cert
HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT:INTERNAL=
//Have symbol X509_STORE_get0_param
HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM:INTERNAL=
//Have include openssl/provider.h
HAVE_OPENSSL_PROVIDER_H:INTERNAL=
//Have symbol const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)
HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM:INTERNAL=
Same issue with HAVE_OPENSSL_* items not set to "true"

thomb
Posts: 52
Joined: Mon, 2024-05-20, 08:10

Re: Changing version of OpenSSL for an already configured build system

#10 Post by thomb »

And here is what the HAVE_OPENSSLs look like using OpenSSL 1.1.1w provided by DCMTK.

Code: Select all

//Have symbol struct evp_md_ctx_st *a; EVP_MD_CTX *b=a
HAVE_OPENSSL_DECLARATION_NEW_EVP_MD_CTX:INTERNAL=1
//Have symbol ASN1_STRING_get0_data
HAVE_OPENSSL_PROTOTYPE_ASN1_STRING_GET0_DATA:INTERNAL=1
//Have symbol DH_bits
HAVE_OPENSSL_PROTOTYPE_DH_BITS:INTERNAL=1
//Have symbol EVP_PKEY_base_id
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_BASE_ID:INTERNAL=1
//Have symbol EVP_PKEY_get0_EC_KEY
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET0_EC_KEY:INTERNAL=1
//Have symbol EVP_PKEY_get_group_name
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_GET_GROUP_NAME:INTERNAL=
//Have symbol EVP_PKEY_id
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_ID:INTERNAL=1
//Have symbol EVP_PKEY_RSA_PSS
HAVE_OPENSSL_PROTOTYPE_EVP_PKEY_RSA_PSS:INTERNAL=1
//Have symbol NID_dsa_with_SHA512
HAVE_OPENSSL_PROTOTYPE_NID_DSA_WITH_SHA512:INTERNAL=1
//Have symbol NID_ecdsa_with_SHA3_256
HAVE_OPENSSL_PROTOTYPE_NID_ECDSA_WITH_SHA3_256:INTERNAL=1
//Have symbol NID_sha512_256WithRSAEncryption
HAVE_OPENSSL_PROTOTYPE_NID_SHA512_256WITHRSAENCRYPTION:INTERNAL=1
//Have symbol OSSL_PROVIDER_load
HAVE_OPENSSL_PROTOTYPE_OSSL_PROVIDER_LOAD:INTERNAL=
//Have symbol RAND_egd
HAVE_OPENSSL_PROTOTYPE_RAND_EGD:INTERNAL=
//Have symbol SSL_CTX_get0_param
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET0_PARAM:INTERNAL=1
//Have symbol SSL_CTX_get_cert_store
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CERT_STORE:INTERNAL=1
//Have symbol SSL_CTX_get_ciphers
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_GET_CIPHERS:INTERNAL=1
//Have symbol SSL_CTX_set0_tmp_dh_pkey
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET0_TMP_DH_PKEY:INTERNAL=
//Have symbol SSL_CTX_set1_curves(0,0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_CURVES:INTERNAL=1
//Have symbol SSL_CTX_set1_sigalgs
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET1_SIGALGS:INTERNAL=
//Have symbol SSL_CTX_set_ecdh_auto(0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_ECDH_AUTO:INTERNAL=1
//Have symbol SSL_CTX_set_max_proto_version(0,0)
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_MAX_PROTO_VERSION:INTERNAL=1
//Have symbol SSL_CTX_set_security_level
HAVE_OPENSSL_PROTOTYPE_SSL_CTX_SET_SECURITY_LEVEL:INTERNAL=1
//Have symbol SSL_ERROR_WANT_ASYNC
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC:INTERNAL=1
//Have symbol SSL_ERROR_WANT_ASYNC_JOB
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_ASYNC_JOB:INTERNAL=1
//Have symbol SSL_ERROR_WANT_CLIENT_HELLO_CB
HAVE_OPENSSL_PROTOTYPE_SSL_ERROR_WANT_CLIENT_HELLO_CB:INTERNAL=1
//Have symbol TLS1_3_RFC_AES_128_CCM_8_SHA256
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_128_CCM_8_SHA256:INTERNAL=1
//Have symbol TLS1_3_RFC_AES_256_GCM_SHA384
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_AES_256_GCM_SHA384:INTERNAL=1
//Have symbol TLS1_3_RFC_CHACHA20_POLY1305_SHA256
HAVE_OPENSSL_PROTOTYPE_TLS1_3_RFC_CHACHA20_POLY1305_SHA256:INTERNAL=1
//Have symbol TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_AES_256_CCM_8:INTERNAL=1
//Have symbol TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_ECDSA_WITH_CAMELLIA_256_GCM_SHA384:INTERNAL=
//Have symbol TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305
HAVE_OPENSSL_PROTOTYPE_TLS1_TXT_ECDHE_RSA_WITH_CHACHA20_POLY1305:INTERNAL=1
//Have symbol TLS_method
HAVE_OPENSSL_PROTOTYPE_TLS_METHOD:INTERNAL=1
//Have symbol TS_STATUS_INFO_get0_failure_info
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_FAILURE_INFO:INTERNAL=1
//Have symbol TS_STATUS_INFO_get0_status
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_STATUS:INTERNAL=1
//Have symbol TS_STATUS_INFO_get0_text
HAVE_OPENSSL_PROTOTYPE_TS_STATUS_INFO_GET0_TEXT:INTERNAL=1
//Have symbol TS_VERIFY_CTS_set_certs(0,0)
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTS_SET_CERTS:INTERNAL=1
//Have symbol TS_VERIFY_CTX_set_data
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_DATA:INTERNAL=1
//Have symbol TS_VERIFY_CTX_set_flags
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_FLAGS:INTERNAL=1
//Have symbol TS_VERIFY_CTX_set_store
HAVE_OPENSSL_PROTOTYPE_TS_VERIFY_CTX_SET_STORE:INTERNAL=1
//Have symbol X509_get0_notAfter
HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTAFTER:INTERNAL=1
//Have symbol X509_get0_notBefore
HAVE_OPENSSL_PROTOTYPE_X509_GET0_NOTBEFORE:INTERNAL=1
//Have symbol X509_get_signature_nid
HAVE_OPENSSL_PROTOTYPE_X509_GET_SIGNATURE_NID:INTERNAL=1
//Have symbol X509_STORE_CTX_get0_cert
HAVE_OPENSSL_PROTOTYPE_X509_STORE_CTX_GET0_CERT:INTERNAL=1
//Have symbol X509_STORE_get0_param
HAVE_OPENSSL_PROTOTYPE_X509_STORE_GET0_PARAM:INTERNAL=1
//Have include openssl/provider.h
HAVE_OPENSSL_PROVIDER_H:INTERNAL=
//Have symbol const ASN1_OBJECT *a; X509_ALGOR_get0(&a,0,0,0)
HAVE_OPENSSL_X509_ALGOR_GET0_CONST_PARAM:INTERNAL=1
Many more set to 1.

Post Reply

Who is online

Users browsing this forum: No registered users and 0 guests