Recover password from .pfx file

First, I have an issue with nomenclature: articles like the one you linked to sortof suggest that the terms "public/private key pair" and "certificate" are interchangeable. In reality, a certificate is just the public key part of the key pair, and a .pfx file is a bundle that contains both the certificate (public part) and the encrypted private key [source].

(It grinds my gears when people talk about a "password protecting a certificate" which makes no sense since a certificate is public information! You really mean "password protecting a private key". But since the PFX format encourages people to think of it all as one bundle, I guess this is forgivable.)

Based on that article you linked, it looks like RenewCert is using the private key associated with that certificate to generate a new self-signed certificate containing the same public key as the old cert (and getting a longer expiry date on it in the process). Self-signed certs would fail in HTTPS, but your SmartClient applications should be fine with it. Certificates need to be signed by somebody's private key, so RenewCert is using the same keypair that you are certifying to do the signature (hence "self-signed certificate").

The other way to renew a certificate is by submitting a certificate signing request (csr) to a certificate authority (CA). Unfortunately, here too you need access to the private key so you can prove to the CA that you own this key through a proof-of-possession [see RFC 4211 Section 4. and an IETF statement about POPs in CSRs].

So the answer to your question is: unless you can find a way to access that private key (by remembering the password on the .pfx file, or by finding the private key in a backup somewhere) your only option is to generate a new keypair, make a completely new certificate, and update all the applications. No way around that... the whole point of certificates is to prove that you own the corresponding private key.


PFX files are the Windows implementation of certificates in the PKCS#12 format. It is possible to brute force these passwords similar to brute forcing a .ZIP file. It is usually easier to just redownload the certificate or get a new one.

I recommend using a password on a PFX file with an entropy similar to the entropy of the private key in the PFX file. I usually just got to grc.com and use the Perfect Passwords service.