Макетировать закрытый / открытый ключ в модульном тесте?

В настоящее время у меня есть кодовая база, которая использует openssl_public_encrypt/openssl_private_decrypt, Теперь я хотел бы проверить свои методы шифрования и дешифрования с помощью модульного теста, поскольку они очень важны.

Чтобы действительно проверить их, я думаю, что я хотел бы просто высмеять закрытый и открытый ключи. Является ли это жизнеспособным, и как бы я пошутил над этими ключами, не помещая конфиденциальную информацию в мою кодовую базу?

Конечно, я мог бы обойти открытую / закрытую часть openssl и посмеяться над результатом этого, но эта логика также вызывает некоторые исключения и т. Д., Которые я хотел бы проверить.

2

Решение

Если у вас установлено и включено расширение OpenSSL в PHP, вы можете сгенерировать пару открытых / закрытых ключей с помощью функций OpenSSL:

openssl_pkey_new, для закрытый ключ с:

$private_key = openssl_pkey_new([
'digest_alg' => 'sha256',
'private_key_bits' => 1024,
'private_key_type' => OPENSSL_KEYTYPE_RSA
]);

Затем передайте закрытый ключ openssl_pkey_get_details получить подробную информацию о ключе, включая открытый ключ:

$details = openssl_pkey_get_details($private_key);
$public_key = $details['key'];
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]