Ich habe Artikel für Artikel über die Erstellung von x509-Certs, Signaturen usw. durchgespielt, aber ich muss noch eine Lösung für mein Problem finden - frage mich, ob jemand mich in die richtige Richtung weisen kann, weil ich gründlich verwirrt bin An diesem Punkt. Hier ist, was ich versuche zu tun:
Für die Client-App:
Für die Server-App:
Ich muss dies alles programmatisch in .Net und ohne externe .exe-Dateien wie makecert.exe oder openssl.exe tun - ich muss eine In-Process-Bibliothek verwenden, usw.
Ich habe Bits und Stücke mit verschiedenen Bibliotheken wie Bouncy Castle, .Net Crypto, openssl usw. ausgearbeitet - aber ich habe immer einen Roadblock getroffen, weil ich keine Dokumentation hatte oder nicht in der Lage bin, als Byte zu den Keypairs zu kommen. so kann ich sie beharren usw. Entweder mache ich das viel schwieriger als es ist, oder es gibt einen ernsten Mangel an Dokumentation da draußen - oder beides.
Ich denke, jemand muss das schon einmal gemacht haben und ich würde mich über Hilfe freuen - ich bin offen für alle Vorschläge - danke!
.. und PKIBlackbox ist keine Option - es kostet zu viel: (
Sie können die Bouncycastle C # -Bibliothek verwenden. Die Dokumentation ist nicht gut, aber ich glaube, es ist nicht schwer mit ihnen zu arbeiten. Sie können zuerst zu den Javadocs für die Java-Version der Bibliothek gehen; Die Java und C # Version sind sehr ähnlich. Zweitens, schau dir den Quellcode an, da er relativ einfach zu lesen ist.
Die gewünschte Klasse ist Org.BouncyCastle.X509.X509V3CertificateGenerator
. Es gibt einige Java-Beispiele im Internet, die Sie als Leitfaden zum Erstellen einer C # -Version verwenden können. Hier ist ein einfacher, einfacher Weg.
Schließlich hat Bouncycastle eine sehr nützliche Klasse Org.BouncyCastle.Security.DotNetUtilities
, die hilft, zwischen Bouncycastle-Objekten und .NET-Objekten zu mappen. Ein solches Methodenpaar sind ToX509Certificate()
und FromX509Certificate()
. Beachten Sie außerdem, dass die Klasse .NET X509Certificate die Methoden Import()
und Export()
hat.
Zusammen sollten diese ausreichen, um Ihnen zu ermöglichen, Ihr Problem zu lösen.
Ich habe X.509-Zertifikate erstellt und im Windows-Keystore gespeichert. Abgesehen von makecert gibt es sehr wenig gute Dokumentation und makecert ist unter den meisten Umständen keine brauchbare Option. Ich fand die Plurality-APIs sehr hilfreich, da sie sowohl die Zertifikatserzeugung als auch die Speicherung des Zertifikats im Windows-Schlüsselspeicher unterstützen. Es gibt praktisch keine Dokumentation, aber wenn Sie danach suchen, werden Sie einige Blogs finden, die zeigen, wie man es benutzt. Hier sind einige Links.
Tags und Links .net cryptography openssl bouncycastle x509