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

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

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

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

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

Спасибо

Ответы

Ответ 1

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

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

(акцент мой)

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

Ответ 2

У меня была такая же проблема на Centos 7. После отладки это было связано с таймаутом.

Так что если вы видите эту проблему и используете curl_setopt($curl, CURLOPT_TIMEOUT_MS, 300); Затем проверьте, сколько времени это займет. Если это около вашего периода ожидания. Это проблема, не связанная с каким-либо сертификатом.

Я ожидал некоторую ошибку тайм-аута от Curl в случае тайм-аута, но это, кажется, не происходит

Ответ 3

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