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 online protection

Rails Long Term Support

Rails LTS provides security patches for old versions of Ruby on Rails (2.3, 3.2, 4.2 and 5.2)

  • Prevents you from data breaches and liability risks
  • Upgrade at your own pace
  • Works with modern Rubies
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)