it-swarm.com.ru

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

Я тестирую SSL-доступ к серверу локального узла с ключом, ca, cert в опциях (самоподписанный 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. .. но никак

вот журнал

  • О подключении () к порту macMini.local 8000 (# 0)

    • Попытка 192.168.1.14 ...
    • связано
    • Подключен к macMini.local (192.168.1.14) порт 8000 (# 0)
    • SSLv3, рукопожатие TLS, клиент привет (1):
    • SSLv3, рукопожатие TLS, сервер привет (2):
    • SSLv3, рукопожатие TLS, CERT (11):
    • SSLv3, предупреждение TLS, сервер привет (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), в любом случае продолжается.

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

7
user762579

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

6
Bruno

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

тогда команда curl теперь работает нормально, опция -k

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
...
5
user762579

На Mac я получаю похожую ошибку, связанную с ssl, при попытке установить composer .

ошибка: 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/

согласно инструкции здесь .

0
zeeawan