PowerShell
PowerShell
Import a PFX/P12 into the Windows Certificate Stores
See more Certificates Examples
Demonstrates how to import the certificates contained in a .pfx/.p12 to the Windows certificate stores.Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
$pfx = New-Object Chilkat.Pfx
$success = $pfx.LoadPfxFile("qa_data/pfx/example.p12","p12Password")
if ($success -eq $false) {
$($pfx.LastErrorText)
exit
}
# See the online reference documentation for more information about the ImportToWindows method.
# Mark imported privae keys as exportable.
$exportable = $true
# If userProtected is $true, the user is to be notified through a dialog box or other method when certain attempts to use this key are made.
$userProtected = $false
# If machineKeyset is $true, the private keys are stored under the local computer and not under the current user.
$machineKeyset = $false
# If allowOverwriteKey is $true, allow overwrite of the existing key.
$allowOverwriteKey = $false
# If allowExport is $true, then the imported key can later be exported back to a PFX.
# (It also allows for applications to directly access the private key material.)
$allowExport = $true
# Indicate where to import types of certs.
$leafStore = "My"
$intermediateStore = "CertificationAuthority"
$rootStore = "AuthRoot"
$success = $pfx.ImportToWindows($exportable,$userProtected,$machineKeyset,$allowOverwriteKey,$allowExport,$leafStore,$intermediateStore,$rootStore,"")
if ($success -eq $false) {
$($pfx.LastErrorText)
exit
}
# Show information about the certificates imported
$json = New-Object Chilkat.JsonObject
$pfx.GetLastJsonData($json)
$json.EmitCompact = $false
$($json.Emit())
# Sample of the last JSON data:
# {
# "exportable": true,
# "userProtected": false,
# "machineKeyset": false,
# "allowOverwriteKey": false,
# "allowExport": true,
# "key": [
# {
# "name": "{F09B755A-1E90-444D-9851-02B86CA14961}",
# "storageProvider": "Microsoft Software Key Storage Provider"
# }
# ],
# "cert": [
# {
# "DN": "...",
# "type": "intermediate",
# "storeName": "CertificationAuthority",
# "imported": true
# },
# {
# "DN": "...",
# "type": "root",
# "storeName": "AuthRoot",
# "imported": true
# },
# {
# "DN": "....",
# "type": "leaf",
# "storeName": "My",
# "keyContainer": "{345D4EAD-B8DD-4150-9A1F-4BC6437E77A2}",
# "machineKeyset": true,
# "imported": true
# }
# ]
# }
$("Success.")