Я действительно оглядывался - и везде в google - для прямого и ясного ответа на этот вопрос, но не получил нигде. так что здесь простое и простое да или нет было бы замечательно ...Как создать симметричный ключ AES-256, используя php
Мне было предложено создать «симметричный (также называемый« сеанс ») ключ AES-256 - не шифрование, просто ключ - для использования значить данные в заголовках мыльных сообщений. требование состоит в том, что ключ имеет размер 256 "... Да, я знаю ...
Я знаю, что размер 32 MCRYPT_RIJNDAEL_128 - это действительно шифр AES-256 в php. Я все это прочитал.
Я знаю, что люди, спрашивающие меня, имеют реализацию в java, которая работает на них. я должен работать с php. У меня есть следующий код: `
$keysize = mcrypt_module_get_algo_key_size(MCRYPT_RIJNDAEL_128);
$td = mcrypt_module_open(MCRYPT_RIJNDAEL_128, '',MCRYPT_MODE_CBC, '');
$keysize = 32;
while (strlen($key) < $keysize) $key = mcrypt_create_iv(mcrypt_enc_get_iv_size ($td),MCRYPT_RAND);
это даст мне сырой«ключ».
вопрос: является ли сырой ключ над «сеансом/симметричным ключом AES-256», который может использоваться для подписи заголовков безопасности мыла?
После того, как для подписи используется необработанный ключ, он зашифровывается с использованием ключа из открытого сертификата (с использованием rsa-oaep-mgf1p) и встроен в заголовки (EncryptedKey tag). он должен быть расшифрован на другом конце и использоваться для проверки дайджестов подписанных заголовков ... и затем появляется gandalf ...
Я спрашиваю, потому что мне сказали с другой стороны (используя java), что «что-то не так, как генерируется симметричный ключ», но без ясного объяснения того, что не так, и как правильно это неправильно.
Может ли кто-нибудь помочь? я был бы признателен ...
спасибо.
Это, вероятно, есть, но этот код излишне сложным. –
ОК. так что случайные байты() или openssl_random_pseudo_bytes() лучше ?! также - в этом нет никаких указаний, но поскольку я должен зашифровать ключ, я должен использовать base64_encode перед шифрованием? код, который я нашел на мыльной безопасности, шифрует необработанный ключ. просто убедившись, что у меня может быть достаточно информации. Благодарю. – darwingoat
Да, эти два варианта лучше с точки зрения кода, потому что вам не нужно использовать цикл. У меня нет опыта использования SOAP-шифрования, поэтому я не знаю, как его можно использовать после генерации ключа. –