Re: RSACryptoServiceProvider Exception in DLL beim aufräumen durch GC




habe eine Problem mit dem RSACryptoServiceProvider. Sobald der GC Objekt aus dem Speicher entfernt wird so nach 10 min Inaktivität stürtzt die Anwendung bzw irgend eine andere Security Anwendung (HP) ab.

Problem ist Stack Corruption von "OLEAUT32" (ACCESS_VIOLATION_OLEAUT32) beim entladen.
Konnte das Problem jetzt soweit ermitteln das der Fehler von RSACryptoServiceProvider kommt. Im SystemLog ".NET Runtime 2.0 Error"

Gehe davon aus das es an der HP-Software liegt, da sie sich in den Kontext reinhängt und sich nicht bei Zerstörung der Instanze bereinigt wahrscheinlich auf die Anwendung ein Hook hat (Erweitert Fenster welche Sicherheit benötigen um weiters System Icon auf der rechten Seite). Denn wenn ich die Funktion im MainThread ausführe, wo sie erst bei schließen der Anwendung vom GC entfernt wird läuft alles ohne Probleme.
[HP ProtectTools Security Manager]

Der RSACryptoServiceProvider läuft in einen Background Thread und sobald der Thread komplett bereinigt wird stürtzt die Anwendung mit Speicher Fehler ab :(.

Der Code überprüft nur die Gültigkeit einer Signatur.

private bool IsValid()
{
// Besitzt erweiterte Headerinformationen
byte[] publicKeyAssembly = Assembly.GetExecutingAssembly().GetName().GetPublicKey();
int size = publicKeyAssembly.Length - 12;
// Key für CspProvieder
byte[] publicKey = new byte[size];
Buffer.BlockCopy(publicKeyAssembly, 12, publicKey, 0, size);

using (RSACryptoServiceProvider rsa = new RSACryptoServiceProvider())
{
using (SHA1Managed sh1 = new SHA1Managed())
{
rsa.ImportCspBlob(publicKey);
byte[] btHash = sh1.ComputeHash(MachineName);

Diese Zeile verursacht nach ca. 10 min mach Bendigung des Threads denn Anwendungsabsturz:
bool ret = rsa.VerifyHash(btHash, CryptoConfig.MapNameToOID("SHA1"), _signHash);

sh1.Clear();
rsa.Clear();
return ret;
}
}
}

.



Relevant Pages

  • Re: Nette Features in C# 3.0
    ... > Das ist genau mein Punkt: Nicht die Sprache, die dem Programmierer ... Programmierern können solche Fehler unterlaufen, ... Auch ist die derzeitige Software sichr auf dem Weg komplexter zu ... > Das taucht derzeit noch nicht massiv bei Security Alerts auf, ...
    (de.comp.lang.misc)
  • RE: SVCHOST.EXE und Schutzverletzung "0x745f2780" in "0x00000000" nach
    ... svchost.exe - Fehler in Anwendung ... "read" konnte nicht auf dem Speicher durchgeführt werden. ... Bei einigen PCs konnte das ganze dadurch behoben ... Automatisches Updates: ...
    (microsoft.public.de.german.windowsxp.sonstiges)
  • Re: Win XP Bluescreens :)
    ... dein Memory nen Hau wech hat. ... Speicher ... Fehler aufweist, die im laufenden Windows nicht immer bemerkt werden. ... an der Tauglichkeit zweifeln lassen. ...
    (microsoft.public.de.german.windowsxp.sonstiges)
  • Re: Win XP Bluescreens :)
    ... Ja, ich habe hier auch einen Rechner, bei dem MemTest ... Betrieb aber keinerlei Fehler. ... von 11 kaputten Speichermodulen unterschiedlicher Bauart. ... Wenn ich 12 Stunden einen Speicher mit memtest+ getestet habe, ...
    (microsoft.public.de.german.windowsxp.sonstiges)
  • Re: Fehlmessungen in digitalen Drehstromzaehlern?
    ... reißt's z.B. mit einem Blitzschlag gleich die Leitungen mitsampt Putz aus der Wand. ... Ein Doppelfehler an geeignter Stelle und die Kiste merkt nichts von einem Fehler. ... Was man tun könnte, wäre, jede Fehlerkorrektur im Speicher in einem gesonderten Speicherbereich mit zu protokollieren. ...
    (de.sci.ing.elektrotechnik)