To update SPAS to new DNS names, you must create a new SSL certificate, update IIS bindings, edit configuration files, and adjust DNS or hosts entries.
Changing FQDNs for SurePassID Authentication Server (SPAS)
Steps
A) Create and Install New Certificate
- Run the SurePassID PowerShell script (see KB: Creating Self-Signed Certs Self-Signed Cert via PowerShell ).
- This creates a cert with SANs for all new FQDNs and places it in Trusted Root Certification Authorities.
- Open MMC → Certificates (Local Computer).
- Navigate to Trusted Root Certification Authorities → Certificates, locate the new cert (check Friendly Name).
- Copy the cert to Personal → Certificates (Right-click → Copy → Paste).
- IIS requires the cert in Personal for binding.
- Export the cert without the private key (Right-click → All Tasks → Export → choose “No private key”) and save as
.cer. - Distribute this
.cerfile to all client systems (see Section F). - Note the Friendly Name for later IIS binding.
B) Update IIS Bindings
- Open IIS Manager → Sites → select mfa, api, saml2.
- Click Bindings… → Edit https → change Host name to new FQDN.
- From SSL certificate dropdown, select the new cert (Friendly Name noted earlier).
- Repeat for all three sites.
C) Update Configuration Files
- Backup first: Copy these files to a safe location: (paths may vary slightly)
C:\Program Files (x86)\SurePassID Corp\SurePassID Authentication Server 2x.x\apiserver\appsettings.jsonC:\Program Files (x86)\SurePassID Corp\SurePassID Authentication Server 2x.x\mfaserver\web.configC:\Program Files (x86)\SurePassID Corp\SurePassID Authentication Server 2x.x\saml2idp\web.config
- Open each file in Notepad or Notepad++ (Run as Administrator).
- Replace all old FQDN references (e.g.,
yourco.com) with new DNS names. - Save changes and close the editor.
Find & Replace Tip
- Notepad++: Press
Ctrl+H→ Enter old FQDN in Find what, new FQDN in Replace with → Click Replace All. - PowerShell (optional):
(Get-Content "C:\Path\To\appsettings.json") -replace "yourco.com","newco.com" | Set-Content "C:\Path\To\appsettings.json"
Repeat for each config file.
D) Update DNS or Hosts File
- Internal DNS: Add A records for new FQDNs → point to server IP.
- Example: Type: A | Name: mfa.newco.com | TTL: 3600 | Target: 10.0.0.5
- No DNS? Edit
C:\Windows\System32\drivers\etc\hoststo map new FQDNs to server IP.
E) Restart IIS
- Run
iisresetin Command Prompt (Admin) to apply all changes.
F) Distribute Self-Signed Cert to Clients
Option 1: Non-Domain / Manual
- Copy the
.cerfile to each client. - On each client:
- Open MMC → Certificates (Local Computer).
- Navigate to Trusted Root Certification Authorities → Certificates.
- Right-click → Import → select the
.cerfile → Finish.
Option 2: Domain Environment via GPO
- Place the
.cerfile in a shared location. - In Group Policy Management:
- Create or edit a GPO linked to target computers.
- Navigate to: Computer Configuration → Policies → Windows Settings → Security Settings → Public Key Policies → Trusted Root Certification Authorities
- Right-click → Import → select the
.cerfile. - Apply and update GPO (
gpupdate /force).
PowerShell Script for Non-Domain Clients
Run as Administrator on each client:
# Import .cer into Trusted Root (Local Machine)
$CertPath = "C:\Temp\SPAS-Root.cer"
$store = New-Object System.Security.Cryptography.X509Certificates.X509Store("Root","LocalMachine")
$store.Open([System.Security.Cryptography.X509Certificates.OpenFlags]::ReadWrite)
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate2($CertPath)
$store.Add($cert)
$store.Close()
Quick Validation
- Browse
https://mfa.newco.com,https://api.newco.com,https://saml2.newco.comwithout SSL warnings. - Confirm DNS resolves correctly (
ping new FQDN). - IIS bindings show correct host names and new cert.
- Config files reflect new FQDNs.
- Clients trust the cert (no browser warnings).
Common Pitfalls
- Cert missing SANs → HTTPS fails.
- Cert not copied to Personal store → IIS cannot bind.
- Forgetting to update all config files → app errors.
- Clients not importing cert → trust warnings.