Как проверить парольную фразу с помощью закрытого ключа в PHP?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как проверить парольную фразу с помощью закрытого ключа в PHP?

Сообщение Anonymous »

Я работаю над проверкой парольной фразы для закрытого ключа в PHP. Моя цель — подтвердить, верна ли предоставленная парольная фраза для данного закрытого ключа. Вот базовый подход, который я пытаюсь использовать, но, похоже, я столкнулся с проблемой, когда проверка работает даже для неправильных парольных фраз.
Что я пробовал:
Я декодирование закрытого ключа в кодировке Base64, временное сохранение его в файле, а затем использование openssl_pkey_get_private() для загрузки закрытого ключа с парольной фразой. Вот упрощенная версия кода:

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

$private_key_encoded = '...';  // Base64 encoded private key
$passphrase = 'your_passphrase';

// Decode the base64-encoded private key
$private_key_decoded = base64_decode($private_key_encoded);

// Write decoded private key to a temporary file
$tmp_key_file = tempnam(sys_get_temp_dir(), 'key');
file_put_contents($tmp_key_file, $private_key_decoded);

// Try to load the private key using the passphrase
$privateKey = openssl_pkey_get_private("file://$tmp_key_file", $passphrase);

if ($privateKey !== false) {
echo 'Passphrase is correct!';
} else {
echo 'Passphrase is incorrect!';
}

// Clean up temporary file
unlink($tmp_key_file);
Даже если я использую неправильную парольную фразу, openssl_pkey_get_private() возвращает объект OpenSSLAsymmetricKey (в PHP 8.x). Это заставляет меня думать, что парольная фраза не проверяется строго.
Каков правильный способ строгой проверки парольной фразы для закрытого ключа в PHP? Есть ли более надежный способ убедиться, что парольная фраза проверена? Стоит ли мне попытаться подписать данные с помощью ключа для принудительной проверки?
Будем признательны за любые советы или примеры кода. Спасибо!

Подробнее здесь: https://stackoverflow.com/questions/790 ... key-in-php
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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