par
mehdi81101 » 03 sept. 2021, 09:30
Bonjour bonjour,
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);//Empty
PHP:
Code : 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
}
Bonjour bonjour,
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] 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);//Empty[/code]
PHP:
[code]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
} [/code]