URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID8
Нить номер: 7921
[ Назад ]

Исходное сообщение
"curl: (58) Unable to load client key -8178"

Отправлено EndErr , 29-Окт-14 09:41 
CentOS 6,
# curl -V
curl 7.19.7 (i386-redhat-linux-gnu) libcurl/7.19.7 NSS/3.15.3 zlib/1.2.3 libidn/1.18 libssh2/1.4.2
Protocols: tftp ftp telnet dict ldap ldaps http file https ftps scp sftp
Features: GSS-Negotiate IDN IPv6 Largefile NTLM SSL libz

В терминале пытаюсь подключится к https серверу но все время получаю этот ответ.
На FreeBSD и Ubuntu работает, думаю проблема в самой системе.

#curl -v --key ./key.pem --cert ./cert.pem https://domen.com:4458
* About to connect() to domen.com port 4458 (#0)
*   Trying 12.34.56.78... connected
* Connected to domen.com (12.34.56.78) port 4458 (#0)
* Initializing NSS with certpath: sql:/etc/pki/nssdb
*   CAfile: /etc/pki/tls/certs/ca-bundle.crt
  CApath: none
* Unable to load client key -8178.
* NSS error -8178
* Closing connection #0
curl: (58) Unable to load client key -8178.

Как решить? Прошу помощи.


Содержание

Сообщения в этом обсуждении
"curl: (58) Unable to load client key -8178"
Отправлено stalker37 , 29-Окт-14 11:43 
Судя по всему https://domen.com:4458 хочет клиентский сертификат.
Вот его Вам и нужно подсунуть, причём так как у вас curl судя по всему собран с NSS, а не с openssl -то в nssdb и нужно будет  засунуть клиентский сертификат.
Ну и 1 строка в гугле
http://curl.haxx.se/mail/archive-2013-10/0005.html#start

"curl: (58) Unable to load client key -8178"
Отправлено EndErr , 29-Окт-14 12:14 
> Судя по всему https://domen.com:4458 хочет клиентский сертификат.

Все сертификаты передаю в запросе
> Вот его Вам и нужно подсунуть, причём так как у вас curl
> судя по всему собран с NSS, а не с openssl -то
> в nssdb и нужно будет  засунуть клиентский сертификат.
> Ну и 1 строка в гугле
> http://curl.haxx.se/mail/archive-2013-10/0005.html#start

Вроде какоето решение нашлось, нужна дополнительная генерация ключа командой
openssl rsa -in key.pem -out newkey.pem

Вот что помогло:

The failure was due to my PKCS#8 private key format:
- With a PKCS#8 private key
-----BEGIN ENCRYPTED PRIVATE KEY----- header
or
-----BEGIN PRIVATE KEY----- header
curl+openssl works, but not curl+nss+libnsspem.so
- With a RSA private key
-----BEGIN RSA PRIVATE KEY----- header
both curl+openssl and curl+nss+libnsspem.so work.

So use this command openssl rsa -in key.pem -out newkey.pem to remove the pass phrase on an RSA private key:


"curl: (58) Unable to load client key -8178"
Отправлено stalker37 , 29-Окт-14 21:55 
> Вроде какоето решение нашлось, нужна дополнительная генерация ключа командой
> openssl rsa -in key.pem -out newkey.pem

Это не генерация ключа. Это избавление текущего ключа от пасфразы