В этой статье
- TLS 1.2 test – PHP CURL error 1407742E when submitting request to sandbox
- Как на Golang написать http сервер, который по POST запрос будет установлять Cron и удалять через DELETE Crontab job в линуксе?
- Как отправить письмо с помощью golang?
- The Red Herring Error
- TLS 1.0 when only 1.1/1.2 allowed
- Client Sends HTTP Request
- Golang выдает ошибку, что делать?
- SSLv3 when only TLS 1.0+ allowed
- Как установить шифрованное по ключу (RSA/MD5/BASE64) соединение по сокету Golang?
- TLS 1.2 when only 1.1 allowed
- Как через os/exec запустить сторонний exe файл в GoLang?
- Как задать тип для структуры, где может быть массив или строка?
- Запутался с установкой golang, что делать?
- Introduction
- Table of Contents
- Можно ли избавиться от избыточных типов (struct) в Golang?
- Cтоит ли использовать golang с next.js?
- Минуточку внимания
- Как bytes.Buffer создает новый срез байтов через new?
TLS 1.2 test – PHP CURL error 1407742E when submitting request to sandbox
View the Solution This topic has been marked as solved.
Hi,
I’m getting a PHP CURL error when submitting a test transaction to my sandbox account at https://test.authorize.net/gateway/transact.dll. The error is:
1407742E:SSL routines:SSL23_GET_SERVER_HELLO:tlsv1 alert protocol version
Does this mean that the version of CURL on the server is not configured to work properly with TLS 1.2? From what I can tell from the PHP Info, the CURL version is 7.36.0 and SSL Version is OpenSSL/0.9.8. PHP version is 5.4.32.
Test code looks like below:
$url = ‘https://test.authorize.net/gateway/transact.dll’;
$ch = curl_init( $url );
curl_setopt( $ch, CURLOPT_POST, true);
curl_setopt( $ch, CURLOPT_POSTFIELDS, $vPostData);
curl_setopt( $ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt( $ch, CURLOPT_VERBOSE, true);
$response = curl_exec( $ch );
if ($response === false) {
echo “curl_exec failed
“;
trigger_error(curl_error($ch));
} else {
echo “response: ” . $response;
}
curl_close($ch);
?>
Thanks!
Solved!
Go to Solution.
Me too
- curl
- PHP
- tls1.2
jsargent3840
Member
02-08-201812:54 PM
0
Kudos
Share Reply
- All forum topics
- Previous Topic
- Next Topic
1 ACCEPTED SOLUTION
Accepted Solutions
Options
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Как на Golang написать http сервер, который по POST запрос будет установлять Cron и удалять через DELETE Crontab job в линуксе?
- 1 подписчик
- 19 сент.
- 198 просмотров
ответа
2

Поисковая оптимизация
- +2 ещё
Средний
Как отправить письмо с помощью golang?
- 1 подписчик
- 30 сент.
- 154 просмотра
ответ
1

Компьютерные сети
- +2 ещё
Средний
The Red Herring Error
Before we begin, we need to point out this error message that will almost always occur in the DataPower logs when SSL goes wrong:
<текстареа wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 11px !important; line-height: 15px !important;">
[0x81200025][ssl][error] … : SSL peer did not send a certificate during the handshake12345 | [0x81200025][ssl][error]…: SSL peer did notsendacertificate during the handshake |
A junior DataPower administrator will hone in on this message and proudly declare that the client was misconfigured because it did not send a certificate. This sends the client team scurrying to their server and staring at their certificate. While the DataPower admin is technically correct that a certificate never arrived, it is more likely that the handshake failed long before the point where certificate presentation occurs.
It would be nice if the DataPower development team stopped logging this message, or at least changed the text for accuracy. It’s written too authoritatively. It’s almost never the root cause and it wastes critical debugging time. This waste gets much worse when the client is an external vendor and inexperienced in SSL troubleshooting.
In all of our examples, you will see this message written even though it had nothing to do with the certificate itself. Be aware.
текстареа>
TLS 1.0 when only 1.1/1.2 allowed
<текстареа wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 10px !important; line-height: 15px !important;">
[0x8120002f][ssl][error] ssl-server … : SSL library error: error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol[0x81200025][ssl][error] ssl-server … : SSL peer did not send a certificate during the handshake
[0x80e00130][http][error] xmlfirewall … : could not establish SSL for incoming connection
[0x80e00531][xmlfirewall][debug] xmlfirewall … : Starting termination of connection 192.168.1.46:49240 192.168.1.10:9195
123456 | [0x8120002f][ssl][error]ssl-server…:SSL library error:error:140760FC:SSL routines:SSL23_GET_CLIENT_HELLO:unknown protocol[0x81200025][ssl][error]ssl-server…:SSL peer did notsendacertificate during the handshake[0x80e00130][http][error]xmlfirewall…:could notestablish SSL forincoming connection[0x80e00531][xmlfirewall][debug]xmlfirewall…:Starting termination of connection192.168.1.46:49240192.168.1.10:9195 |
In this scenario, the client sent a TLS 1.0 connection but DataPower is configured to only accept TLS1.1 or TLS1.2 connections. This is common when integrating with legacy environments that may not support the latest TLS protocols. DataPower writes that an unknown protocol was encountered.
текстареа>
Client Sends HTTP Request
<текстареа wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 10px !important; line-height: 15px !important;">
[0x8120002f][ssl][error] ssl-server … : SSL library error: error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request[0x81200025][ssl][error] ssl-server … : SSL peer did not send a certificate during the handshake
[0x80e00130][http][error] xmlfirewall … : could not establish SSL for incoming connection
[0x80e00531][xmlfirewall][debug] xmlfirewall … : Starting termination of connection 192.168.1.46:52959 192.168.1.10:9195
123456 | [0x8120002f][ssl][error]ssl-server…:SSL library error:error:1407609C:SSL routines:SSL23_GET_CLIENT_HELLO:http request[0x81200025][ssl][error]ssl-server…:SSL peer did notsendacertificate during the handshake[0x80e00130][http][error]xmlfirewall…:could notestablish SSL forincoming connection[0x80e00531][xmlfirewall][debug]xmlfirewall…:Starting termination of connection192.168.1.46:52959192.168.1.10:9195 |
In this scenario, the client forgot that we’re an HTTPS endpoint and hit it with plain ol’ HTTP. In the old firmware, you would see an error about writing a descriptor(8). Today, you clearly see that the SSL library identified the client as HTTP. This error can be common when network health checkers are misconfigured and don’t use half-open to determine service availability. Effort should be made to fix the extraneous errors from occurring in the log.
текстареа>
Golang выдает ошибку, что делать?
- 1 подписчик
- 15 окт.
- 81 просмотр
ответ
1

Linux
- +1 ещё
Простой
SSLv3 when only TLS 1.0+ allowed
<текстареа wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 10px !important; line-height: 15px !important;">
[0x8120002f][ssl][error] ssl-server … : SSL library error: error:1408A10B:SSL routines:ssl3_get_client_hello:wrong version number[0x81200025][ssl][error] ssl-server … : SSL peer did not send a certificate during the handshake
[0x80e00130][http][error] xmlfirewall … : could not establish SSL for incoming connection
[0x80e00531][xmlfirewall][debug] … : Starting termination of connection 192.168.1.46:49316 192.168.1.10:9195
123456 | [0x8120002f][ssl][error]ssl-server…:SSL library error:error:1408A10B:SSL routines:ssl3_get_client_hello:wrong version number[0x81200025][ssl][error]ssl-server…:SSL peer did notsendacertificate during the handshake[0x80e00130][http][error]xmlfirewall…:could notestablish SSL forincoming connection[0x80e00531][xmlfirewall][debug]…:Starting termination of connection192.168.1.46:49316192.168.1.10:9195 |
In this scenario, the client sends an SSLv3 connection but DataPower is configured to only accept TLS 1.0, 1.1 and 1.2. The same error message occurs if the client sends SSLv2. SSLv3 and SSLv2 are ancient versions and any occurrence of this error in the DataPower environment should be forwarded to the enterprise security team to ensure that its still suitable for the client to be so backleveled.
текстареа>
Как установить шифрованное по ключу (RSA/MD5/BASE64) соединение по сокету Golang?
- 2 подписчика
- 29 сент.
- 117 просмотров
ответ
1

Go
Простой
TLS 1.2 when only 1.1 allowed
<текстареа wrap="soft" class="crayon-plain print-no" data-settings="dblclick" readonly="" style="-moz-tab-size:4; -o-tab-size:4; -webkit-tab-size:4; tab-size:4; font-size: 10px !important; line-height: 15px !important;">
[0x8120002f][ssl][error] ssl-server … : SSL library error: error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version[0x81200025][ssl][error] ssl-server … : SSL peer did not send a certificate during the handshake
[0x80e00130][http][error] xmlfirewall … : could not establish SSL for incoming connection
[0x80e00531][xmlfirewall][debug] xmlfirewall … : Starting termination of connection 192.168.1.46:57804 192.168.1.10:9195
123456 | [0x8120002f][ssl][error]ssl-server…:SSL library error:error:1409442E:SSL routines:ssl3_read_bytes:tlsv1 alert protocol version[0x81200025][ssl][error]ssl-server…:SSL peer did notsendacertificate during the handshake[0x80e00130][http][error]xmlfirewall…:could notestablish SSL forincoming connection[0x80e00531][xmlfirewall][debug]xmlfirewall…:Starting termination of connection192.168.1.46:57804192.168.1.10:9195 |
In this scenario, the client send a TLS 1.2 connection but DataPower is configured to only accept TLS 1.1. This error message occurs when a higher TLS version arrives than what the server supports. For completeness, the same error occurred when the client sent TLS 1.1 but DataPower only accepted 1.0.
текстареа>
Как через os/exec запустить сторонний exe файл в GoLang?
- 1 подписчик
- 27 сент.
- 108 просмотров
ответ
1

Go
Простой
Как задать тип для структуры, где может быть массив или строка?
- 1 подписчик
- 24 сент.
- 117 просмотров
ответа
3

Linux
- +1 ещё
Средний
Запутался с установкой golang, что делать?
- 1 подписчик
- 13 окт.
- 146 просмотров
ответа
4

Go
Средний
Introduction
SSL / TLS is the most popular method of securing a connection between two endpoints. It allows the client and server to verify identity and then encrypt the subsequent data exchange. In an IBM DataPower Gateway environment, this is the most common integration point and also the most common location for trouble.
In the older firmware, you would have to walk a checklist of the entire SSL Proxy Profile to guess at what had gone wrong. It was a tedious process. Luckily, since firmwares 5.0.0.18, 6.0.0.10, 6.0.1.6, 7.0.0.3, 7.1.0.0 and 7.2.0.0 DataPower writes SSL library errors to the log. These errors occur at a lower abstraction level and therefore provide better granularity on the specific cause of the failure. This improves the debugging process substantially but still does not allieviate the DataPower administrator of a solid knowledge of TLS.
In this article, we issue deficient TLS requests to a DataPower endpoint and show what is captured in the log. To reproduce these tests, simply grab a copy of openssl and use the ‘s_client’ option.
Table of Contents
- 1. Introduction
- 2. Red Herring
- 3. HTTP Request
- 4. TLS1.0 Request
- 5. TLS1.2 Request
- 6. SSLv3 Request
- 7. Cipher Mismatch
- 8. No Certificate Presented
- 9. Expired Certificate
- 10. Client Validation Failed
- 11. Successful Validation
- 12. Server Validation Failed
- 13. Testing
- 14. Conclusion
Можно ли избавиться от избыточных типов (struct) в Golang?
- 1 подписчик
- 16 окт.
- 76 просмотров
ответ
1

Go
Простой
Cтоит ли использовать golang с next.js?
- 2 подписчика
- 19 сент.
- 171 просмотр
ответа
2
Вакансии с Хабр Карьеры
Go разработчик
SberTech
•Санкт-Петербург
от 175 000 до 230 000 ₽
Разработчик GO
Genue
от 4 000 $
Go-разработчик
Контур
•Санкт-Петербург
До 180 000 ₽
Ещё вакансии
Заказы с Хабр Фриланса
Разработка задания (node.js)
18 окт. 2022, в 15:46
10 руб./за проект
Сделать Webview Android из веб приложения
18 окт. 2022, в 15:23
5000 руб./за проект
Решить задачу на голом Питоне
18 окт. 2022, в 15:19
2500 руб./за проект
Ещё заказы
Минуточку внимания
Присоединяйтесь к сообществу, чтобы узнавать новое и делиться знаниями
Зарегистрироваться
Самое интересное за 24 часа
Можно ли заменить в ноутбуке экран на другой, с более высоким разрешением?
- 2 подписчика
- 1 ответ
Как вывести общее количество товаров магазина Woocommerce в записи/на странице с помощью шорткода?
- 2 подписчика
- 0 ответов
Можно ли удалить рекламу Yandex с сайта?
- 4 подписчика
- 3 ответа
Как исправить эту ошибку docker-compose?
- 1 подписчик
- 1 ответ
Как скачивать с защищенных каналов Telegram?
- 8 подписчиков
- 1 ответ
Какие есть сервисы кэширования для сайта?
- 7 подписчиков
- 1 ответ
Как Отправить сгенерированный пдф файл на электронную почту?
- 2 подписчика
- 1 ответ
Как дать роли права на чтение только со slave?
- 2 подписчика
- 1 ответ
Как изменить код таким образом, чтобы промисы выполнялись поочередно?
- 2 подписчика
- 1 ответ
Как сгрупировать значения multiselect инпута в подмассивы если в форме несколько multiselect инпутов с одним названием tags[]?
- 2 подписчика
- 1 ответ
- © Habr
- О сервисе
- Обратная связь
- Блог
Как bytes.Buffer создает новый срез байтов через new?
- 1 подписчик
- 08 окт.
- 54 просмотра
ответ
1

Go
- +1 ещё
Простой
- https://community.developer.cybersource.com/t5/Integration-and-Testing/TLS-1-2-test-PHP-CURL-error-1407742E-when-submitting-request-to/td-p/61571
- https://qna.habr.com/q/522161
- http://www.orangespecs.com/datapower-tls-ssl-errors/