01 октября 2021 года я столкнулся с проблемой — в проекте на WordPress и PHP 7.0 перестали работать все скрипты, которые получают что-то из вне по https с помощью file_get_contents и wp_remote_get. C wp_remote_get все получилось решить просто:
wp_remote_get($url, [‘sslverify’ => false ]); |
Но из используемой функции
file_get_contents с проблемой пришлось разбираться чуть более основательно.
В логах nginx ошибка file_get_contents(): Failed to enable crypto in
На все запросы через https. Полностью ошибка выглядела примерно так:
SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:ssl3_get_server_certificate file_get_contents(): Failed to enable crypto in error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed in /home/web/azzrael.ru/subscribe—azzrael—code—youtube.php on line 2 PHP message: PHP Warning: file_get_contents(): Failed to enable crypto in /home/web/azzrael.ru/subscribe—azzrael—code—youtube.php on line 2 PHP message: PHP Warning: file_get_contents([https://www.youtube.com/channel/UCf6kozNejHoQuFhBDB8cfxA.jpg](https://www.youtube.com/channel/UCf6kozNejHoQuFhBDB8cfxA.jpg)): failed to open stream: operation failed in /home/web/azzrael.ru/subscribe-azzrael-code-youtube.php on line 2 PHP message: PHP Fatal error: Uncaught Exception: cant get file in /home/web/azzrael.ru/subscribe—azzrael—code—youtube.php:3 Stack trace: #0 {main} thrown in /home/web/azzrael.ru/subscribe—azzrael—code—youtube.php on line 3» while reading response header from upstream, client: 8.8.8.8, server: [azzrael.ru](http://azzrael.ru/), request: «GET /subscribe—azzrael—code—youtube.php HTTP/2.0«, upstream: «fastcgi://unix:/run/php/php7.0-fpm.sock:», host: «[azzrael.ru](http://azzrael.ru/)» |
Упоминание OpenSSL и ssl3_get_server_certificate вместе сразу дало направление на гугление в сторону проблем с сертификатами. Так и оказалось.
Истечение корневых сертификатов Lets Encrypt
Вероятно сама проблема связана с истечением 30 сентября 2021 года корневых сертификатов Lets Encrypt. Возможно, также что проблема связана с версией PHP — на проекте используется довольно устаревшая PHP 7.0.
Решение проблемы
Есть несколько способов решения. Т.к. проблема касалась нескольких сайтов на сервере и имелся полный доступ к управлению сервером то я сделал следующее:
- Пошел на https://curl.se/docs/caextract.html
- Скачал cacert.pem
- Положил cacert.pem в /etc/ssl/certs/cacert.pem
Затем в php.ini в раздел openssl прописал следующее:
[openssl] openssl.cafile=/etc/ssl/certs/cacert.pem |
Перезагрузил php
service php7.0—fpm restart и проблема исчезла.
Рано или поздно и этот сертификат протухнет. Но, судя по https://hg.mozilla.org/releases/mozilla-release/raw-file/default/security/nss/lib/ckfw/builtins/certdata.txt серт полученный в 2021 протухнет в 2028. Это приемлимо.
Сертификат Comodo был приобретен не мной, «в наследство» мне достались лишь 2 файла – xxx.pem и xxx.key. Протоколы были настроены, но битрикс не проходил тест на сокеты – ошибка сокетов хоть ты тресни – что в админке «Работа с сокетами Ошибка! Не работает» – отсюда и ниже. Что в скрипте проверки битрикс – «Warning: fsockopen(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed in /home/bitrix/www/bitrix_server_test.php on line 624»
И к тому же что apache, что nginx выдавали что-то типа «httpd: (98)Address already in use: make_sock: could not bind to address», первый – немного, второй – много занятых портов.
Пробовал решать различными путями – ничего не помогало. Набрел на инструкцию Comodo — https://support.comodo.com/index.php?/Knowledgebase/Article/View/1091/37/certificate-installation—nginx В ней говорится, что для nginx нужно объединить сертификаты «xxx. ca-bundle» и «xxx.crt» и уже такой объединенный файл подсовывать nginx-у. Но у меня-то небыло ни crt-файла ни ca-bundle-файла. На это Comodo на этой же страничке инструкции предлагает скачать ca-bundle-файл, а вернее, несколько файлов – для домена, файл расширенной валидации и файл для организации. Мне нужен был для домена, его я и скачал — https://support.comodo.com/index.php?/Knowledgebase/Article/GetAttachment/1091/1282988
Называется он «domain_validated.ca-bundle»
Ну хорошо, ca-bundle-файл – есть, но никакого crt – нет как нет. Поэтому за неимением вместо crt взял pem-файл.
Зашел с помощью putty на сервере в окружение битрикс (вход автоматический). Вышел из него в консоль командой 0.
Перешел в папку сертификатов: «cd /etc/nginx/ssl/».
И запустил объединение файлов командой «cat server.pem domain_validated.ca-bundle > ssl-bundle.crt», в результате чего в папке сертификатов был создан объединенный файл «ssl-bundle.crt».
Вот этот вновь созданный сертификат я и подсунул nginx, то есть в файле конфигурации было: «ssl_certificate /etc/nginx/ssl/xxx.pem;»
А стало: «ssl_certificate /etc/nginx/ssl/ssl-bundle.crt;»
Рестартанул nginx “service nginx restart”
И пошел проверять. В Битрикс – админке – ошибки исчезли. В Битрикс скрипте проверки – тоже.
Тест в консоли «curl https://somebody.ru:443» — также прошел на ура и выдал содержимое страницы в консоль. Тесты на сайтах тестирования сертификатов – улучшились, но уровень «A» таки получить не удалось, — остался «B» — https://www.ssllabs.com/ssltest/ . Тестер комодо — https://sslanalyzer.comodoca.com/ тоже выдал некоторые проблемы с « DH 1024-bit». И в инфо на https://weakdh.org/sysadmin.html было рекомендовано создать новую группу командой «openssl dhparam -out dhparams.pem 2048», что я и сделал в консоли. Скрипт предупредил, что это может продлиться долго – на практике это заняло 1-2 минуты (как раз чтобы налить себе чаю).
openssl dhparam -out dhparams.pem 2048
openssl dhparam -out dhparams.pem 2048
Generating DH parameters, 2048 bit long safe prime, generator 2
This is going to take a long time
…………………..+………….+….+………………………………………………………………………………..*
[root@xxx]#
Файл сертификата “dhparams.pem” был создан по адресу: /etc/nginx/ssl/
Далее:
Проверяем nginx – nginx –t
Всё ОК.
Перезапускаем nginx — service nginx restart
Проверяем сертификат: https://www.ssllabs.com/ssltest/
И – вуаля! Общий уровень – “A”!
Содержание
- Сокеты и ssl
- Drupal Русскоязычное сообщество
- Главные вкладки
- Лучший ответ
- Комментарии
- Knowledge Base
- 68671: Acronis Cyber Protect 15: Backup fails with «SocketError: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed» after update to build 26981
- Также читайте на:
- use Google Translate
- Относится к:
- Symptoms
- Cause
- Solution
- Workaround
- [08001][unixODBC][Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed:subject name does not match host name] #799
- Comments
- Environment
- Issue
- Footer
Сокеты и ssl
Цитата |
---|
Вячеслав Большагин написал: Куда посмотреть ? |
Если сайт доступен из интернета: https://cryptoreport.websecurity.symantec.com/checker/
Скорее всего у Вас не полная цепочка сертификатов (он все покажет), или у вас степлинг косячик (если настраивали).
В любом случае он скажет.
Андрей Николаев,
Сертификаты не когда не настраивал -( Мне дали архив в нем был сертификат, бандл и ключ.
В конфиге nginx прописал пути к cert.crt и ключу. Перезапустил nginx
Сайт доступен по https , не спрашивает доверять или нет , открывает сразу! Сервисы проверок выдал оценку А , определил сертификат, в остальном еще нужно изучить.
Но проблема с сокетами появилась!
Собственно я больше ничего не настраивал.
Я нашел на сервере в /etc/ssl/certs/ несколько бандлов и добавил их в сборку моего сертификата , тогда все заработало, но чую это не правильно решение ))
Цитата |
---|
или у вас степлинг косячик |
Можно поподробнее ? Я собственно больше ничего не настраивал, но посмотреть наверное стоит !
PS https://www.ssllabs.com/ssltest/ выдал оценку А, куча информации и выдал такую проблему, Chain issues — Contains anchor, что значит еще нужно разобраться -(
Цитата |
---|
Вячеслав Большагин написал: Chain issues |
Ошиблись при сборке цепочки.
Соединяя в 1, вы должны получить полную цепочку.
Браузер проверяет (обычно) последний, а при проверке на php используются ВСЕ (т.е. вся цепочка). Таким образом, если неправильно собрали — браузер ошибки не выдаст, а вот пых работать не будет.
Посмотрите через симантек (первая ссылка в посте) — он скажет какой именно сертификат лишний или неверно установленный.
Парни, подскажите по аналогичной проблеме:
Делаю так
ini_set(«display_errors», true);
error_reporting(6135);
$context = stream_context_create();
$ip = ‘xx.x.xxx.xxx’;
$port = 110;
$timeout = 30;
$sert = ‘/etc/nginx/cert/name.name.name.ru.cer’;
$context = stream_context_create(
array(
‘ssl’ => array(
‘verify_peer’ => false,
‘cafile’ => $sert,
‘peer_name’ => $host,
‘ciphers’ => ‘ECDHE-RSA-AES256-SHA:ECDHE-ECDSA-AES256-SHA:DHE-RSA-AES256-SHA:DHE-DSS-AES256-SHA:DHE-RSA-CAMELLIA256-SHA:DHE-DSS-CAMELLIA256-SHA:ECDH-RSA-AES256-SHA:ECDH-ECDSA-AES256-SHA:AES256-SHA:CAMELLIA256-SHA:PSK-AES256-CBC-SHA:ECDHE-RSA-DES-CBC3-SHA:ECDHE-ECDSA-DES-CBC3-SHA:EDH-RSA-DES-CBC3-SHA:EDH-DSS-DES-CBC3-SHA:ECDH-RSA-DES-CBC3-SHA:ECDH-ECDSA-DES-CBC3-SHA:DES-CBC3-SHA:PSK-3DES-EDE-CBC-SHA:KRB5-DES-CBC3-SHA:KRB5-DES-CBC3-MD5:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:DHE-RSA-AES128-SHA:DHE-DSS-AES128-SHA:DHE-RSA-SEED-SHA:DHE-DSS-SEED-SHA:DHE-RSA-CAMELLIA128-SHA:DHE-DSS-CAMELLIA128-SHA:ECDH-RSA-AES128-SHA:ECDH-ECDSA-AES128-SHA:AES128-SHA:SEED-SHA:CAMELLIA128-SHA:IDEA-CBC-SHA:PSK-AES128-CBC-SHA:KRB5-IDEA-CBC-SHA:KRB5-IDEA-CBC-MD5:ECDHE-RSA-RC4-SHA:ECDHE-ECDSA-RC4-SHA:ECDH-RSA-RC4-SHA:ECDH-ECDSA-RC4-SHA:RC4-SHA:RC4-MD5:PSK-RC4-SHA:KRB5-RC4-SHA:KRB5-RC4-MD5:EDH-RSA-DES-CBC-SHA:EDH-DSS-DES-CBC-SHA:DES-CBC-SHA:KRB5-DES-CBC-SHA:KRB5-DES-CBC-MD5:EXP-EDH-RSA-DES-CBC-SHA:EXP-EDH-DSS-DES-CBC-SHA:EXP-DES-CBC-SHA:EXP-RC2-CBC-MD5:EXP-KRB5-RC2-CBC-SHA:EXP-KRB5-DES-CBC-SHA:EXP-KRB5-RC2-CBC-MD5:EXP-KRB5-DES-CBC-MD5:EXP-RC4-MD5:EXP-KRB5-RC4-SHA:EXP-KRB5-RC4-MD5’,
‘disable_compression’ => true,
)
)
);
$socket = stream_socket_client(«tls://» . $ip . ‘:’ . $port, $errno, $errstr, 30, STREAM_CLIENT_CONNECT, $context);
var_dump($socket);
Возникает ошибка: Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:1408F10B:SSL routines:SSL3_GET_RECORD:wrong version number in.
Куда нужно смотреть? Полагаю что проблема заключается в ciphers
В случае если устанавливаю значение ‘ciphers’ => ‘HIGH:!SSLv2:!SSLv3’,
ошибка следующая:Warning: stream_socket_client(): SSL operation failed with code 1. OpenSSL Error messages:error:140830B5:SSL routines:SSL3_CLIENT_HELLO:no ciphers available in .
Источник
Drupal Русскоязычное сообщество
Главные вкладки
Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
- Есть вопрос
- Решение проблем
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Лучший ответ
Последнее дело так делать. Надо решать проблему с сертификатами, а не закрывать на неё глаза.
Комментарии
При переезде на php 7
Или где ставить в каком файле
$arrContextOptions=array(
«ssl»=>array(
«verify_peer»=>false,
«verify_peer_name»=>false,
),
);
$sw=file_get_contents(ЛИНК, false, stream_context_create($arrContextOptions));
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Последнее дело так делать. Надо решать проблему с сертификатами, а не закрывать на неё глаза.
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
как решить этот вопрос Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Вы точно проверили валидность и не просроченность сертификата именно на почтовом сервере (не сайте)? Там не самоподписанный какой-нибудь сертификат?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
да на портале они действительны а по срокам там в самой папке апача смотрел они прям на несколько лет такое ощущение — что они от мозиллы какие то не правильные и их не переваривает drupal 7.69 и php 7.2 !
Что посоветуете?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Ещё раз. При чём тут апач? Проверять надо сертификат почтового сервера, с которым вы соединяетесь по smtp. Не веб сервера.
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Могу через фтп посмотреть!
Прошу не флудить сообщениями. Это всё таки не чат, а форум. Если вам есть, что добавить, то просьба редактировать свой предыдущий комментарий
А как проверить сертификат почтового сервера ? Где?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
А как проверить сертификат почтового сервера ? Где? В каком файле друпала?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Эээ а при чем тут друпал? В друпале нет почтового сервера. Он у вас где-то установлен и прописан в настройках модуля smtp
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Да есть такой модуль smtp! Где это в настройках этого модуля (проверить сертификат)?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Нигде. Модуль обращается к вашему почтовому серверу, который вы указали в настройках модуля smtp. Вот этот сервер вам и нужно проверить. Если вы не предоставите больше информации (хотя бы скриншот этих настроек) мы так и будем гадать на кофейной гуще
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
То есть такая ошибка возникает лишь из за не верной настройки в модуле smtp — почтового сервера?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
В модуле smtp (и аналогичных) вы указываете действующий почтовый сервер. Это может быть сервер яндекса, гугла, майл.ру или ваш собственный. Если с почтовым сервером проблема, то РАЗУМЕЕТСЯ никакой модуль друпала не сможет отправлять письма через него. О чем вам и сообщил модуль сразу же: что у вашего почтового сервера есть проблема с сертификатом.
Вы на вопрос-то ответите? Через какой почтовый сервер вы пытаетесь отправлять почту?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Я не смотрел настройки- то есть модуль сообщил что у сервера на который я настроил отправкуимеет проблемы с сертификатом?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Пишет по инету где где то цепочка сертификатов не актуальна
Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
в каких папках искать не актуальные сеертификаты?
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Это одна из возможностей, совсем не самая вероятная, и если у вас оно, то поможет только техподдержка вашего хостинга. Но вероятнее, проблема всё же в почтовике.
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Или вообще нубудь добавить в строки где эту проверку пытается пройти
public function StartTLS() <
$this->error = NULL; # to avoid confusion
if (!$this->connected()) <
$this->error = array(«error» => «Called StartTLS() without being connected»);
return FALSE;
>
fputs($this->smtp_conn, «STARTTLS» . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply, 0, 3);
if ($this->do_debug >= 2) <
drupal_set_message(t(«SMTP -> FROM SERVER: @rply», array(«@rply» => $rply)));
>
if ($code != 220) <
$this->error =
array(«error» => «STARTTLS not accepted from server»,
«smtp_code» => $code,
«smtp_msg» => substr($rply, 4));
if ($this->do_debug >= 1) <
drupal_set_message(t(«SMTP -> ERROR: @Error: @rply», array(«@Error» => $this->error[«error»], «@rply» => $rply)));
>
return FALSE;
>
// Begin encrypted connection
if (!stream_socket_enable_crypto($this->smtp_conn, TRUE, STREAM_CRYPTO_METHOD_TLS_CLIENT)) <
return FALSE;
>
return TRUE;
>
Где функция stream_socket_enable_crypto(
Данные почтового сервера все нормальные ! Я проверял полностью. Может все таки в строке где он пытается пройти проверку отключить проверку самого ssl
Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
То есть в самом файле smtp.transport.inc
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
- Реакции
Как проверяли сертификат почтового сервера?
Если отключать проверку, то может вообще ssl/tls не использовать, что толку-то, и хакать модуль не надо будет хотя бы?
Источник
Knowledge Base
68671: Acronis Cyber Protect 15: Backup fails with «SocketError: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed» after update to build 26981
Также читайте на:
use Google Translate
Относится к:
Last update: 12-12-2022
Symptoms
After reinstallation of Storage Node and Agent to Update 2 (Build 26981), backup to a managed location fails with the following error:
Failed to connect to the storage node. SocketError: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Example of full error log: click to expand
SocketError: error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed
Cause
The hash of ASN server certificate stored in agents is not changed. The one that can be changed is the ASN certificate. If the ASN is uninstalled and then reinstalled, then it’ll generate a new certificate. And the new one won’t match the stored in the agent, so the agent won’t be able to connect to ASN.
Solution
The issue is resolved in Acronis Cyber Protect 15 Update 2 (build 27009).
Workaround
If the problem reproduces in newer build versions, use one of the workarounds described below.
Workaround 1
To remove the stored certificate hash from the agent, remove the Acronis Storage Node backup locations and add them back:
- Go to the Backup Storage view and remove the Acronis Storage Node location,
- Add the location again.
Workaround 2
If the first solution didn’t help, the stored certificate hash needs to be removed manually.
How to remove hash manually: click to expand
- Find the folders where the hash is stored and delete it. The hashes are located under C:ProgramDataBackupAndRecoveryMMSAccessVaultraw
- Run Command line (cmd) and run the following command to find the right folders:
findstr.exe /S hash «C:ProgramDataAcronisBackupAndRecoveryMMSAccessVaultraw*»
You’ll find the directories list, for example:
C:ProgramDataAcronisBackupAndRecoveryMMSAccessVaultraw1A2B3C45-D67E-8F8G-0H1K-LM2345678NOmeta:
C:ProgramDataAcronisBackupAndRecoveryMMSAccessVaultraw1A2B3C45-D67E-8F8G-0H1K-LM2345678NOticket.json: «address» : «ASN_ADDRESS:hash»,
- Delete directories with ticket.json files, which contains:
«address» : «ASN_ADDRESS:hash»
In our example, the directory C:ProgramDataAcronisBackupAndRecoveryMMSAccessVaultraw1A2B3C45-D67E-8F8G-0H1K-LM2345678NO should be deleted.
Perform this operation for all agents.
If the provided steps didn’t help to resolve the issue, contact Acronis Support with a reference to this article.
Источник
[08001][unixODBC][Microsoft][ODBC Driver 17 for SQL Server]SSL Provider: [error:14090086:SSL routines:ssl3_get_server_certificate:certificate verify failed:subject name does not match host name] #799
Environment
Hi, I am running the following —
Python: 3.6 (64 bit)
pyodbc: 4.0.27
OS: Linux (Redhat 7.6)
driver: ODBC Driver 17 for SQL Server
and am trying to access a SQL SERVER (version 13) hosted on a linux machine.
Issue
When I run following command:
isql -v -k «DRIVER=;SERVER=SERVER_ADDRESS,1433;UID= USERID;Authentication=ActiveDirectoryInteractive;»
I’m receiving following error:
I am able to connect to SQL server on my local machine using Jetbrains Datagrip which uses JDBC connector and driver that automatically downloaded for me.
#610 Looks similar, however, error message is different.
I’ve also tried running isql command with Encrypt=no. But still getting the same error. Python pyodbc code also gives the exact same error as shown above.
Is there anything else I could do? Or is it just some sort of a bug?
Thanks in advance for you help.
The text was updated successfully, but these errors were encountered:
The server is configured to use encryption — if either side requests encryption then connection will be encrypted.
Check that the SERVER_ADDRESS you specify in the connection string matches the name configured in the server’s certificate. If you have no control over it, you can add TrustServerCertificate=Yes to not check the certificate.
Are you really trying to use AAD Interactive authentication on Linux ? That is currently not supported. so even if you get past the initial connection to the server you would not be able to login. Login with AAD credentials is also only for Azure SQL/DW/MI — if this is an instance of SQL that you installed, even if it is running in a VM in Azure, it will only support regular username/password and Windows Integrated (Kerberos) authentication methods.
@v-chojas thanks for the guidance. Didn’t notice Interactive authentication mode is not supported on linux.
I’ve tried
isql -v -k «DRIVER=;SERVER=SERVER_ADDRESS,1433;UID= USERID;PWD=PASSWORD;Authentication=SqlPassword;TrustServerCertificate=Yes»
but still giving the same error. When you say server’s certificate, is it the certificate on server’s side or CA cert on client side?
Try to not specify Authentication as that’s the default you get with UID/PWD (and this must be a SQL Server login — not an AAD credential).
To be clear, is this server Azure SQL, or just an instance of SQL Server installed somewhere (even if it’s an Azure VM)?
Tried without Authentication
[28000][unixODBC][Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Login failed for user ‘USERID’.
Problem is I don’t have control over MSSQL server. But it is a MSSQL server that is installed on linux machine not on Azure SQL nor Azure VM.
That’s better, that error just means your credentials are incorrect. It should work once you have the user and pass correct.
Ended up using SQL authentication instead of Windows.
© 2023 GitHub, Inc.
You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Источник
Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
- Есть вопрос
- Решение проблем
- Блог
- Войдите или зарегистрируйтесь, чтобы отправлять комментарии
Лучший ответ
bsyomov
7 февраля 2020 в 18:44
2
Последнее дело так делать. Надо решать проблему с сертификатами, а не закрывать на неё глаза.
Комментарии
dorofej85
7 февраля 2020 в 15:03
dorofej85
7 февраля 2020 в 15:03
dorofej85
7 февраля 2020 в 16:18
Или где ставить в каком файле
$arrContextOptions=array(
«ssl»=>array(
«verify_peer»=>false,
«verify_peer_name»=>false,
),
);
$sw=file_get_contents(ЛИНК, false, stream_context_create($arrContextOptions));
bsyomov
7 февраля 2020 в 18:44
2
Последнее дело так делать. Надо решать проблему с сертификатами, а не закрывать на неё глаза.
dorofej85
7 февраля 2020 в 16:30
как решить этот вопрос Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
bsyomov
7 февраля 2020 в 18:45
Вы точно проверили валидность и не просроченность сертификата именно на почтовом сервере (не сайте)? Там не самоподписанный какой-нибудь сертификат?
dorofej85
7 февраля 2020 в 18:49
да на портале они действительны а по срокам там в самой папке апача смотрел они прям на несколько лет такое ощущение — что они от мозиллы какие то не правильные и их не переваривает drupal 7.69 и php 7.2 !
Что посоветуете?
bsyomov
7 февраля 2020 в 20:50
1
Ещё раз. При чём тут апач? Проверять надо сертификат почтового сервера, с которым вы соединяетесь по smtp. Не веб сервера.
dorofej85
7 февраля 2020 в 18:51
dorofej85
7 февраля 2020 в 18:55
Могу через фтп посмотреть!
ivnish
7 февраля 2020 в 18:57
Прошу не флудить сообщениями. Это всё таки не чат, а форум. Если вам есть, что добавить, то просьба редактировать свой предыдущий комментарий
dorofej85
7 февраля 2020 в 21:32
А как проверить сертификат почтового сервера ? Где?
dorofej85
7 февраля 2020 в 23:01
А как проверить сертификат почтового сервера ? Где? В каком файле друпала?
ivnish
7 февраля 2020 в 23:01
Эээ а при чем тут друпал? В друпале нет почтового сервера. Он у вас где-то установлен и прописан в настройках модуля smtp
dorofej85
7 февраля 2020 в 23:30
Да есть такой модуль smtp! Где это в настройках этого модуля (проверить сертификат)?
ivnish
7 февраля 2020 в 23:33
Нигде. Модуль обращается к вашему почтовому серверу, который вы указали в настройках модуля smtp. Вот этот сервер вам и нужно проверить. Если вы не предоставите больше информации (хотя бы скриншот этих настроек) мы так и будем гадать на кофейной гуще
dorofej85
7 февраля 2020 в 23:51
То есть такая ошибка возникает лишь из за не верной настройки в модуле smtp — почтового сервера?
ivnish
7 февраля 2020 в 23:55
В модуле smtp (и аналогичных) вы указываете действующий почтовый сервер. Это может быть сервер яндекса, гугла, майл.ру или ваш собственный. Если с почтовым сервером проблема, то РАЗУМЕЕТСЯ никакой модуль друпала не сможет отправлять письма через него. О чем вам и сообщил модуль сразу же: что у вашего почтового сервера есть проблема с сертификатом.
Вы на вопрос-то ответите? Через какой почтовый сервер вы пытаетесь отправлять почту?
dorofej85
8 февраля 2020 в 0:05
Я не смотрел настройки- то есть модуль сообщил что у сервера на который я настроил отправкуимеет проблемы с сертификатом?
dorofej85
10 февраля 2020 в 13:50
Пишет по инету где где то цепочка сертификатов не актуальна
Warning: stream_socket_enable_crypto(): SSL operation failed with code 1. OpenSSL Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
в каких папках искать не актуальные сеертификаты?
bsyomov
10 февраля 2020 в 14:39
Это одна из возможностей, совсем не самая вероятная, и если у вас оно, то поможет только техподдержка вашего хостинга. Но вероятнее, проблема всё же в почтовике.
dorofej85
10 февраля 2020 в 14:02
Или вообще нубудь добавить в строки где эту проверку пытается пройти
public function StartTLS() {
$this->error = NULL; # to avoid confusion
if (!$this->connected()) {
$this->error = array(«error» => «Called StartTLS() without being connected»);
return FALSE;
}
fputs($this->smtp_conn, «STARTTLS» . $this->CRLF);
$rply = $this->get_lines();
$code = substr($rply, 0, 3);
if ($this->do_debug >= 2) {
drupal_set_message(t(«SMTP -> FROM SERVER: @rply», array(«@rply» => $rply)));
}
if ($code != 220) {
$this->error =
array(«error» => «STARTTLS not accepted from server»,
«smtp_code» => $code,
«smtp_msg» => substr($rply, 4));
if ($this->do_debug >= 1) {
drupal_set_message(t(«SMTP -> ERROR: @Error: @rply», array(«@Error» => $this->error[«error»], «@rply» => $rply)));
}
return FALSE;
}
// Begin encrypted connection
if (!stream_socket_enable_crypto($this->smtp_conn, TRUE, STREAM_CRYPTO_METHOD_TLS_CLIENT)) {
return FALSE;
}
return TRUE;
}
Где функция stream_socket_enable_crypto(
dorofej85
10 февраля 2020 в 14:44
Данные почтового сервера все нормальные ! Я проверял полностью. Может все таки в строке где он пытается пройти проверку отключить проверку самого ssl
Error messages: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed в функции SMTP->StartTLS() (строка 202 в файле /media/ams/www/sites/all/modules/smtp/smtp.transport.inc).
То есть в самом файле smtp.transport.inc
bsyomov
10 февраля 2020 в 15:29
Как проверяли сертификат почтового сервера?
Если отключать проверку, то может вообще ssl/tls не использовать, что толку-то, и хакать модуль не надо будет хотя бы?
dorofej85
10 февраля 2020 в 14:44
dorofej85
10 февраля 2020 в 14:59
dorofej85
10 февраля 2020 в 15:37
Сертификат почтового сервера отправил на проверку админисратора — они завтра сообщат результат а если при попытке восстановления забытого пароля (именно при этом процессе и регистрации возникает этот трабл) отключить проверку ssl/tls _ то как это сделать сообщите мне пожайлуста?
bsyomov
10 февраля 2020 в 15:43
Если почтовый сервер допускает подключение без ssl/tls, то его и использовать. Не где-то в отдельных процессах, а вообще. Имелось в виду это.
Собственно, ошибка у вас возникать должна всегда, когда посылается письмо с сайта. То, что вы описываете, это просто частные случаи.
dorofej85
10 февраля 2020 в 15:44
То есть как отключить не подскажите? Вообще этот StartTLS() ?
bsyomov
10 февраля 2020 в 16:19
Узнать порт, на котором к почтовику можно подключиться без шифрования, указать его в настройках smtp, «использовать шифрование» установить «нет».
While attempting to clean up our project dependencies, composer is failing with the errors:
The "https://packagist.drupal-composer.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
https://packagist.drupal-composer.org could not be fully loaded, package information was loaded from the local cache and may be out of date
This is happening on a vagrant CentOS 7 box.
asked Apr 26, 2016 at 19:58
I found one answer that recommended to download the Mozilla CA certificate store and ensuring that openssl.cafile
is set in php.ini but that didn’t work for me.
I ran wget -v https://packagist.drupal-composer.org/packages.json
to see what it returned from both my local machine (it worked correctly) and the vagrant box. The output on the vagrant box was:
--2016-04-24 09:08:30-- https://packagist.drupal-composer.org/packages.json
Resolving packagist.drupal-composer.org... 147.75.205.69
Connecting to packagist.drupal-composer.org|147.75.205.69|:443... connected.
ERROR: cannot verify packagist.drupal-composer.org's certificate, issued by "/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3":
Issued certificate not yet valid.
To connect to packagist.drupal-composer.org insecurely, use '--no-check-certificate'.
It seemed strange to me that the certificate was coming back as not yet valid, until I realized that the date in the output was off by 2 days (today is 04-26, not 04-24). After fixing the system clock I retried and was able to download all the dependencies.
answered Apr 26, 2016 at 19:58
While attempting to clean up our project dependencies, composer is failing with the errors:
The "https://packagist.drupal-composer.org/packages.json" file could not be downloaded: SSL operation failed with code 1. OpenSSL Error messages:
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed
Failed to enable crypto
failed to open stream: operation failed
https://packagist.drupal-composer.org could not be fully loaded, package information was loaded from the local cache and may be out of date
This is happening on a vagrant CentOS 7 box.
asked Apr 26, 2016 at 19:58
I found one answer that recommended to download the Mozilla CA certificate store and ensuring that openssl.cafile
is set in php.ini but that didn’t work for me.
I ran wget -v https://packagist.drupal-composer.org/packages.json
to see what it returned from both my local machine (it worked correctly) and the vagrant box. The output on the vagrant box was:
--2016-04-24 09:08:30-- https://packagist.drupal-composer.org/packages.json
Resolving packagist.drupal-composer.org... 147.75.205.69
Connecting to packagist.drupal-composer.org|147.75.205.69|:443... connected.
ERROR: cannot verify packagist.drupal-composer.org's certificate, issued by "/C=US/O=Let's Encrypt/CN=Let's Encrypt Authority X3":
Issued certificate not yet valid.
To connect to packagist.drupal-composer.org insecurely, use '--no-check-certificate'.
It seemed strange to me that the certificate was coming back as not yet valid, until I realized that the date in the output was off by 2 days (today is 04-26, not 04-24). After fixing the system clock I retried and was able to download all the dependencies.
answered Apr 26, 2016 at 19:58