Changing the Certificate ADFS
Problem
I needed to change the certificate used by an ADFS server today. Iâd used a temporary self signed wildcard cert to get me up and running now I needed to replace it with a new publicly signed one.
I found a number of ways of doing this INCORRECTLY, so hopefully I will save you making the same mistakes!
Solution
Firstly you need to import your certificate, here from a PFX file, (if you want a PFX file import by double clicking the certificate, then export the certificate, include the private key, and set a password on it). Iâve done this in lots of different articles just use the search bar above it you get stuck.
To import the certificate, open an administrative command window and execute the following command;
certutil -importpfx certificate-name.pfx AT_KEYEXCHANGE
{supply the pfx password}
Open an administrative PowerShell Window and execute the following command;
Set-ADFSProperties -AutoCertificateRollover $false
Make sure your certificate has a small key over the icon, or says âyou have a private key that corresponds to this certificateâ. If yours does not, then import it on the server/PC you created the CSR (Certificate Signing Request) on, then export it to PFX, them import it using the command above on your ADFS server.

On your certificate > All Tasks > Manage Private Keys.

Add > Object Types > Select Service Accounts > Locate and select your ADFS service account. Grant full control.

Launch the AD FS management console > Service > Certificates > Set Service Communication Certificate.

Select the correct (new) certificate > OK.

On the properties of your new certificate locate the thumbprint (not the serial number!) Copy it to the clipboard, then execute the following command;
Set-AdfsSslCertificate -Thumbprint {Paste in the thumbprint - minus the spaces!}Note: BEWARE: If you press tab to complete the above command make sure you DONâT use Set-AdfsCertificate itâs Set-AdfsSslCertificate (it will accept the wrong command, without error, and then wont work at the end).

Then to finish off;
Set-ADFSProperties -AutoCertificateRollover $true
Restart-Service ADFSSRV
Changing ADFS Certificates: Things That Might Go Wrong

The ServiceCommunications primary certificate cannot be used because the KeySpec must have a value of AT_KEYEXCHANGE (1). This value can be changed by reimporting the certificate from a pfx file. From an elevated command prompt, use the command âcertutil -importpfx filename.pfx AT_KEYEXCHANGEâ. For more information, see http://go.microsoft.com/fwlink/?LinkId=798501
You will also see an Event ID 550

Solution: Import the certificate using the âcertutil -importpfx certificate-name.pfx AT_KEYEXCHANGEâ syntax.
Error

Solution: Disable certificate rollover with âSet-ADFSProperties -AutoCertificateRollover $falseâ syntax. (Note: Dont forget to enable it again afterwards!)
Last updated
Was this helpful?