Ошибка сертификата 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/
согласно поручил здесь.