Wie pkcs8 Schlüsseldatei DES-Format in #C konvertieren?
Frage
Wie pkcs8 Schlüsseldatei DES-Format konvertieren, private und öffentliche Schlüssel im XML-Format zu bekommen?
mit openssl kann ich es tun mit: openssl pkcs8 -Informiere DER -in aaa010101aaa_FIEL.key -out aaa.txt
aaa010101aaa_FIEL.key ist bynary Datei
Ich versuche es mit Hüpfburg Bibliothek zu tun, aber ich habe Probleme neue EncryptedPrivateKeyInfo zu schaffen (...
gibt es einen Beitrag zu tun in Java, aber ich brauche es in c # Wie ein Passwort verschlüsselten Schlüssel mit Java? lesen
Lösung 2
Ich fand die Antwort!
byte[] dataKey = File.ReadAllBytes(fileName);
Org.BouncyCastle.Crypto.AsymmetricKeyParameter asp =
Org.BouncyCastle.Security.PrivateKeyFactory.DecryptKey(pass.ToCharArray(), dataKey);
MemoryStream ms = new MemoryStream();
TextWriter writer = new StreamWriter(ms);
System.IO.StringWriter stWrite = new System.IO.StringWriter();
Org.BouncyCastle.OpenSsl.PemWriter pmw = new PemWriter(stWrite);
pmw.WriteObject(asp);
stWrite.Close();
return stWrite.ToString();
Andere Tipps
ist BouncyCastle Dokumentation ziemlich spärlich und ich habe nicht genau dieses getan, aber Sie werden eine Org.BouncyCastle.OpenSsl.PemReader lesen Sie die Datei in eine (wahrscheinlich) Org.BouncyCastle.Asn1.Pkcs.EncryptedPrivateKeyInfo verwenden möchten , wie folgt:
using (FileStream FS = File.Open("whatever.key"))
{
using (TextReader TR = new StreamReader(FS))
{
PR = new Org.BouncyCastle.OpenSsl.PemReader(TR);
EPKI = (Org.BouncyCastle.Asn1.Pkcs.EncryptedPrivateKeyInfo)PR.ReadObject();
}
}
und dann EPKI.GetDerEncoded () würde Ihnen die DER formatiert Sache. Keine Garantie, dass dies funktionieren wird, aber PemReader zumindest sollten Sie auf dem richtigen Weg.