Das Problem liegt höchstwahrscheinlich an der veralteten TLS-Unterstützung auf den Clients, da die Deaktivierung des Peerzertifikats und die Validierung des Hostnamens nicht helfen.
Eine schnelle scan des Servers zeigt, dass sie nur TLS 1.2-Verbindungen unterstützen, so dass Clients dies unterstützen müssen (SSLv3, TLS 1.0 oder TLS 1.1 wird nicht funktionieren). Dies bedeutet, dass OpenSSL 1.0.1 oder höher erforderlich ist.
Leider gibt es nichts, was Sie in Ihrem Code tun können, um dies zu umgehen. Sie müssen sicherstellen, dass ihre cURL-Bibliotheken mit moderner TLS-Unterstützung erstellt werden.
sslscan https://gdc-api.nci.nih.gov
Version: 1.10.5-rbsec
OpenSSL 1.0.2k 26 Jan 2017
Testing SSL server gdc-api.nci.nih.gov on port 443
TLS renegotiation:
Session renegotiation not supported
TLS Compression:
Compression disabled
Heartbleed:
TLS 1.0 not vulnerable to heartbleed
TLS 1.1 not vulnerable to heartbleed
TLS 1.2 not vulnerable to heartbleed
Supported Server Cipher(s):
Accepted TLSv1.2 256 bits ECDHE-RSA-AES256-GCM-SHA384
Accepted TLSv1.2 256 bits ECDHE-RSA-AES256-SHA384
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-GCM-SHA256
Accepted TLSv1.2 128 bits ECDHE-RSA-AES128-SHA256
Preferred Server Cipher(s):
TLSv1.2 256 bits ECDHE-RSA-AES256-GCM-SHA384
Auf einigen Systemen scheint mindestens libcurl möglicherweise ein Update zu benötigen. – seandavi
Ja, tut mir leid, wenn das nicht klar war. libcurl muss ebenfalls aktualisiert werden, um über spätere TLS-Protokolle und deren Verwendung mit den aktualisierten SSL-Bibliotheken informiert zu sein. – drew010