|  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Doc Bug #76388 CURLOPT_SSLKEYPASSWD is not supported when curl is compiled with NSS
Submitted: 2018-05-29 10:00 UTC Modified: 2019-01-02 00:49 UTC
Avg. Score:4.6 ± 0.7
Reproduced:9 of 9 (100.0%)
Same Version:5 (55.6%)
Same OS:4 (44.4%)
From: samuel dot chemla at orange dot com Assigned:
Status: Open Package: cURL related
PHP Version: 7.2.6 OS: linux rhel
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [2018-05-29 10:00 UTC] samuel dot chemla at orange dot com
Making a request with curl and a client certificate won't work if the client certificate key is ciphered.

Curl will generate an error:
curl error (58): unable to load client key: -8178 (SEC_ERROR_BAD_KEY) 

It seems this is due to curl compiled with NSS because with curl compiled with openssl it works

If this is correct please could you update the documentation to warn about this?

Test script:
curl_setopt($ch, CURLOPT_SSLCERT,       "<path to client PEM cert>");
curl_setopt($ch, CURLOPT_SSLKEY,        "<path to client PEM key>");
curl_setopt($ch, CURLOPT_SSLKEYPASSWD,  "password");

Expected result:
The client certificate should be presented to remote

Actual result:
If the private key begins with:
--> it will work

If it begins with:
--> it will generate "curl error (58): unable to load client key: -8178 (SEC_ERROR_BAD_KEY)"


Add a Patch

Pull Requests

Add a Pull Request


AllCommentsChangesGit/SVN commitsRelated reports
 [2019-01-02 00:49 UTC]
-Package: Documentation problem +Package: cURL related
PHP Copyright © 2001-2023 The PHP Group
All rights reserved.
Last updated: Tue Sep 26 02:01:24 2023 UTC