代码之家  ›  专栏  ›  技术社区  ›  Veksi

将OpenSSL p12创建命令转换为Powershell和/或。NET Core 2.0

  •  1
  • Veksi  · 技术社区  · 7 年前

    openssl pkcs12 -export -out p12file.p12 -inkey privatekeygenerateinsomeportal.pem -in clientcertificatedownloadedfromsomeportal.pem

    hints here )我还没有找到合适的Powershell法术。Windows设施似乎不支持 pem 格式,这使得这有点困难(因此要拯救.NETCore2.0?),like摘自 How to convert a PFX to .PEM format? Or how to generate a .PEM file? Using Native/Standard Windows tool

    或者有一些第三方图书馆,如前所述 here .

    它还感觉到这其中可能有微妙之处 .p12

    1 回复  |  直到 7 年前
        1
  •  1
  •   bartonjs    7 年前

    假设您想做的是:

    • 从文件加载证书
    • 将它们保存在一个PFX中

    那是唯一的一部分。NET Core无法轻松为您加载私钥。如果你能想出如何获取密钥(从RSAParameters或活动对象,或任何东西),你可以这样做

    using (var cert = new X509Certificate2("cert.pem"))
    using (var mated = cert.CopyWithPrivateKey(key))
    {
        return mated.Export(X509ContentType.Pfx, password);
    }
    

    大概是归档。写入该值的所有字节。

    CopyWithPrivateKey是Core 2.0中的新功能,需要使用 netcoreapp20

    加载关键文件在的待办事项列表中。净值: https://github.com/dotnet/corefx/issues/20414