it-roy-ru.com

NSS: сертификат клиента не найден (псевдоним не указан)?

Я пытаюсь получить доступ к стороннему сервису через PHP curl в системе Centos 6, которая поставляется с curl и libcurl, скомпилированными для NSS вместо OpenSSL.

Это вызывает у меня проблемы, каждый раз, когда я пытаюсь получить доступ к сервису, я получаю эту ошибку NSS: client certificate not found (nickname not specified).

Насколько я понимаю, мне нужно установить сертификаты в базе данных NSS.

Я ищу пошаговые инструкции о том, как это сделать (имейте в виду, мне нужно это для работы с PHP функциями curl, вызываемыми с сервера Nginx)

Спасибо

17
Jason

Попробуйте добавить префикс имени файла сертификата к «./» или использовать полный путь. Из справочной страницы curl:

Если curl построен на основе библиотеки NSS SSL, тогда эта опция [--cert] может сказать curl псевдоним сертификата для использования в База данных NSS определяется переменной среды SSL_DIR (или Default/etc/pki/nssdb). Если доступен модуль NSS PEM PKCS # 11 (lib - Nsspem.so), то могут быть загружены файлы PEM. Если ты хотите использовать файл из текущего каталога, пожалуйста, предшествуйте ему с префиксом "./", чтобы избежать путаницы с ником.

(акцент мой)

Кроме того, некоторые инструкции по импорту в базу данных сертификатов NSS находятся здесь, хотя я их не использовал: http://rcritten.fedorapeople.org/nss_compat_ossl.html

20
pimlottc

Я получил то же сообщение об ошибке с curl, когда вводил неправильный пароль при попытке доступа к серверу FTPS, который использовал простую аутентификацию по паролю. Это не имеет ничего общего с сертификатами.

0
asmaier