RSACryptoServiceProvider - Entschlüsseln - Der parameter ist falsch
Ich brauche, entschlüsseln text, aber ich erhalte die Meldung The parameter is incorrect
.
Zertifikat ist immer korrekt, es ist in windows registriert.
Suche über das problem, ich kann Lesen, kommentieren, deuten darauf hin, ändern der Benutzer in der Anwendung-pool zugewiesen, um die Website im IIS. Ich habe es versucht, aber nicht funktioniert.
In das zweite Bild zeigt die Größe Berechnung, aber ich bin nicht sicher, weil subtrahieren 11 KeySize
divition pro 8.
Ich verwende VS2010 mit .net 4. Die asp.net proyect verwendet, wie IIS-server, nicht mit dem Visual Studio Development Server
Was kann ich versuchen um das problem zu lösen?
[LÖSUNG]
Den verschlüsselten text zugewiesen, in der Decrypt-Methode generiert wurde, mit einem Zertifikat veraltet ist.
Den text verschlüsselt wurde, mit einem Zertifikat, aber dann wurde es geändert, wenn er versucht wird, entschlüsseln der verschlüsselt text mit anderen Zertifikat die Methode schlägt fehl.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim verschlüsseln von Daten mit einem asymmetrischen Kryptosystem (ich.e RSA in deinem Fall), die Größe der Ausgabe ist die gleiche wie die E-Modul-Größe. Darüber hinaus ist die Größe der Eingang muss kleiner als oder gleich dem modulo-Größe. Daher, wenn Sie versuchen zu entschlüsseln chiffrierter text, die Größe der Chiffre-text muss gleich der Größe des modulus (z.B. 128 bytes in Ihrem Fall, da die Schlüssellänge beträgt 1024 bit).
So, Sie sollten nicht die Segmentierung des
data
variable, nur füttern Sie es direkt auf dieRSACryptoServiceProvider.Decrypt
.Andere Sache, die Sie versuchen zu liefern, ist
true
für diefOAEP
parameter in derrsa.Decrypt
seit entschlüsseln einer OAEP gepolsterte Geheimtext mitfOAEP
auf false gesetzt wird, verursachen dieThe parameter is incorrect
Ausnahme geworfen werden.Diese Ausnahme passiert, wenn die privaten oder öffentlichen Schlüssel geändert werden.