<div dir="ltr">Looking for some insights into using TransportOptions to specify a curl cipherlist for an IdP.<br><br>After adding an IdP MetadataProvider yesterday, I found this output in my Shibboleth SP3 logs:<br><br>2020-06-01 18:15:47 ERROR XMLTooling.libcurl.InputStream : error while fetching <a href="https://idp-url-here">https://idp-url-here</a>: (35) error:141A318A:SSL routines:tls_process_ske_dhe:dh key too small<br>2020-06-01 18:15:47 ERROR XMLTooling.ParserPool : fatal error on line 0, column 0, message: internal error in NetAccessor<br>2020-06-01 18:15:47 ERROR OpenSAML.MetadataProvider.XML : error while loading resource (<a href="https://idp-url-here">https://idp-url-here</a>): XML error(s) during parsing, check log for specifics<br><br>My understanding is that the "dh key too small" error is due to this vulnerability: <a href="https://weakdh.org/">https://weakdh.org/</a>, and have informed the IdP accordingly. In the meantime, I'm trying to see if I can use TransportOptions to get around the error for this IdP.<br><br>After looking up the IdP with <a href="https://www.ssllabs.com/ssltest/">https://www.ssllabs.com/ssltest/</a>, I found that only a couple of their ciphers are still considered secure:<br><br>TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256<br>TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384<br><br>I then looked at this curl option:<br><a href="https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html">https://curl.haxx.se/libcurl/c/CURLOPT_SSL_CIPHER_LIST.html</a><br><br>Which I understand to be option number 83:<br><a href="https://github.com/curl/curl/blob/master/include/curl/curl.h#L1257">https://github.com/curl/curl/blob/master/include/curl/curl.h#L1257</a><br><br>Therefore, I crafted this TransportOption, which I set as a child of the IdP MetadataProvider:<br><TransportOption provider="CURL" option="83">ecdhe_rsa_aes_128_gcm_sha_256</TransportOption><br><br>(I'm on CentOS, which uses NSS, hence the lowercase cipher name).<br><br>However, when this configuration is loaded, I get the following in the logs:<br><br>2020-06-01 19:49:17 ERROR XMLTooling.libcurl.InputStream : failed to set CURL transport option (83)<br><br>Then, the same error as above.<br><br>I'm wondering if there's anything I'm doing wrong, or if anyone has any insights into either resolving the error or determining why the option is not being set.<br><br>Thank you,<br><br>David</div>