生成AES-256对称密钥我环顾四周 - 而且在谷歌的任何地方 - 直接和明确地回答了这个问题,但没有得到任何答案。所以这里简单和简单的是或不会是真棒...我如何使用php
我已被要求创建一个“AES-256对称(也称为”会话“)密钥” - 不加密,只是关键 - 用于在肥皂邮件标题内签署数据。要求是关键是256“的大小”... 是的,我知道...
我知道,MCRYPT_RIJNDAEL_128大小32真的是在AES的AES-256密码。我读了所有这些。
我知道人们问我在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标签)。它必须在另一端解密,并用于验证签名标题的摘要...然后甘道夫显示...
我问,因为我从另一方告诉(使用java ),“产生对称密钥的方式是错误的”,但没有明确解释它的错误以及如何纠正错误。
任何人都可以帮忙吗?我会很感激它...
谢谢。
这可能是,但是这个代码是不必要的复杂。 –
好的。所以随机字节()或openssl_random_pseudo_bytes()更好?!也没有关于这个地方的任何迹象,但因为我必须加密密钥 - 我必须base64_encode它加密之前?我在soap security上找到的代码会加密原始密钥。只是确保我能够获得足够的信息。谢谢。 – darwingoat
是的,这两种方法在代码方面更好,因为您不必使用循环。我没有使用SOAP加密的经验,因此我不知道如何在生成密钥后使用它。 –