PHP не может безопасно общаться со сверстниками: нет общего алгоритма (ы) (ы) с TLS1.3Php

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 PHP не может безопасно общаться со сверстниками: нет общего алгоритма (ы) (ы) с TLS1.3

Сообщение Anonymous »

У меня есть некоторые проблемы с PHP и Curl с заблокированным запросом, и я думаю, что это из -за отсутствия поддержки TLSV1.3 < /p>
Я использую следующий код для проверки моего Соединение с https://www.howsmyssl.com/a/check, чтобы увидеть, отправляются ли это TLS

Код: Выделить всё

function get_tls_version($tlsVersion)
{
$c = curl_init();
curl_setopt($c, CURLOPT_URL, "https://www.howsmyssl.com/a/check");
curl_setopt($c, CURLOPT_RETURNTRANSFER, true);
curl_setopt($c, CURLOPT_SSLVERSION, $tlsVersion);

$rbody = curl_exec($c);
if ($rbody === false) {
$errno = curl_errno($c);
$msg = curl_error($c);
curl_close($c);
return "Error! errno = " . $errno . ", msg = " . $msg;
} else {
$r = json_decode($rbody);
curl_close($c);
return $r->tls_version;
}
}
echo '
';
echo "OS: " . PHP_OS . "\n";
echo "uname: " . php_uname() . "\n";
echo "PHP version: " . phpversion() . "\n";

$curl_version = curl_version();
echo "curl version: " . $curl_version["version"] . "\n";
echo "SSL version: " . $curl_version["ssl_version"] . "\n";
echo "SSL version number: " . $curl_version["ssl_version_number"] . "\n";
echo "OPENSSL_VERSION_NUMBER: " . dechex(OPENSSL_VERSION_NUMBER) . "\n";

echo "\nTesting CURL_SSLVERSION_TLSv... (not forced)\n";
echo "Result TLS_Default: " . get_tls_version(0) . "\n";
echo "Result TLS_v1_1: " . get_tls_version(5) . "\n";
echo "Result TLS_v1_2: " . get_tls_version(6) . "\n";
echo "Result TLS_v1_3: " . get_tls_version(7) . "\n";

echo "\nTesting CURL_SSLVERSION_MAX_TLSv...\n";
echo "Result MAX_Default: " . get_tls_version(65536) . "\n";
echo "Result MAX_TLS_v1_1: " . get_tls_version(327680) . "\n";
echo "Result MAX_TLS_v1_2: " . get_tls_version(393216) . "\n";
echo "Result MAX_TLS_v1_3: " . get_tls_version(458752) . "\n";
< /code>
Это возвращает < /p>
OS: Linux
uname: Linux XXX.com 3.10.0-1160.59.1.el7.x86_64 #1 SMP Wed Feb 23 16:47:03 UTC 2022 x86_64
PHP version: 8.2.25
curl version: 7.29.0
SSL version: NSS/3.90
SSL version number: 0
OPENSSL_VERSION_NUMBER: 100020bf

Testing CURL_SSLVERSION_TLSv... (not forced)
Result TLS_Default: TLS 1.2
Result TLS_v1_1: TLS 1.1
Result TLS_v1_2: TLS 1.2
Result TLS_v1_3: Error! errno = 35, msg = Cannot communicate securely with peer: no common encryption algorithm(s).

Testing CURL_SSLVERSION_MAX_TLSv...
Result MAX_Default: TLS 1.2
Result MAX_TLS_v1_1: TLS 1.2
Result MAX_TLS_v1_2: TLS 1.2
Result MAX_TLS_v1_3: TLS 1.2
Для TLSV1.3 Я получаю ошибку не может безопасно общаться с одноранговым алгоритмом (я).

Код: Выделить всё

{
"given_cipher_suites": [
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_256_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA",
"TLS_DHE_DSS_WITH_AES_128_CBC_SHA",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA",
"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA",
"TLS_RSA_WITH_AES_256_GCM_SHA384",
"TLS_RSA_WITH_AES_256_CBC_SHA",
"TLS_RSA_WITH_AES_256_CBC_SHA256",
"TLS_RSA_WITH_AES_128_GCM_SHA256",
"TLS_RSA_WITH_AES_128_CBC_SHA",
"TLS_RSA_WITH_AES_128_CBC_SHA256",
"TLS_RSA_WITH_3DES_EDE_CBC_SHA"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {
"TLS_DHE_DSS_WITH_3DES_EDE_CBC_SHA": [
"uses 3DES which is vulnerable to the Sweet32 attack but was not configured as a fallback in the ciphersuite order"
],
"TLS_DHE_RSA_WITH_3DES_EDE_CBC_SHA": [
"uses 3DES which is vulnerable to the Sweet32 attack but was not configured as a fallback in the ciphersuite order"
]
},
"tls_version": "TLS 1.2",
"rating": "Bad"
}
, если я возьму curl и запускаю curl -request post 'https://ssl.reddit.com/api/v1/access_token' -v -i Я получаю ssl Соединение с использованием TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (который отображается в приведенном выше списке, но конкретный веб -сайт я пытаюсь сделать запрос на возврат 403), но если я добавлю флаг -tlsv1.3 , i Получить соединение SSL, используя TLS_AES_128_GCM_SHA256 (который не отображается в приведенном выше списке) ..
Является ли запрос на блокировку API API APAR APAR ACCES_TOKEN в REDDIT, который использует TLSV1.2?
Что мне нужно сделать, чтобы сделать PHP -curl должным образом отправить запрос TLSV1.3? < /p>

Подробнее здесь: https://stackoverflow.com/questions/794 ... rithms-wit
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»