azure-keyvault

Is it possible to store the Microsoft RSA Root Certificate Authority 2017 certificate in Key Vault?


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

.


Solution

  • I have a sample Microsoft RSA Root Certificate Authority 2017.crt certificate:

    enter image description here

    When I tried to store the certificate, I got the same error:

    enter image description here

    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:

    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)"
    

    enter image description here

    enter image description here

    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.