我需要将生成的BouncyCastleX509Certificate
转换为X509Certificate2
,并将私钥加载到结果的.NET标准X509Certificate2
对象中。这可能吗?
对于类似的问题有一个答案https://stackoverflow.com/a/8150799/5048935,但是在生成一个BouncyCastle证书并将其转换为.NETX509Certificate2
之后,结果对象的HasPrivateKey
属性设置为“false”。
我需要将证书和私钥(不带页眉和页脚的单独的Base64字符串)加载到X509Certificate2
对象中,以便将其从.NET标准1.6库传递给应用程序。问题是,在.NET标准的X509Certificate2
类中没有PrivateKey
属性!因此,在X509Certificate2
对象中实际加载私钥的唯一方法是将私钥与证书本身组合在。pfx文件中,然后像在构造函数中那样加载私钥。
我得到了使用BouncyCastle的建议(https://stackoverflow.com/a/44465965/5048935),所以我首先从Base64字符串生成一个BouncyCastlex509Certificate
,然后尝试将其转换为x509Certificate2
,同时保留私钥。
我找到的最好的方法是通过内存中的PFX流。假设您已经在bccert
中加载了Bouncy Castle证书。注意:如果您要将。NETX509Certificate2
保存在任何地方,则“别名”是稍后在UI中调用的名称,否则它是不相关的(除了两个调用都需要相同之外)。
using Org.BouncyCastle.Pkcs;
using Org.BouncyCastle.Security;
using System.IO;
using System.Security.Cryptography.X509Certificates
var pkcs12Store = new Pkcs12Store();
var certEntry = new X509CertificateEntry(bcCert);
pkcs12Store.SetCertificateEntry(alias, certEntry);
pkcs12Store.SetKeyEntry(alias, new AsymmetricKeyEntry(certKey.Private), new[] { certEntry });
X509Certificate2 keyedCert;
using (MemoryStream pfxStream = new MemoryStream())
{
pkcs12Store.Save(pfxStream, null, new SecureRandom());
pfxStream.Seek(0, SeekOrigin.Begin);
keyedCert = new X509Certificate2(pfxStream.ToArray());
}
问题内容: 我正在编写一个使用Java Web服务的.NET客户端应用程序,并且需要对已发送的请求进行签名(与这个其他问题有关)。 我已经获得了private.key文件(和.X509证书)和Java源示例。证书看起来像服务的公共密钥,而private.key是我用来签署请求的密钥。 在Java源代码中,我可以看到它们将文件转换为字节数组,并将其传递给PKCS8EncodedKeySpec类的构造
有没有一种方法可以轻松地将面向.NETCore2.0的类库转换为.NET标准? 如果我理解正确,如果有人想在针对不同.NET框架(例如.NET Framework,.NET Core,Xamarin等)的项目中最大限度地提高类库的可重用性,那么以.NET Standard为目标的更好主意 - 前提是所有必需的API都可以在将要定位的.NET Standard版本中提供。 这就是我想将类库从. NE
让我先解释一下我的问题。我从CA购买了一个证书,并使用以下格式生成csr和私钥: 有趣的是,在aws文档页面上,他们显示的示例私钥以“------开始RSA私钥-------”开头 有没有办法使用OpenSSL将我的私钥转换为RSA私钥?
我需要将POJO转换成地图。我尝试使用对象映射器,但是像timestamp这样的类型在最终的映射中要么以字符串的形式出现,要么以长的形式出现。有没有什么工具可以做一个简单的转换,使映射具有与POJO中完全相同的对象?(我知道我可以使用反射,但想看看是否有更简单的方法。)
如何在.NET Standard 2.0中以与.NET Core兼容的方式创建具有私钥的?
问题内容: 我有以下代码: 结果是: 但我想打破界限: 我已经看过jsoup的TextNode#getWholeText(),但是我不知道如何使用它。 如果我解析的标记中有一个,如何在结果输出中换行? 问题答案: 保留换行符的真正解决方案应该是这样的: 满足以下要求: 如果原始html包含换行符(\ n),则保留它 如果原始html包含br或p标签,它们将被翻译为换行符(\ n)。