首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在#C中将pkcs8密钥文件转换为DER格式?

如何在#C中将pkcs8密钥文件转换为DER格式?
EN

Stack Overflow用户
提问于 2010-11-13 16:33:56
回答 2查看 4.9K关注 0票数 0

如何将Xml文件转换为DER格式,从而获得pkcs8格式的私钥和公钥?

使用openssl我可以使用: openssl pkcs8 -inform DER -in aaa010101aaa_FIEL.key -out aaa.txt

aaa010101aaa_FIEL.key是二进制文件

我正在尝试使用Bouncy Castle库来做这件事,但是我在创建新的EncryptedPrivateKeyInfo时遇到了问题(...

在java中有一篇文章可以做到这一点,但我需要在c# How to read a password encrypted key with java?中使用它。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-17 21:55:27

我找到答案了!

代码语言:javascript
复制
            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();

How to Load pkcs8 binary file format key

票数 2
EN

Stack Overflow用户

发布于 2010-11-13 17:27:45

BouncyCastle文档非常稀疏,我还没有做过这样的事情,但是您可能希望使用Org.BouncyCastle.OpenSsl.PemReader将文件读入(可能是这样的) Org.BouncyCastle.Asn1.Pkcs.EncryptedPrivateKeyInfo,:

代码语言:javascript
复制
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至少应该让你走上正确的道路。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4171658

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档