so this is for when you absolutely have to interact with a website using a certain private key (.pem) and a certificate (.cer) file.

first, check that you can interact with the site with your private key (.pem) and certificate (.cer) file:

openssl s_client -connect <target ip>:<port> -key key.pem -cert <cert.cer>

if that worked, you’re almost there. next, generate a PKCS12 certificate using openssl:

openssl pkcs12 -export -inkey key.pem -in <cert.cer> -out <cert.p12>

when prompted for a password, enter any random password, e.g. “12345”

  • note here that your PKCS12 cert is cert.p12
  • also note your passphrase for the PKCS12 cert - you’ll need both for the next step

go to your burpsuite > project options > TLS > Client TLS Certificates, tick ‘override user options’, and click ‘Add’

  • add your Destination Host (e.g. target.site)
  • check File (PKCS#12), click next
  • click Select file, upload your PKCS12 certificate
  • enter your random password from earlier
  • finish the process

you should now be able to access the site with your PKCS12 cert :)