簡體   English   中英

如何在powershell 5中加載PEM證書?

[英]How to load PEM certificate in powershell 5?

我已經有里面有私鑰的 pemfile 了。 我嘗試這樣做如何從 PEM 文件中獲取私鑰? 但是從文件創建證書對象時我卡住了

簡而言之:

$SourceCertificateFile= gc "E:\PSW\test.pem"
$EncCert=[Convert]::FromBase64String( ($SourceCertificate)[1..($SourceCertificate.Count -2 )] -as [string] )

New-Object   System.Security.Cryptography.X509Certificates.X509Certificate( @(, $EncCert)) #doesn`t work -Exception calling ".ctor" with "1" argument(s): object not found

New-Object System.Security.Cryptography.X509Certificates.X509Certificate2 ($EncCert) #Cannot find an overload for "X509Certificate2" and the argument count: "1104"

[System.Security.Cryptography.X509Certificates.X509Certificate2]::new($SourceCertificateFile) #doesn`t work -Exception calling ".ctor" with "1" argument(s): object not found

$x=[System.Security.Cryptography.X509Certificates.X509Certificate2]::New()
$x.Import($EncCert) #Exception calling "Import" with "1" argument(s): object not found

我看到存在 X509Certificate2Collection.ImportFromPemFile 方法,但我不明白如何正確初始化構造函數

感謝您的任何建議

在 linux 主機上生成的 pem 文件作為

openssl genrsa -out private.pem 2048

PEM 文件(新生成的):

-----BEGIN RSA PRIVATE KEY-----
MIIEpQIBAAKCAQEAxK8JzchUpUhM67QEvVKjykOuauSMN+E/pdg11gco++hOX6ix
D8MFLMwTbdYfsnoW+OIYuPysiKIaUAwWv7PIRgwKVXU69DWsd72srX3MV0CFUmq3
5Ge2fHGVLzOOuMgv2Pvv9OLEudeO6ZAELr+rA1vOq1oLrs1V8W9X0jeK+/5sXi4Z
n/iCeD8LF9IlDGELV3t/ed2nyEsIWlnnIwwfbkcPCgjnNM0XWmLGhB+YIKBgorjL
PNmNUpMkGJM3WLRCfBS9nRPBrsXCkVrR5hsXqmRsuJfA7XG2dIAEdeccfEnzhqIx
tNhmgfQ/p/18bwbjvhbB+KaxNy/xX7XMq7vdLwIDAQABAoIBAGhAp5+uGj/pzOv6
5bA8h5kEuwTp0/EisgwESLUD4pN0FWbbEc9a/fk6yumjX/XIhTizD4uuUv2xfuUD
I2PFtdh7NVcK5o7fjGWD4m2rio6NIp4G9yZYWwAnbH4yg+oqIkKPeCeDs+cV/SiM
L8tfyRPkq+1js2GacX2iGRjSXBcpXOxTYFbHi8z/miL6SYB57JPndpUgtwcVNh/P
ZrJ3eP9L8wqPJlH0vg+ZNrmE8xuNwKsyI3yBLMlf3a9icFB3tOsOZr7dxg3PuL/G
dmRCCgP8uQHvlb01h8vHO/MqdnPLE9YzwcEkKZQSQaETpGKkjwvO59PL5EY0FVdg
MNJu9tECgYEA5nyy/UxRGV7Wok9UWQWq2TUCy1KKeHmbbm5XRKSpIQm+5Wsr5YdS
ASjsbIvJPB99OZlHskOWaSvWDQXI6+BMG1vP7Ia8BH/5nawmlQWyogsVg8DrI+m3
XGt/gRKsxRNWHICqVMaOuxnJJLYQOkbOzcFq7RlmPfYR2WWjIQl3x7UCgYEA2nR0
fOylBMC2qh3P0MB0oSJ02nDgku3ZfrxgrhCQ3XmdxG8qtB0IH4U6lTNH1kKKzz63
i2MVLQFe5paCyKuu7v6jwGD2Q4uyygEUxN382UWWTEX6Si0TcOKz5wUHTa4vQVNZ
twQHPGvW7v+f5dwozc7Rn/CDWX10u3b5TadtF9MCgYEAmjSd8DhKHiZEha17ql/P
UalU6EGeIUKDSlwKiQN9oHwLuyR75wIlTF9b5reTeGU8+/dgb5UmodDRUj8nkSCs
6rT/pKj0TDJvCB2wZo28WQv/ZfoBmDJ7GhtV4D5lVyk7uLAgxb1eqzFyUNx6ePL8
085vQph2vkfO41tLzAOwnu0CgYEAvLVer0+pWUq0QI4SKC0oUs22DcD2blYizLUj
+xl6WqelHrw9MmvlyXzIV3x98Nt4l4CBA1qrPz5w4VZhUcHlErVLdXMNKNozrwZy
D4IH2xSeufK1PIBly906NTWF0pfGYHMFC/Dh41Lwz3JoiSK+6NJhCP22KYcTYKFs
yKT5u1sCgYEAzYXqnkLdeq9+rVK5dvdkqw6Zn2ZCEUhzLe+qcSaakoCmIimUjXbx
6Lspzefp78oXyS7e1BfioMLgk5dvemCDNFPp4jBu7jobiw++bSbCMhA1GPy9EN/8
atfeGFXshPzwvmE4keQRSscnlgmqeOwwBtjqGgQrJz7UcI/fyhnQWgQ=
-----END RSA PRIVATE KEY-----

您的文件是 RSA 私鑰,而不是證書。

你會用類似的東西加載類似的東西

using (RSA rsa = RSA.Create())
{
    rsa.ImportFromPem(File.ReadAllText("private.pem"));
    // use the key here.
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM