#CでPKCS8キーファイルをDER形式に変換する方法は?
質問
PKCS8キーファイルをDER形式に変換し、XML形式でプライベートキーと公開キーを取得する方法は?
opensSlを使用して:opensSl pkcs8 -inform der -in aaa0101aaa_fiel.key -out aaa.txtを使用して行うことができます。
aaa010101aaa_fiel.keyはbynaryファイルです
私は弾力性のあるキャッスル図書館でそれをやろうとしていますが、新しい暗号化されたPrivateKeyInfoを作成するのに問題があります(...
Javaでそれを行うための投稿がありますが、C#でそれが必要ですJavaでパスワード暗号化されたキーを読み取る方法は?
解決 2
答えを見つけました!
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();
他のヒント
bouncycastleのドキュメントはかなりまばらであり、私はこの正確なことをしていませんが、org.bouncycastle.openssl.pemreaderを使用してファイルを(おそらく)org.bouncycastle.asn1.pkcsecryptedprivatekeyinfo、このように読みたいと思うでしょう。 :
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();
}
}
そして、epki.getderencoded()は、derフォーマットされたものを提供します。これが機能するという保証はありませんが、Pemreaderは少なくともあなたを正しい軌道に乗せるべきです。
所属していません StackOverflow