ฉันสร้างใบรับรอง PFX โดยใช้พรอมต์คำสั่งสำหรับนักพัฒนา Visual Studio ด้วยวิธีต่อไปนี้
makecert -r -pe -n "CN=mycert" -sky exchange "mycert.cer" -sv "mycert.pvk"
pvk2pfx -pvk "mycert.pvk" -spc "mycert.cer" -pfx "mycert.pfx" -pi [password]
จากนั้นฉันใช้ PowerShell เพื่อสอบปากคำใบรับรอง
$cert = Get-PfxCertificate [Location]
$cert.Verify()
# Returns 'False'
ฉันจะรับใบรับรองนี้เพื่อใช้ในการเข้ารหัสได้อย่างไร
ปรับปรุง
@root แนะนำโดยใช้Import-PfxCertificate
คำสั่ง นี่คือสิ่งที่เกิดขึ้นเมื่อฉันเรียกใช้
Import-PfxCertificate -FilePath [Path]
Import-PfxCertificate : The PFX file you are trying to import requires either a different password or membership in an Active Directory principal to which it is protected.
At line:1 char:1
+ Import-PfxCertificate -FilePath [...]
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Import-PfxCertificate], Win32Exception
+ FullyQualifiedErrorId : System.ComponentModel.Win32Exception,Microsoft.CertificateServices.Commands.Im
portPfxCertificate
ปรับปรุงเพิ่มเติม
@ McDonald's แนะนำวิธีที่ปลอดภัยในการส่งรหัสผ่านไปยังImport-PfxCertificate
คำสั่ง นี่คือสิ่งที่ฉันพยายาม;
Import-PfxCertificate -FilePath [Path] -Password (Get-Credential).Password
$cert = dir cert:\localmachine\my | where { $_.Thumbprint -eq [Thumbprint] } | Select-Object
$cert.Verify()
ยังคงกลับเท็จ มีประเด็นอื่นอีกหรือไม่
$cert.Verify()
ผลตอบแทนที่ผิดพลาด อย่างไรก็ตามเนื่องจากข้อผิดพลาดใหม่ที่ฉันพบฉันไม่คิดว่านี่เป็นปัญหาของฉัน ค่อนข้างมีการกำหนดค่าใบรับรองอย่างไม่ถูกต้อง คำถามของฉันเกี่ยวกับสาเหตุที่ใบรับรองกำหนดค่าไม่ถูกต้อง
Import-PfxCertificate –FilePath C:\mycert.cer cert:\localMachine\my -Password (ConvertTo-SecureString -String "[Password]" -Force –AsPlainText)
.. .. technet.microsoft.com/en-us/itpro/powershell/windows/pkiclient/