Ich muss S / MIME-Nachrichten mit C # erstellen (wie in RFC 2633, "S / MIME Version 3 Nachrichtenspezifikation" und RFC 3335 spezifiziert). Die einzige S / MIME-Bibliothek, die ich finden kann, ist eine kommerzielle Bibliothek ( Ссылка ), für die es nicht gut ist uns.
Gibt es Bibliotheken zum Erstellen von S / MIME-Nachrichten und insbesondere von .p7s-Dateien?
Ich habe alle verschlüsselten und signierten Elemente, die in diese Datei gehen müssen, aber ich möchte die .p7s-Datei erstellen, ohne meine eigene Bibliothek mit Hilfe des RFC-Dokuments manuell zu rollen ...
BEARBEITEN: Ich habe eine andere kommerzielle S / MIME-Bibliothek gefunden , die immer noch nicht für unsere Anforderungen geeignet ist. Es sieht immer mehr danach aus, dass ich eine S / MIME-Bibliothek in die Hand nehmen muss, was sehr traurig ist. Sind alle Benutzer von .net, die S / MIME benötigen, kommerzielle, geschlossene Quellbibliotheken dafür zu benutzen?
Ich habe meine eigene MIME-Bibliothek mit Unterstützung für S / MIME namens MimeKit geschrieben, die wesentlich robuster ist als alles, was darauf basiert System.Net.Mail, das schrecklich kaputt ist.
Es unterstützt rohe 8bit-Header, RFC822-Gruppenadressen, Namen aus rfc822-Kommentaren in Adressheadern (To / Ccc / Bcc / etc), Parsing von mbox-formatierten Nachrichtenspools (einschließlich Unterstützung für das SunLay-Format auf Content-Length-Basis) und es ist eine Größenordnung schneller als alle anderen C # MIME-Parser da draußen, weil es Byte-Stream-basierte anstelle von TextReader-basiert ist (und auch wie es rohe 8-Bit-Header besser als jeder andere C # Parser unterstützt).
Sehen Sie sich Rebex Secure Mail an. Dies ist eine sehr stabile Bibliothek, die ich seit vielen Jahren benutze. Es ist 100% verwalteter Code und der Quellcode ist ebenfalls verfügbar.
Ich habe viel Zeit mit der Suche nach einer guten S / MIME-Bibliothek für .NET verbracht, ohne Erfolg. Ich habe meine eigene, OpaqueMail, erstellt.
Es ist Open Source und völlig kostenlos. Er erbt von der System.Net.Mail.SmtpClient-Klasse, sodass die Portierung von vorhandenem Code unkompliziert ist. Es enthält auch Klassen für die Arbeit mit POP3 und IMAP.
Schauen Sie es sich unter Ссылка an.
Ein Beispiel für das Senden einer S / MIME-Dreifach-Nachricht (die digital signiert, verschlüsselt und dann wieder digital signiert ist) lautet:
%Vor%Hoffe, das hilft.
Es ist ziemlich schwierig, komplette s / mime zu implementieren, da es viel zusätzliche Arbeit erfordert. Sie können SMIME-Komponenten in SecureBlackbox für Ihre Aufgabe verwenden.
Update: SecureBlackbox ist unser Produkt. Es unterstützt vollständig Silverlight und Windows Phone (einschließlich Mango).
Tags und Links c# encryption mime