diff --git a/libratbox/src/openssl.c b/libratbox/src/openssl.c index 850318b2d..4544ad6bd 100644 --- a/libratbox/src/openssl.c +++ b/libratbox/src/openssl.c @@ -33,6 +33,7 @@ #include #include #include +#include #include static SSL_CTX *ssl_server_ctx; @@ -666,7 +667,8 @@ rb_get_ssl_certfp(rb_fde_t *F, uint8_t certfp[RB_SSL_CERTFP_LEN]) res == X509_V_ERR_UNABLE_TO_VERIFY_LEAF_SIGNATURE || res == X509_V_ERR_DEPTH_ZERO_SELF_SIGNED_CERT) { - memcpy(certfp, cert->sha1_hash, RB_SSL_CERTFP_LEN); + unsigned int certfp_length = RB_SSL_CERTFP_LEN; + X509_digest(cert, EVP_sha1(), certfp, &certfp_length); X509_free(cert); return 1; }