Ich wurde mit der Implementierung einer PKI-Bibliothek in C# für ein Unternehmensprojekt beauftragt und war nicht in der Lage, eine gute Implementierung dafür zu finden. Es scheint mehrere Bibliotheken zu geben, und viele defekte Links, die auf MSDN-Bibliotheken verweisen, die entfernt wurden. Ich habe Leute gesehen, die Crypt32.dll verwenden, Leute, die ihre eigenen Bibliotheken erstellen, Leute, die P/Invoke verwenden, um auf Systemzertifikatspeicher zuzugreifen, Leute, die die eingebauten Bibliotheken erweitern, Beispiele, die einfach nicht auf C# zutreffen (z. B. Java-Beispiele), und kommerzielle Bibliotheken.
Meine Frage ist, welche Implementierung/Bibliothek wird für die einfache Ver-/Entschlüsselung von Daten am meisten empfohlen?
Als Hintergrundinformation zu dem, was ich damit vorhabe, muss ich einfach Nachrichten mit einem privaten Schlüssel (.pfx) verschlüsseln und mit öffentlichen Schlüsseln (.cer) entschlüsseln. Die Signierung und Authentifizierung von Nachrichten ist auf dieser Ebene des Projekts nicht erforderlich, obwohl dies in Zukunft der Fall sein könnte. Ich habe Hinweise auf Verschlüsselungslängen gesehen, die mich beunruhigen. Wir müssen in der Lage sein, Nachrichten beliebiger Länge zu verschlüsseln (natürlich in einem vernünftigen Rahmen!). Ist dies etwas, worüber ich mir Sorgen machen muss, und wenn ja, gibt es eine Möglichkeit, damit umzugehen?
Ich würde es vorziehen, öffentliche/private Schlüssel möglichst nicht im Windows-Zertifikatsmanager zu speichern, aber wenn dies die Implementierung erheblich vereinfacht, dann soll es so sein.
Ich weiß, dass PKI und Verschlüsselung ein großes und komplexes Thema ist, aber ich hoffe trotzdem auf eine relativ einfache Bibliothek... (man kann ja hoffen, oder?)
Danke!