Ошибка сертификата SSL

Я тестирую SSL-доступ к серверу локального узла с ключом, ca, cert в options (self-signed w OpenSSL)

var server_options = {
  key: fs.readFileSync('/etc/ssl/self-signed/server.key'),
  ca: fs.readFileSync('/etc/ssl/self-signed/server.csr'),
  cert: fs.readFileSync('/etc/ssl/self-signed/server.crt')
};

попытка получить к нему доступ:

curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

С помощью curl я получаю следующую ошибку:

curl: (60) проблема SSL-сертификата, убедитесь, что сертификат CA в порядке. Подробности: ошибка: 14090086: SSL-процедуры: SSL3_GET_SERVER_CERTIFICATE: ошибка проверки сертификата

Я загрузил сертификат ca из http://curl.haxx.se/ca/cacert.pem и добавьте их в мой curl-ca-bundle-new.файл crt, как предложено в некоторых сообщениях, связанных с curl... но ни за что!--4-->

вот журнал

  • о подключении () к macMini.локальный порт 8000 (#0)

    • попытка 192.168.1.14...
    • подключено
    • подключен к macMini.местные (192.168.1.14) порт 8000 (#0)
    • SSLv3, рукопожатие TLS, клиент Привет (1):
    • SSLv3, рукопожатие TLS, сервер привет (2):
    • SSLv3, рукопожатие TLS, сертификат (11):
    • SSLv3, TLS alert, сервер привет (2):
    • проблема с сертификатом SSL, убедитесь, что сертификат CA в порядке. Подробности: ошибка: 14090086: SSL-процедуры: SSL3_GET_SERVER_CERTIFICATE: ошибка проверки сертификата
    • закрытие соединения #0 curl: (60) проблема с сертификатом SSL, убедитесь, что сертификат CA в порядке. Подробности: ошибка: 14090086: SSL процедуры: SSL3_GET_SERVER_CERTIFICATE: ошибка проверки сертификата Более подробная информация здесь: http://curl.haxx.se/docs/sslcerts.html

Я знаю, что могу обойти проверку curl CA, используя:

curl -k -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

в этом случае он работает нормально, я вижу:

сертификат SSL проверьте результат: самозаверяющий сертификат (18), продолжающийся в любом случае.

но я хотел бы знать, если есть какие-либо способ решения этой проблемы...

3 ответов


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


Я, наконец, нашел местоположение на OSX (10.8) : /usr/share/curl/cacert.УГР поэтому я добавил к нему свой самозаверяющий сертификат и перезапустил мой сервер node-ssl..

затем команда curl теперь работает нормально wo-K option

curl -v --user 1234567890:abcdefghijklmnopqrstuvwxyz --data "grant_type=password&username=yves&password=123456789" https://macMini.local:8000/oauth/token

* About to connect() to macMini.local port 8000 (#0)
*   Trying 192.168.1.14...
* connected
* Connected to macMini.local (192.168.1.14) port 8000 (#0)
* successfully set certificate verify locations:
*   CAfile: /usr/share/curl/cacert.pem
  CApath: none
...

на mac я получал аналогичную ошибку ssl при попытке установить композитор.

ошибка: 14090086: SSL процедуры: SSL3_GET_SERVER_CERTIFICATE: сертификат

команды

php -r "copy('https://getcomposer.org/installer', 'composer-setup.php');"

Но Я успешно установить его, выполнив команду

curl -sS https://getcomposer.org/installer | php -- --install-dir=/usr/local/bin/composer/

согласно поручил здесь.