Je reçois une chaîne cryptée à partir d'un service externe que j'ai besoin de décrypter, puis de rechiffrer en utilisant le BouncyCastle API.BouncyCastle Decryption fonctionne, mais pas Cryptage?
J'ai réussi à faire fonctionner correctement le décryptage, mais le cryptage ne semble pas fonctionner. Lorsque j'essaie de décrypter une chaîne générée par ma méthode de cryptage, j'obtiens un InvalidCipherTextException
avec le message "type de bloc inconnu".
Ceci est mon code de décryptage qui décrypte avec succès le texte du service que je suis interface avec:
string Decrypt(string value)
{
string Signature = "My_Signature";
RsaKeyParameters keyParams = (RsaKeyParameters)PublicKeyFactory.CreateKey(Convert.FromBase64String(Signature));
IBufferedCipher cipher = CipherUtilities.GetCipher("RSA/NONE/PKCS1Padding");
cipher.Init(false, keyParams);
byte[] secretBytes = Convert.FromBase64String(value);
byte[] decrypted = cipher.DoFinal(secretBytes);
return Encoding.Default.GetString(decrypted);
}
Ceci est ma méthode de cryptage, ce qui ne semble pas générer une chaîne cryptée que ma méthode de déchiffrement peut gérer:
string Encrypt(string value)
{
string Signature = "My_Signature";
RsaKeyParameters keyParams = (RsaKeyParameters)PublicKeyFactory.CreateKey(Convert.FromBase64String(Signature));
IBufferedCipher cipher = CipherUtilities.GetCipher("RSA/NONE/PKCS1Padding");
cipher.Init(true, keyParams);
byte[] secretBytes = Encoding.Default.GetBytes(value);
byte[] encrypted = cipher.DoFinal(secretBytes);
return Convert.ToBase64String(encrypted);
}
Je ne suis pas vraiment sûr de ce qui me manque pour faire ce travail. Y at-il quelque chose d'évident que je semble manquer ici?