When I try to store the certificate, I get the following message:
az keyvault certificate import --vault-name vault01 --name "MicrosoftRSA2017" --file "Microsoft RSA Root Certificate Authority 2017.crt"
(BadParameter) No certificate with private key found in the specified X.509 certificate content. Please specify X.509 certificate content with only one certificate containing private key. Code: BadParameter Message: No certificate with private key found in the specified X.509 certificate content. Please specify X.509 certificate content with only one certificate containing private key
.
I have a sample Microsoft RSA Root Certificate Authority 2017.crt
certificate:
When I tried to store the certificate, I got the same error:
The error "No certificate with private key found in the specified X.509 certificate content" usually occurs if you're trying to import a certificate without an associated private key, which is required for Key Vault to store it as a certificate.
To resolve the error, check the below:
--file
option with the .crt
file directly, you should base64 encode the certificate file and then upload it as a secret.base64 "Microsoft RSA Root Certificate Authority 2017.crt" > encoded_cert.txt
az keyvault secret set --vault-name rukkkkkv33 --name "MicrosoftRSA2017" --value "$(cat encoded_cert.txt)"
Otherwise, you can Convert the certificate to a PFX format:
openssl pkcs12 -export -out certificate.pfx -inkey privatekey.key -in Microsoft RSA Root Certificate Authority 2017.crt
Then you can upload this.pfx
file into Key Vault:
az keyvault secret set --vault-name vault01 --name "MicrosoftRSA2017" --file "Microsoft RSA Root Certificate Authority 2017.crt"
If you do not have private key, then upload certificate as secret in key vault.