首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >ADFS -不能设置SSL证书

ADFS -不能设置SSL证书
EN

Stack Overflow用户
提问于 2021-07-03 08:17:53
回答 1查看 997关注 0票数 0

我正在尝试创建一个测试ADFS环境,而ADFS配置一直在失败。打开详细日志之后,我可以看到SSL证书存在问题。证书已导出私钥。事件错误如下:事件Id: 12个关键字: ADFSConfiguration

我尝试用PowerShell设置adfs证书,但得到了以下错误“

PS C:\Users\user> Set-AdfsSslCertificate -Thumbprint 'thumbprint‘-Thumbprint-AdfsSsl证书:由于通信对象处于故障状态,因此无法用于通信。一行:1字符:1

  • -Thumbprint '1F7C1402E211642287AAA3C04ED242FE3
    • System.ServiceModel.CommunicationObjectFaultedException,CategoryInfo : NotSpecified:(:) Set-AdfsSsl证书,CommunicationObjectFaultedException + FullyQualifiedErrorId :FullyQualifiedErrorId Microsoft.IdentityServer.Managem ent.Commands.SetSslCertificateCommand

请帮帮忙。

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2021-07-30 12:15:28

我也遇到了同样的问题,我花了一段时间才弄明白如何创建新的证书。答案相当简单。

首先,您需要将域控制器的日期设置为证书仍然有效的日期。为此,您需要停止服务"w32time“,否则无法在域控制器上设置日期。您可以找到更多信息,这里

以管理员身份打开cmd并键入以下命令:

代码语言:javascript
运行
复制
net stop w32time

现在,打开日期和时间设置,并将日期设置为证书仍然有效的日期。

现在启动。它应该一开始就没有问题。当然,我建议在做下一步之前等几分钟。

再次启动"w32time"-service,以便域控制器再次获得正确的时间。您将看到仍然在运行。

代码语言:javascript
运行
复制
net start w32time

有必要等到系统再次找到合适的时间,否则证书将在过去创建。

以管理员身份打开Powershell并键入以下命令:

代码语言:javascript
运行
复制
Set-ADFSProperties -CertificateDuration 1095

这将新生成的证书的有效期定为3年。(这不是必要的,但在这种情况下可能会有所帮助-默认值为365天)(可以选择使用以下命令设置证书生成阈值:

代码语言:javascript
运行
复制
Set-ADFSProperties -CertificateGenerationThreshold 30

这将使证书在旧证书过期前30天自动更新。

使用以下命令,您可以设置证书提升阈值:

代码语言:javascript
运行
复制
Set-ADFSProperties -CertificatePromotionThreshold 25

通常,新生成的证书将被创建为“二级”证书。使用此命令,它们将在25天后晋升为“初级”证书,并将用作此证书。

另一个可选设置是证书临界阈值设置,如果由于某种恶意原因,AD FS服务无法创建或提升新的certficates,则启动该设置。下面的命令将在旧证书过期前的几天内执行此操作。默认值是2天,这是完全好的。

代码语言:javascript
运行
复制
Set-ADFSProperties -CertificateCriticalThreshold 2

最后,但并非最不重要的是,激活证书的自动滚转,因此问题基本上不会再次出现,证书将自动更新。

代码语言:javascript
运行
复制
Set-ADFSProperties -AutoCertificateRollover $true

现在,在Powershell中使用下面的命令来更新certficates。

代码语言:javascript
运行
复制
Update-ADFSCertificate -Urgent

您可以在下面的网站中找到有关此过程的更多信息。

现在打开ADFS,转到“服务->证书”。在那里你会找到所有的三个证书。如果其中一个是空的、过期的或丢失的,您可以在正确的站点上设置新的操作。将所有3个证书设置为新证书后,重新启动adfs服务。如果它恢复正常,那么重新启动您的服务器。

服务应该在系统启动后立即启动。

现在,您可以测试您的AD服务是否正常工作。我不确定这是否是解决这个问题的正确方法,但我可以保证这为我解决了这个问题。

如果某些应用程序不能工作,那么检查它们是否需要知道证书更改的情况。(例如GitLab)在某些情况下,浏览器缓存也可能是一个问题,所以您需要清除它。甚至有些应用程序也可能有一个带有错误证书的缓存,因此有必要重新启动应用程序(这两种缓存场景都不应该是这样的,但它们可能是这样)。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68234448

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档