adfs证书更新
adfs更换 服务通信证书
1.将pfx证书安装到所有adfs服务器上,位置: 证书\计算机\个人
2.右击证书>所有任务>管理私钥>添加,将ADFS部署过程中添加的ADFS服账户赋权,读取权限即可
查看adfs服务,可以看到所用的服务账户
3.通过powershell命令设置新证书:
dir cert:\LocalMachine\My #获取新证书指纹 Set-AdfsCertificate -CertificateType Service-Communications -Thumbprint xxxxxxxx #设置服务通信证书 Set-AdfsSslCertificate -Thumbprint xxxxx #设置SSL证书 Restart-Service adfssrv #重启ADFS服务
###############################################################################################################
ADFS自签名证书自动滚动更新
默认情况下,AD FS 配置为自动生成令牌签名证书和令牌解密证书。 它会在初始配置期间和证书即将到期时执行此操作,
参考 https://learn.microsoft.com/zh-cn/windows-server/identity/ad-fs/operations/configure-ts-td-certs-ad-fs?source=recommendations
可以运行以下 PowerShell 命令:Get-AdfsProperties | FL AutoCert*, Certificate*
AutoCertificateRollover 设置为 True,表示AD FS 证书将在 AD FS 中自动续订和配置
CertificateGenerationThreshold表示adfs在证书到期前20天自动生成新证书
CertificatePromotionThreshold表示adfs在证书到期前5天自动应用新证书
参考:https://learn.microsoft.com/zh-cn/entra/identity/hybrid/connect/how-to-connect-emergency-ad-fs-certificate-rotation
#################################################################
ADFS备机 adfs服务无法启动,提示“尝试为指纹“40155551B0948B8A7C708DD5584DD36165CA9541”标识的配置证书建立证书链期间出错。原因可能包括证书已吊销,或证书不在其有效期内。”
原因为:备机的证书已过期,未及时同步到主机上的证书更新信息
处理办法:
在powershell下运行命令 Set-Date -Date "06/01/2024 12:45",修改系统时间,然后运行命令Start-Service adfssrv
然后可以打开adfs管理控制台,adfs会自动与主机同步,过一会儿再重新启动adfs服务,即可确认恢复正常
################################################################
adfs更换公网域名,更换公网证书
1、将pfx公网证书安装到所有adfs服务器上,位置: 证书\计算机\个人
2、右击证书>所有任务>管理私钥>添加,将ADFS部署过程中添加的ADFS服账户赋权,读取权限即可
查看adfs服务,可以看到所用的服务账户
3、通过powershell命令设置新证书:
dir cert:\LocalMachine\My #获取新证书指纹 Set-AdfsCertificate -CertificateType Service-Communications -Thumbprint xxxxxxxx #设置服务通信证书
4、ADFS管理控制台-属性,将adfs.test.com其修改为新域名
5、使用netsh http命令修改adfs监听地址:
#查看已绑定的证书 netsh http show sslcert #删除已绑定的证书,原有的旧域名绑定证书可保留不冲突 netsh http delete sslcert ipport=0.0.0.0:443 netsh http delete sslcert hostname=localhost:443
#添加新域名证书 netsh http add sslcert ipport=0.0.0.0:443 certhash=9DBEA43EDC1EA76F684D5F9D8C1B2E7CE011E9BD appid='{5d89a20c-beab-4389-9447-324788eb949a}' netsh http add sslcert hostnameport=adfs.dev.cc:443 certhash=9DBEA43EDC1EA76F684D5F9D8C1B2E7CE011E9BD appid='{5d89a20c-beab-4389-9447-324788eb949a}' certstorename=MY netsh http add sslcert hostnameport=adfs.dev.cc:49443 certhash=9DBEA43EDC1EA76F684D5F9D8C1B2E7CE011E9BD appid='{5d89a20c-beab-4389-9447-324788eb949a}' certstorename=MY netsh http add sslcert hostnameport=localhost:443 certhash=9DBEA43EDC1EA76F684D5F9D8C1B2E7CE011E9BD appid='{5d89a20c-beab-4389-9447-324788eb949a}' certstorename=MY
查看adfs当前绑定的ssl证书:
get-AdfsSslCertificate -Thumbprint
6、将ADFS自签名证书更换为有效期99年的自签名证书
1、禁用adfs自动滚动更新自签名证书 Set-AdfsProperties -AutoCertificateRollover $false 2、#重新生成有效期为99年的自签名令牌解密和令牌签名证书 New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -NotAfter (Get-Date).AddYears(99) -Subject "ADFS Encryption - adfs.yxdev.cc" New-SelfSignedCertificate -CertStoreLocation Cert:\LocalMachine\My -NotAfter (Get-Date).AddYears(99) -Subject "ADFS Signing - adfs.yxdev.cc" 3、在adfs主服务器上将上一步生成的自签名证书导出,然后在adfs备机上将两个证书导入,必须要放在 计算机-个人证书 位置下面。主备机上,均要对两个自签名证书授予 adfs服务账户 读取权限。如果没有权限,adfs服务会启动后自动停止,提示终结点不可用 4、在adfs控制台中,分别添加自签名解密和自签名证书,然后将其设置为主要证书
7、重启主机的adfs服务,然后重启备机的adfs服务,一切正常
Restart-Service adfssrv #重启ADFS服务
8、将自签名 令牌签名证书,安装到两台ADFS 受信任的根证书颁发机构,然后还需要安装到所有Exchange服务器的 受信任的根证书颁发机构,否则adfs在跳转的时候,会提示“wrongAudienceORbadCert”错误
注:在Exchange上在配置ADFS前面证书指纹的时候,使用的就是 此处生成的 自签名 令牌签名证书
Set-OrganizationConfig -AdfsIssuer https://adfs.dev.cc/adfs/ls/ -AdfsAudienceUris "https://mail.dev.cc/owa/","https://mail.dev.cc/ecp/" -AdfsSignCertificateThumbprints "E935BAAA04D39B8FAE96573FDECD5FE4611CA395"