Read more

Fix "A client error (MalformedCertificate) occurred: Invalid Private Key." at AWS SSL Certificate upload

Kim Klotz
October 22, 2013Software engineer at makandra GmbH

I'm creating certificate requests with this command:

openssl req -new -out www.example.com.csr -keyout www.example.com.key -newkey rsa:2048 -nodes
Illustration UI/UX Design

UI/UX Design by makandra brand

We make sure that your target audience has the best possible experience with your digital product. You get:

  • Design tailored to your audience
  • Proven processes customized to your needs
  • An expert team of experienced designers
Read more Show archive.org snapshot

When I try to upload the certificate to AWS IAM I get this error:

$ aws iam upload-server-certificate --server-certificate-name www.example.com-2013010-2014010 --certificate-body www.example.com.crt --private-key www.example.com.key --certificate-chain www.example.com.ca-bundle 
A client error (MalformedCertificate) occurred: Invalid Public Key Certificate.

That's because of the format of the key file (www.example.com.key).

If it starts with -----BEGIN PRIVATE KEY----- you have to convert it to rsa:

mv www.example.com.key www.example.com.key_norsa
openssl rsa -in www.example.com.key_norsa -out www.example.com.key

After this the key file should start with -----BEGIN RSA PRIVATE KEY----- and the upload should work without any problems.

Posted by Kim Klotz to makandra Operations (2013-10-22 19:34)