PowerShell
PowerShell
Duplicate OpensSSL Command that Decrypts Binary DER
See more OpenSSL Examples
This example duplicates the following:openssl smime -decrypt -in INPUT_FILE -inform der -binary -out OUTPUT_FILE -recip PEM_CERT_AND_KEY -passin pass:PRIVKEY_PASSWORD
Note: Although "smime" is the OpenSSL command, we're not really dealing with S/MIME. The arguments "-inform der -binary" indicate that the input is simply the binary DER (i.e. the PKCS7 binary encrypted object). The output can be any type of file (whatever was encrypted).
Chilkat PowerShell Downloads
Add-Type -Path "C:\chilkat\ChilkatDotNet47-x64\ChilkatDotNet47.dll"
$success = $false
# This example requires the Chilkat API to have been previously unlocked.
# See Global Unlock Sample for sample code.
$crypt = New-Object Chilkat.Crypt2
$crypt.CryptAlgorithm = "pki"
$pem = New-Object Chilkat.Pem
$success = $pem.LoadPemFile("qa_data/pem/myPem.pem","password")
if ($success -eq $false) {
$($pem.LastErrorText)
exit
}
$privkey = New-Object Chilkat.PrivateKey
$success = $pem.PrivateKeyAt(0,$privkey)
if ($success -eq $false) {
$($pem.LastErrorText)
exit
}
$cert = New-Object Chilkat.Cert
$success = $pem.CertAt(0,$cert)
if ($success -eq $false) {
$($pem.LastErrorText)
exit
}
$success = $crypt.SetDecryptCert2($cert,$privkey)
if ($success -eq $false) {
$($crypt.LastErrorText)
exit
}
$success = $crypt.CkDecryptFile("qa_data/infile.enc","qa_output/outfile.dat")
if ($success -eq $false) {
$($crypt.LastErrorText)
exit
}
$("Success.")