Skip to main content

[dupl] How to create a Private Key, CSR and Import Certificate on Microsoft Azure KeyVault (Cloud HSM)

User-added image

Purpose: How to create a Private Key, CSR and Import Certificate on Microsoft Azure KeyVault (Cloud HSM) User-added image

Requirements

1. You must have an active Microsoft Azure account.

2. You must have selected either the Free or HSM (paid) subscription option. These steps will work for either Microsoft Azure account type.

3. Microsoft Azure PowerShell must be installed. You can download it here .

Contents

Creating the Private Key

Generating the Certificate Signing Request (CSR)

Importing the Public Signed Certificate to Microsoft Azure KeyVault

Creating the Private Key

1. Launch Microsoft Azure PowerShell.

2. Log in to your Microsoft Azure account by typing:

Login-AzureRmAccount

User-added image

You will be prompted to enter your credentials to log in to your account. Once you login successfully you will see something like the below:

User-added image

3. Determine your Resource Group. If you already have an existing Resource Group, you can skip this step. Otherwise, to create a resource group you need to provide the pieces of information shown below:

Entity Description Example
Resource Group Name This is the name you choose for your Resource Group. ECSTestCertificatesGroup
Location Geographic location for your key. Canada Central

To create a new resource group , use the command below:

New-AzureRMResourceGroup -Name 'ECSTestCertificatesGroup' -Location 'Canada Central'

User-added image

4. Determine your keyvault . If you do not have an existing keyvault, you will need to generate one.

To create a new keyvault follow the command line below:

New-AzureRmKeyVault -VaultName '<your Vault Name>' -ResourceGroupName '<your Group Name>' -Location '<your Location>' -SKU 'Premium'

Where:

Entity Description Example
VaultName Your own Vault Name. This name is unique. Microsoft Azure will reject your Vault Name if someone else has already registered that name in the Cloud. MyNewECSKeyVault
ResourceGroupName Your own Group Name (chosen in Step 3 ). ECSTestCertificatesGroup
Location Geographic location for your key. Central Canada

User-added image

5. Create a private key . Please note that you can create multiple private keys in one keyvault.

The command to create a key is:

$key = Add-AzureKeyVaultKey -VaultName '<your Vault Name>' -Name '<your Private Key Name>' -Destination '<HSM/Software>'

Where:

Entity Description Example
VaultName Your Vault Name (chosen in Step 4 ). MyNewECSKeyVault
Name Your Private Key Name. MyCSKey
Destination Location where you want to save your private key. HSM

User-added image

Your private key has been generated.

To view your private key inside your KeyVault, you can use the command:

Get-AzureKeyVaultKey -VaultName 'MyNewECSKeyVault'

User-added image

Generating the Certificate Signing Request (CSR)

The Certificate Signing Request (CSR) will be generating from within Microsoft Azure KeyVault as follows:

1. Set the parameters for your certificate policy by using the following commands:

$vaultName = '<your Vault Name>'
$certificateName = '<your Certificate Name>'

$manualPolicy = New-AzureKeyVaultCertificatePolicy -SubjectName "<your FQDN>" -ValidityInMonths 24 -IssuerName Unknown

Where:

Entity Description Example
$vaultName Your Vault Name. MyNewECSKeyVault
$CertificateName Your own designated Certificate Friendly Name. MyCSCertificate
-subjectName Your Fully Qualified Domain Name (FQDN). CN=www.testcertificates.com

User-added image

2. Execute the Certificate Operation Command :

$certificateOperation = Add-AzureKeyVaultCertificate -VaultName $vaultName -Name $certificateName -CertificatePolicy $manualPolicy

User-added image

3. Generate Certificate Signing Request (CSR) :

$certificateOperation.CertificateSigningRequest

User-added image

You have successfully created the CSR and are ready to create the certificate. This is the CSR you will use to create the certificate in either your ECS Enterprise Account or during the ordering process if you are requesting an individual Code Signing certificate.

Importing the Public Signed Certificate to Microsoft Azure KeyVault

After completing the creation of your certificate using either your ECS Enterprise account, or by completing the individual certificate purchase on our website, follow these steps to successfully import the Public Signed Certificate to Microsoft Azure KeyVault:

1. Download your certificate, which will be delivered in a .zip format.

2. Unzip the file and store it to your local drive so you may import it to Microsoft Azure Keyvault.

3. Import the certificate to Microsoft Azure KeyVault using the command:

Import-AzureKeyVaultCertificate -VaultName $vaultName -Name $certificateName -FilePath

Where:

Entity Description Example
$VaultName Your Vault Name. MyNewECSKeyVault
$CertificateName Your Certificate Friendly Name MyCSCertificate
FilePath Location in your drive where you store your downloaded certificate file. C:\azuretest\ServerCertificate.crt

User-added image

You have successfully imported your certificate into your Microsoft Azure KeyVault Cloud HSM.

For best practices regarding the protection of private keys related to Code Signing certificates, please see our Best Practices article here.

User-added image Your private key is now securely stored in your Microsoft Azure KeyVault Cloud HSM.

If you have any questions or concerns please contact the Entrust Certificate Services Support department for further assistance:

Hours of Operation: Sunday 8:00 PM ET to Friday 8:00 PM ET

North America (toll free): 1-866-267-9297

Outside North America: 1-613-270-2680 (or see the list below)

NOTE: It is very important that international callers dial the UITF format exactly as indicated. Do not dial an extra "1" before the "800" or your call will not be accepted as an UITF toll free call.

Country Number
Australia 0011 - 800-3687-7863
1-800-767-513
Austria 00 - 800-3687-7863
Belgium 00 - 800-3687-7863
Denmark 00 - 800-3687-7863
Finland 990 - 800-3687-7863 (Telecom Finland)
00 - 800-3687-7863 (Finnet)
France 00 - 800-3687-7863
Germany 00 - 800-3687-7863
Hong Kong 001 - 800-3687-7863 (Voice)
002 - 800-3687-7863 (Fax)
Ireland 00 - 800-3687-7863
Israel 014 - 800-3687-7863
Italy 00 - 800-3687-7863
Japan 001 - 800-3687-7863 (KDD)
004 - 800-3687-7863 (ITJ)
0061 - 800-3687-7863 (IDC)
Korea 001 - 800-3687-7863 (Korea Telecom)
002 - 800-3687-7863 (Dacom)
Malaysia 00 - 800-3687-7863
Netherlands 00 - 800-3687-7863
New Zealand 00 - 800-3687-7863
0800-4413101
Norway 00 - 800-3687-7863
Singapore 001 - 800-3687-7863
Spain 00 - 800-3687-7863
Sweden 00 - 800-3687-7863 (Telia)
00 - 800-3687-7863 (Tele2)
Switzerland 00 - 800-3687-7863
Taiwan 00 - 800-3687-7863
United Kingdom 00 - 800-3687-7863
0800 121 6078
+44 (0) 118 953 3088