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
.
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
.
Share Improve this question asked Feb 18 at 4:19 gocgoc 311 silver badge2 bronze badges 1 |1 Answer
Reset to default 0I 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.
- The "Microsoft RSA Root Certificate Authority 2017" certificate is a public certificate, and it doesn’t contain a private key,
To resolve the error, check the below:
- Store the certificate as a secret: Instead of using the
--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:
- Uploading as a certificate into Key Vault requires both private key and public key.
- If you have the private key (for example, if it’s stored somewhere else), you can combine the public certificate and private key into a PFX file like below:
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.
.crt
file (which only contains the public key) into a.pfx
file that includes both the public and private keys, and then import it into Key Vault using theaz keyvault certificate import
command. – Rukmini Commented 2 days ago