Fix build with older OpenSSL versions

Apparently, X509_get_signature_nid() is only in fairly new OpenSSL
versions, so use the lower-level interface it is built on instead.
This commit is contained in:
Peter Eisentraut 2018-01-04 16:22:06 -05:00
parent 18869e202b
commit ac3ff8b1d8
2 changed files with 2 additions and 2 deletions

View File

@ -1265,7 +1265,7 @@ be_tls_get_certificate_hash(Port *port, size_t *len)
* Get the signature algorithm of the certificate to determine the
* hash algorithm to use for the result.
*/
if (!OBJ_find_sigid_algs(X509_get_signature_nid(server_cert),
if (!OBJ_find_sigid_algs(OBJ_obj2nid(server_cert->sig_alg->algorithm),
&algo_nid, NULL))
elog(ERROR, "could not determine server certificate signature algorithm");

View File

@ -447,7 +447,7 @@ pgtls_get_peer_certificate_hash(PGconn *conn, size_t *len)
* Get the signature algorithm of the certificate to determine the hash
* algorithm to use for the result.
*/
if (!OBJ_find_sigid_algs(X509_get_signature_nid(peer_cert),
if (!OBJ_find_sigid_algs(OBJ_obj2nid(peer_cert->sig_alg->algorithm),
&algo_nid, NULL))
{
printfPQExpBuffer(&conn->errorMessage,