Install a certificate on Microsoft Exchange 2010/2013/2016
1- PreparationTo install a certificate on Microsoft Exchange 2010/2013/2016:
- If you used the helper to generate your certificate request, use the helper to import it (in the Exchange Management Console, at the Server Organization root, choose Import Exchange Certificate.)
- If you used the Shell Exchange, launch the cmdlet Import-ExchangeCertificate (do not use the MMC!)
- Or directly import a PFX
2- Importation through the shell
Import-ExchangeCertificate -Path c:\p7-0123456789-12345.p7b | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS"One of our customer -running under Exchange 2010 SP1- informs us that the previous command line did not work. He used this one instead:
Import-ExchangeCertificate -FileData ([Byte]$(Get-Content -Path c:\p7-xxxxxxxxx-yyyy.p7b -Encoding byte -ReadCount 0)) | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS"
Another customer, under Excahnge 2013 encountered the same issue fixed with the same command.
Please note: Your certificate may not be installed even after the execution of this command. In that case, you should follow the manual activation process described below:
In Exchange: manual activation of an already installed certificateShould an error of importation occur, or after a manual importation of the certificate via the MMC, you will have to activate and link the Exchange services to your new certificate:
- 1) Get the "Thumbprint" number of your certificate with the command:
Get-ExchangeCertificate -DomainName "mondomainprincipal.fr"Copy/paste the "Thumbprint" number
If you see your certificate's name several times, add " | fl " at the end of the command and find the last certificate by comparing their expiration date or their serial number (your certificate's serial number is available on it's status page).
Get-ExchangeCertificate -DomainName "mymaindomain.com" | fl
Enable-ExchangeCertificate cmdlet Enable-ExchangeCertificate at command pipeline position 1 Supply values for the following parameters: Services: SMTP,IIS,IMAP,POP Thumbprint: CE20B70F780CDFD72878F5496931F1A8AF1798A2 Confirm Overwrite existing default SMTP certificate, '43B7977C504C7A84422CB815065E1DE34D52CBD3' (expires 12/04/2015 12:42:43) with certificate, 'CE20B70F780CDFD72878F5496931F1A8AF1798A2' (expires 21/05/2012 01:59:59)? [Y] Yes [A] Yes to All [N] No [L] No to All [S] Suspend [?] Help (default is " Y "): Y
3 - Import a PFX
Here is the syntax to use to import a PFX (useful if you used Keybot during the order process):
Import-ExchangeCertificate -FileData ([Byte]$(Get-Content -Path c:\certificates\ExportedCert.pfx -Encoding byte -ReadCount 0)) -Password:(Get-Credential).password | Enable-ExchangeCertificate -Services "SMTP, IMAP, POP, IIS"
Please note: the interface will ask for a username and a password:
- username = toto
- password = the password of the PFX
Error importing a certificate because of a pre-existing oneIf you receive an error message saying it is impossible to import a pfx because a certificate with the same thumbprint,it is possible that you've tried to install a p7b file while your server didn't have the corresponding private key. To solve this problem, read our documentation about how to delete a certificate on Windows Server.
4 - Generate a PFX from Exchange 2010 / 2013 / 2016To generate a pfx, you can either search the certificate by domain, or by thumbprint. Enter one of the two following commands:
$file = Get-ExchangeCertificate -DomainName your.domaine.com | Export-ExchangeCertificate -BinaryEncoded:$true -Password (Get-Credential).password OR $file = Export-ExchangeCertificate -Thumbprint YOUR_THUMBPRINT -BinaryEncoded:$true -Password (Get-Credential).passwordOnce the certificate has been loaded with this command, you can write it into a file with the following command:
Set-Content -Path “c:\your-certificat.pfx” -Value $file.FileData -Encoding ByteYou can also use our certificate exportation procedure via MMC available here: "Create a certificate back-up".
This issue is caused by Exchange that wants to check the CRL during the certificate importation. If its tool (using WinHTTP) can't access the web, the operation fails.
"revocation check failed"
Troubleshoot: See our FAQ about OCSP protocol support
Common issue: The Certificate is Invalid for Exchange Server UsageYou probably have install the certificate without its certification chain (.cer) via the GUI interface. We advise to use the powershell to install our .p7b file.
In that situation, the better way to solve the issue is to request a certificate reissuance and to follow our instructions with the powershell.
You can also try to install the missing chain manually.