Ayant débuté le php récemment, je me demandais quel était le problème dans mon code. Je m'explique : via du C# que je maitrise plutôt bien, j'essaie d'envoyer une clé aes chiffré avec une clé rsa public (donc déchiffrable par la clé rsa privée) or je ne recoit que du vide coté C# et php (vu que l'echo est censé me renvoyer ma clé aes déchiffrée pour tester.
Une idée ?
C#:
Code : Tout sélectionner
string key = ((string)json.rsaPublic).Replace("-----BEGIN PUBLIC KEY-----", "").Replace("-----END PUBLIC KEY-----", "");
byte[] toEncrypt = Encoding.UTF8.GetBytes(Utils.tempAESKey);
RSACryptoServiceProvider RSA = new RSACryptoServiceProvider();
RSAParameters RSAKeyInfo = RSA.ExportParameters(false);
RSAKeyInfo.Modulus = Encoding.Default.GetBytes(key);//Public Key
RSA.ImportParameters(RSAKeyInfo);
string encryptedAESKey = Convert.ToBase64String(RSA.Encrypt(toEncrypt, false));
string sendAES = httpRequest.Post("requestWithencryptedAESKey").ToString();
MessageBox.Show(sendAES);//EmptyCode : Tout sélectionner
if ($conn->query($sql) == TRUE)
{
$row = $res->fetch_assoc();
$arr = $row['rsaPrivate'];
$replaceBegin = str_replace("-----BEGIN PRIVATE KEY-----", "", $arr);
$replaceEnd = str_replace("-----END PRIVATE KEY-----", "", $replaceBegin);
openssl_private_decrypt(base64_decode($PostAESKey), $PostDecryptedAES , openssl_pkey_get_private($arr) ) ; //does not work
echo $PostDecryptedAES; //does not work
}