What is a .pfx Certificate?
The all-in-one certificate bundle used on Windows, IIS, and Azure
A .pfx file (Personal Information Exchange) is a PKCS#12 archive that packages your SSL/TLS certificate, private key, and any intermediate certificates into a single, password-protected file. Instead of managing separate files, you hand over one bundle — which is exactly what Windows servers, IIS, Azure App Service, and many load balancers expect.
What's Inside a .pfx File?
A typical .pfx archive contains up to three things:
- Your SSL/TLS certificate — the public certificate that gets sent to browsers during the TLS handshake.
- Your private key — the secret key that proves ownership of the certificate. Because this is included, the file must be password-protected.
- Intermediate certificates (chain) — the CA certificates that bridge the gap between your certificate and a trusted root CA, so browsers can verify the full chain of trust.
.pfx vs .p12 — What's the Difference?
Nothing meaningful. .pfx and .p12 are both PKCS#12 files — the same binary format with a different file extension. .pfx is the Microsoft/Windows naming convention, while .p12 is more common on macOS and in Java environments. You can rename one to the other and it will work — the internal format is identical.
Certificate File Formats at a Glance
SSL deployments involve several file types, each serving a distinct purpose:
| Extension | Contents | Typical Use |
|---|---|---|
| .pfx / .p12 | Certificate + private key + chain | Windows, IIS, Azure, load balancers |
| .crt / .cer | Public certificate only | Linux/Apache/Nginx, sharing with clients |
| .key | Private key only | Linux/Apache/Nginx, paired with .crt |
| .pem | Base64-encoded — can be cert, key, or both | Linux servers, OpenSSL tooling |
When Do You Need a .pfx File?
You'll typically need a .pfx when deploying to:
- Windows Server / IIS — the Certificate Manager and IIS import wizard both expect .pfx format.
- Azure App Service — uploading a custom TLS binding requires a .pfx with the full chain.
- Azure Application Gateway / Front Door — same requirement as App Service.
- Some load balancers and CDNs — hardware appliances (F5, Citrix ADC) often accept .pfx for certificate imports.
- Migrating certificates between servers — exporting from one server and importing to another is easiest with .pfx because it keeps everything together.
Creating a .pfx File
If your CA gave you separate .crt and .key files, you can bundle them into a .pfx using OpenSSL:
openssl pkcs12 -export \
-out certificate.pfx \
-inkey private.key \
-in certificate.crt \
-certfile ca-chain.crt
You'll be prompted to set an export password — keep it safe, as it's required whenever the .pfx is imported.
Security Considerations
Because a .pfx contains your private key, it deserves extra care:
- Always set a strong export password. An unprotected .pfx file is as sensitive as an unencrypted private key.
- Limit who has access. Treat the file like a credential — store it in a secrets manager or key vault, not in a shared drive.
- Delete copies you no longer need. The more copies floating around, the higher the risk of compromise.
- Revoke and replace if lost. If a .pfx file is exposed, treat the private key as compromised and reissue the certificate.
Tip: Use our free SSL certificate checker to verify that the certificate inside your .pfx is valid and hasn't expired before deploying it to your server.