Search code examples
powershellx509fingerprintpfx

How to get the fingerprint of a base64 encoded pfx certificate in windows powershell


I have a base64 encoded .pfx certificate that was encoded in linux using:
cat $my_pfx_cert | base64 -w 0

In windows Powershell, I'm unable to decode this string and produce a meaningful fingerprint however. Below is is my attempt...

$output = "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"
$converted = $([System.Text.Encoding]::ASCII.GetString([System.Convert]::FromBase64String($output)))
$converted | Out-File -FilePath "$HOME\.ssh\Deadline10RemoteClient_from_bash.pfx"
$cert_password = ""
New-Object System.Security.Cryptography.X509Certificates.X509Certificate2("$HOME\.ssh\Deadline10RemoteClient_from_bash.pfx", $cert_password)

The equivalent in bash however does work:

output="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"
echo "$output" | base64 --decode > "$HOME/.ssh/Deadline10RemoteClient_from_bash.pfx"
openssl pkcs12 -in "$HOME/.ssh/Deadline10RemoteClient_from_bash.pfx" -nodes -passin pass: |openssl x509 -noout -fingerprint

Solution

  • You're likely messing up the encoding when converting it to a string and writing to file with Out-File, so skip that part entirely - the X509Certificate2 constructor takes a raw byte array as input anyway:

    $output = "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"
    $rawCertBytes = [Convert]::FromBase64String($output)
    $certificate = [System.Security.Cryptography.X509Certificates.X509Certificate2]::new($rawCertBytes)
    

    Now that you have a [X509Certificate2] object, either read the thumbprint via the API:

    $certificate.Thumbprint
    

    Or, if you want to analyze the certificate file on disk (with openssl for example), export it:

    # Create a new file
    $certFile = New-Item certificate.cer -ItemType File
    
    # Open a writable file stream
    $fileStream = $certFile.OpenWrite()
    
    try {
        # Write cert bytes to disk
        $certBytes = $certificate.Export([System.Security.Cryptography.X509Certificates.X509ContentType]::Cert)
        $fileStream.Write($certBytes, 0, $certBytes.Length)
        $fileStream.Flush($true)
        $fileStream.Close()
    }
    finally {
        # Clean up open file stream
        $fileStream |ForEach-Object Dispose
    }