Guybrush Threepwood Geschrieben 4. August 2009 Geschrieben 4. August 2009 Weiß jemand wie ich mit dem CSharpCodeProvider eine signierte Assembly erstellen kann? Zitieren
Gateway_man Geschrieben 4. August 2009 Geschrieben 4. August 2009 Signieren einer Assembly mit einem starken Namen [.NET 2.0] Alternativ für das .NET 3.5, wäre dies die anlaufstelle: Klick mich Zitieren
Guybrush Threepwood Geschrieben 4. August 2009 Autor Geschrieben 4. August 2009 Ja ne ich will das das Output des CodeProviders schon signiert ist und nicht es nachträglich signieren. Die Assembly soll auch nur im Memory erstellt werden und nicht als wirkliche Datei auf der Festplatte was das ja dann eh schwierig machen würde. Trotzdem danke Zitieren
realgun Geschrieben 4. August 2009 Geschrieben 4. August 2009 Die Assembly soll auch nur im Memory erstellt werden und nicht als wirkliche Datei auf der Festplatte was das ja dann eh schwierig machen würde. Wofür willst Du dann die Signierung? Wenn Du das Assembly eh zur Laufzeit erstellst und verwendest, hast Du doch eh nichts von der Signierung (oder :confused: ) Zitieren
Guybrush Threepwood Geschrieben 4. August 2009 Autor Geschrieben 4. August 2009 Doch wenn die DLL runtergeladen und woanders gespeichert wird aber da wo sie erstellt wird nicht benötigt wird Zitieren
realgun Geschrieben 4. August 2009 Geschrieben 4. August 2009 Hmm... also jemand klickt irgendwo hin, und Du erstellst daraufhin den Code für das Assembly, kompilierst dies und gibst das Ergebnis quasi per MemoryStream raus? Wenn im Studio ein Assembly signiert wird, geschieht dies beim Compilieren. Dazu muss dass Assembly das [assembly: AssemblyKeyFile(@"C:\mykey.snk")] Attribut haben. Möglicherweise reicht das schon aus um ein Assembly mit StrongName zu erzeugen. Zitieren
Guybrush Threepwood Geschrieben 5. August 2009 Autor Geschrieben 5. August 2009 Ja also es reicht aus das er zumindest versucht zu signieren, leider bekomme ich aber den Fehler error CS1548: Kryptografischer Fehler beim Signieren der Assembly c:\test.dll -- Ungültige Anbieterversion . Weiß noch nicht woran das liegt, wahrscheinlich fehlt irgendeine andere Angabe. Bei den normalen Projekten ist das immer über die Projekteinstellungen gemacht. Ich hab das ganze zwischenzeitlich auch mal per Refelction.Emit bzw. mit DefineDynamicModule versucht. Das erstellen der Assembly klappt auch ganz gut wenn man sich ein wenig mit dem IL Code rumgeschlagen hat. Aber wenn ich das Zertifikat hier dem AssemblyName zum signieren hinzufügen will klappt das komischerweise auch nicht mit der Meldung das der Public Key nicht geholt werden könne obwohl im X509Certificate2 alles drin ist... Alles nicht so einfach Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.