我正在尝试创建一个测试ADFS环境,而ADFS配置一直在失败。打开详细日志之后,我可以看到SSL证书存在问题。证书已导出私钥。事件错误如下:事件Id: 12个关键字: ADFSConfiguration
我尝试用PowerShell设置adfs证书,但得到了以下错误“
PS C:\Users\user> Set-AdfsSslCertificate -Thumbprint 'thumbprint‘-Thumbprint-AdfsSsl证书:由于通信对象处于故障状态,因此无法用于通信。一行:1字符:1
请帮帮忙。
谢谢!
发布于 2021-07-30 12:15:28
我也遇到了同样的问题,我花了一段时间才弄明白如何创建新的证书。答案相当简单。
首先,您需要将域控制器的日期设置为证书仍然有效的日期。为此,您需要停止服务"w32time“,否则无法在域控制器上设置日期。您可以找到更多信息,这里。
以管理员身份打开cmd并键入以下命令:
net stop w32time
现在,打开日期和时间设置,并将日期设置为证书仍然有效的日期。
现在启动。它应该一开始就没有问题。当然,我建议在做下一步之前等几分钟。
再次启动"w32time"-service,以便域控制器再次获得正确的时间。您将看到仍然在运行。
net start w32time
有必要等到系统再次找到合适的时间,否则证书将在过去创建。
以管理员身份打开Powershell并键入以下命令:
Set-ADFSProperties -CertificateDuration 1095
这将新生成的证书的有效期定为3年。(这不是必要的,但在这种情况下可能会有所帮助-默认值为365天)(可以选择使用以下命令设置证书生成阈值:
Set-ADFSProperties -CertificateGenerationThreshold 30
这将使证书在旧证书过期前30天自动更新。
使用以下命令,您可以设置证书提升阈值:
Set-ADFSProperties -CertificatePromotionThreshold 25
通常,新生成的证书将被创建为“二级”证书。使用此命令,它们将在25天后晋升为“初级”证书,并将用作此证书。
另一个可选设置是证书临界阈值设置,如果由于某种恶意原因,AD FS服务无法创建或提升新的certficates,则启动该设置。下面的命令将在旧证书过期前的几天内执行此操作。默认值是2天,这是完全好的。
Set-ADFSProperties -CertificateCriticalThreshold 2
最后,但并非最不重要的是,激活证书的自动滚转,因此问题基本上不会再次出现,证书将自动更新。
Set-ADFSProperties -AutoCertificateRollover $true
现在,在Powershell中使用下面的命令来更新certficates。
Update-ADFSCertificate -Urgent
您可以在下面的网站中找到有关此过程的更多信息。
现在打开ADFS,转到“服务->证书”。在那里你会找到所有的三个证书。如果其中一个是空的、过期的或丢失的,您可以在正确的站点上设置新的操作。将所有3个证书设置为新证书后,重新启动adfs服务。如果它恢复正常,那么重新启动您的服务器。
服务应该在系统启动后立即启动。
现在,您可以测试您的AD服务是否正常工作。我不确定这是否是解决这个问题的正确方法,但我可以保证这为我解决了这个问题。
如果某些应用程序不能工作,那么检查它们是否需要知道证书更改的情况。(例如GitLab)在某些情况下,浏览器缓存也可能是一个问题,所以您需要清除它。甚至有些应用程序也可能有一个带有错误证书的缓存,因此有必要重新启动应用程序(这两种缓存场景都不应该是这样的,但它们可能是这样)。
https://stackoverflow.com/questions/68234448
复制相似问题