好家伙 证书又到期了
前面写了CRM网站的证书的更换比较简单,这次呢大更换,证书全部都换了,也包括了ADFS的证书,这次更换发现也给前面有一次ADFS无法通过验证的原因加以佐证。
好了,废话不多说开搞。
导入证书
这个导入证书不写了,看前面吧CRM网站的证书的更换,不过这里多一点要给证书设置访问权限,
设置证书权限,此步骤必须要操作,否则访问信赖方元数据会报秘钥集不存在。
选中新导入的证书右击—选 所有任务---- 选 管理私钥 添加 Everyone 或 NetworkService 权限,完全控制
还有一点,涉及到的需要更换证书的服务器都要更换,CRMapp服务器, ADFS服务器
更换IIS证书
同上,看 CRM网站的证书的更换
更换ADFS证书
设置服务通信证书
进入ADFS服务器,打开ADFS管理器,在“服务->证书”,右键设置服务通信证书,然后选择一下前面导入的证书
添加令牌签名证书和令牌解密证书
下面重点,令牌签名和令牌解密证书,在过期之前,默认系统会自动生成。一般建议手工操作,避免在自动更换证书期间出现一些异常,导致应用系统无法使用。这就是为什么上次ADFS认证不通过,所以这次直接全部换掉。
在“服务->证书”,右键添加令牌签名证书和令牌解密证书
由于解密和签名证书默认是自动生成,所有无法直接设置,需要先禁用自动更新。
打开 PowerShell,以管理员身份运行
执行一下命令
Set-ADFSProperties -AutocertificateRollover $false
然后就可以开始添加令牌签名和解密证书,和上面设置服务通信证书一样。同时要记得把新添加的证书设置为主证书。
更新证书指纹
更新证书指纹!非常重要的一步!
打开 PowerShell 执行 GET-ADFSSSLcertificate,对比新证书的指纹,发现不一致,此时 ADFS 里
面的还是老的证书指纹,新的证书指纹,可以点击上面导入的证书查看。
-
复制新的证书指纹,去掉中间空格,并转成大写。
-
设置 ADFS 证书指纹 。
Set-AdfsSslCertificate -Thumbprint xxxx 指纹内容
-
执行成功后,再执行一下查询命令 GET-ADFSSSLcertificate,对比指纹,确保更新成功。
-
重启ADFS服务。
更新配置
更新CRM配置
进入到 CRM 应用服务器,打开 CRM 部署管理器
点击 配置基于声明的省份验证 按照提示下一步 到证书时选择新导入的证书 下一步 … 其他都不要动。
完事,点击 配置面向 Internet 的部署 直接点下一步 到最后就可以了。
更新ADFS信赖方元数据
要打开 ADFS 部署管理器,
- 更新 internal(内部)的信赖方元数据,右键“从联合元数据更新”。
- 更新外部信赖方元数据。
- 更新结束后,重启 ADFS 服务。
所以上次ADFS的问题就是虽然 系统自己更换了令牌签名证书和令牌解密证书,但是没有更新配置从而导致无法登录。