PEM to PFX Builder

The file Windows asks for, assembled from the PEM files a Linux-shaped world hands you — without installing OpenSSL.

What this tool does

Takes the three things a Linux-shaped world hands you — a certificate, the intermediates above it, and the private key — and packs them into the single password-protected .pfx file that IIS, the Windows certificate store, Azure App Service, Exchange and Tomcat all ask for. It is the job openssl pkcs12 -export does, without needing OpenSSL installed on the machine you are sitting at.

The packing runs in this browser tab using the Web Crypto API. Your private key is read by the page and written into a file the page hands back to you; it is never sent to this server. Disconnect the network before you paste it if you want to prove that.

How to use it

The key is checked against the certificate before anything is built, so a mismatched pair is caught here rather than after the import appears to succeed.

What comes out

A PKCS#12 file with the certificates stored in the clear — they are public — and the private key encrypted with PBES2, AES-256-CBC and PBKDF2-SHA-256, with a SHA-256 MAC over the whole container. That is the profile OpenSSL 3 writes by default and Windows has read since 8.1 / Server 2012 R2.

The leaf and the key are tagged with a matching localKeyID. Without it Windows imports the file and then shows a certificate with no private key attached, which is the single most common way a working .pfx looks broken in IIS.

Common problems

Related