c# - 使用具有多个证书和私钥的 PEM 文件

我有一个包含私钥的 .PEM 文件,不知何故它有 3 套证书。我是证书的新手,无法弄清楚如何将其导入我的代码以便能够将其用作访问客户端 Web 服务的身份验证。

Bag Attributes
    localKeyID: 94 7D DF 3D A7 A5 8D 3F FF 73 B5 CF 44 96 4F FC DC DC 51 BB 
    friendlyName: Company UAT Client SSL Certificate
Key Attributes: <No Attributes>
-----BEGIN PRIVATE KEY-----
-----END PRIVATE KEY-----
Bag Attributes
    localKeyID: 94 7D DF 3D A7 A5 8D 3F FF 73 B5 CF 44 96 4F FC DC DC 51 BB 
    friendlyName: Company UAT Client SSL Certificate
subject=/emailAddress=ljpclat@aaaa.com.ph/UID=002/CN=Company UAT Client SSL Certificate/OU=TCMG/O=AAAA/C=PH
issuer=/CN=AAAA Company API UAT CA/OU=Information Security/O=AAAA/C=PH
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Bag Attributes
    friendlyName: AAAA Root CA
subject=/CN=AAAA Root CA/OU=Information Security/O=AAAA/C=PH
issuer=/CN=AAAA Root CA/OU=Information Security/O=AAAA/C=PH
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----
Bag Attributes
    friendlyName: Name CA
subject=/CN=Subject CA/OU=Information Security/O=AAAA/C=PH
issuer=/CN=AAAA Root CA/OU=Information Security/O=AAAA/C=PH
-----BEGIN CERTIFICATE-----
-----END CERTIFICATE-----

我曾尝试使用 BouncyCaSTLe - Org.BouncyCaSTLe.X509 for C#,但每当我尝试访问客户端 Web 服务时,我都会收到错误 (400) 错误请求。

最佳答案

我找到了解决问题的方法,方法是使用 openssl 将 PEM 文件转换为 PFX/PKCS#12 格式(或者如果您不这样做,您可以访问 - https://www.sslshopper.com/ssl-converter.html安装了一个),然后在我的代码中使用 X509Certificate2 导入我的证书。还有我在这里的其他一切 - https://learn.microsoft.com/en-us/dotnet/api/system.security.cryptography.x509certificates.x509certificate2.import?view=netframework-4.8

https://stackoverflow.com/questions/56787893/

相关文章:

python - 如何在 Python 中使用计时器解锁条件?

laravel - 当我部署到服务器时,Laravel 项目中的 vue 组件不会更新

android - 为什么 PlacesClient.fetchPlace Task 永远不会触发回

python - 命令提示符中的彩色文本在 "cls"之后但不在 "cls"之前

datetime - Flutter:DateTime.now 不反射(reflect)手动设置的时

python - 如何删除 seaborn 的 lmplot 函数中的图例?

python - 如何序列化 CSR 矩阵

python-3.x - 如何访问当前正在执行的模块?

git - 列出与完全 merge 的分支的提交差异时如何忽略精心挑选的提交

c++ - ArrayFire GFOR 循环意外错误