ADFS服务证书更新介绍

简介:

说到ADFS(Active Directory Federation Services)服务,相信大家都已经了解了,ADFS服务我们可以理解为SSO(单点登录),在windows服务下, 主要应用到了windows azure或者office365的用户权限登录。

ADFS将活动目录拓展到Internet。要理解这一点,可以考虑一般活动目录设施的工作原理。当用户通过活动目录认证时,域控制器检查用户的证书。证明是合法用户后,用户就可以随意访问Windows网络的任何授权资源,而无需在每次访问不同服务器时重新认证。

ADFS将同样的概念应用到Internet. 我们都知道Web应用访问位于SQL Server或其他类型后端资源上的后端数据。对后端资源的安全认证问题往往比较复杂。可以有很多不同的认证方法提供这样的认证。例如,用户可能通过RADIUS(远程拨入用户服务认证)服务器或者通过应用程序代码的一部分实现所有权认证机制。

这些认证机制都可实现认证功能,但是也有一些不足之处。不足之一是账户管理。当应用仅被我们自己的员工访问时,账户管理并不是个大问题。但是,如果您的供应商、客户都使用该应用时,您会突然发现您需要为其他企业的员工建立新的用户账户。不足之二是维护问题。当其他企业的员工离职,雇佣新员工时,您需要删除旧的账户和创建新的账户。密码也是一个问题。另一ADFS的主要组件是ADFS Web代理。Web应用必须有对外部用户认证的机制。这些机制就是ADFS Web代理。 ADFS Web代理管理安全令牌和向Web 服务器发放的认证cookies

今天主要介绍的环境为windows azure及office365环境下部署服务,因为部署ADFS的服务的时候,需要一张带私钥的证书才可以完成整个配置,配置长期使用后,证书如果过期了,我们需要更新证书才可以正常使用。今天就介绍当ADFS服务过期了如何更新证书。具体见下:

https://support.microsoft.com/zh-cn/kb/2921805

注:如果环境内部署了ADFS服务的话, online skype for client登录(本地AD用户同步到online的用户)的时候,需要通过adfs服务进行验证,所以ADFS证书需要受公网的信任才可以

注:ADFS服务器不建议安装IIS服务,如果安装了会有遗留问题。

https://technet.microsoft.com/zh-cn/library/dn194098.aspx

最后发现,我环境中的ADFS服务器的证书不受信任,所以也无法登陆,所以我们也需要为当前ADFS服务器更换证书

clip_image002

由于需要受互联网的信任,所以我们需要申请公网证书

我们首选需要为ADFS提交一个证书申请,然后生成对应的csr文件

我们在ADFS服务器的iis管理控制台下;服务器证书----创建证书申请

clip_image004

clip_image006

clip_image008

clip_image010

免费公网证书申请

在此我们使用沃通

https://www.wosign.com/

clip_image012

clip_image014

https://buy.wosign.com/ProductList.html

clip_image016

clip_image018

我们定义需要申请的SSL证书域名名称

clip_image020

提交后,我们需要提交CSR文件来生成证书

clip_image022

我们单击提交CSR选项,然后选择---方式二,自己提交CSR文件

clip_image024

提交后,我们单击下载证书

clip_image026

下载后,我们使用IIS这个证书就可以了

clip_image028

然后我们需要将该证书完成创建及,导入带有私钥的证书

clip_image030

完成证书申请

clip_image032

我们导出该证书

clip_image034

证书导出完成

clip_image036

https://support.microsoft.com/zh-cn/kb/2921805

证书准备好后,我们解析来就是在ADFS服务器本地计算机存储中安装新的证书

注:由于我们在ADFS服务器上的IIS上申请证书的,所以我们无需要下面操作的步骤,我们第一步跳过即可

在本地计算机证书存储中安装新的证书

步骤 1: 在本地计算机证书存储中安装新的证书

按照以下步骤为新安装的本地计算机证书存储中的证书。

然后单击 [启动]、 [运行]。

「MMC"并输入。

[文件]从 [添加 / 删除管理单元中单击。

[管理单元]从列表 [证书],然后选择 [添加单击。启动证书管理单元向导。

选择计算机帐户,然后单击下一步。

选择本地计算机: (运行此控制台的计算机),然后单击完成。

[请单击确定。

控制台根 \Certificates (本地计算机) \Personal\Certificates展开。

[证书[所有任务]、 [导入] 右键单击,然后单击。

clip_image038

步骤 2: 添加新证书的专用密钥访问 AD FS 服务帐户

添加新证书的专用密钥的权限 AD FS 服务帐户,请执行以下步骤。

只是继续打开本地计算机的证书存储区选择导入证书。

用鼠标右键单击证书,然后 [所有任务]、 [管理专用密钥] (私有密钥管理) 单击。

注意:您需要运行以下命令,如果不能管理私钥。   
certutil -repairstore my *

clip_image040

ADFS 服务授予读取权限或更高版本上的帐户并添加正在运行的帐户。

clip_image042

以下步骤,我们需要我们只需要在ADFS2.0下运行,如果是ADFS3.0的话就无需要以下步骤了

运行在windows2008r2上的ADFS服务器(联合身份验证服务)是需要做以下第三步骤的配置的

运行在windows2012以上的ADFS服务器(联合身份验证服务)是不需要做以下第三步骤的配置的,直接跳过即可

S 管理器中,一个新的证书绑定到的 AD FS 的 Web 站点

使用 IIS 管理器,请按照以下步骤中,您的新证书链接到 AD FS Web 站点将。

打开 Internet Information Services (IIS) 管理器管理单元。

浏览到Web 站点的默认值。

右键单击默认的 Web 站点,然后选择编辑绑定。

[HTTPS]然后 [编辑单击。

从 SSL 证书中选择相应的证书。

然后单击 [确定]、 [关闭]。

clip_image044

clip_image046

步骤 4: 配置 AD FS 服务器服务要使用的新证书

注意:ADFS2.0版本为windows2008R2系统自带的windows活动目录联合身份验证服务;

windows2012以上版本为ADFS 3.0

可以使用 AD FS 服务器服务新证书,请按照以下步骤来配置。

打开 AD FS 2.0 管理。

AD FS 2.0 \Service\Certificates打开。

[证书右键单击 [设置服务通信证书] (服务通信的证书设置) 选择。

clip_image048

从证书选择列表中选择新的证书。

[请单击确定。

clip_image050

注意: 您可能会看到一个对话框,其中包含以下消息:   
证书密钥长度是少于 2048 位。证书密钥大小小于 2048 位可能存在安全风险,并不建议。您还要继续吗?    
后此消息 [是将显示以下对话框。    
确保选定证书的专用密钥对此联合身份验证服务的服务器场中每台服务器上的服务帐户可以访问。    
由于此过程完成后在第 2 步 [确定,然后退出。

clip_image052

我们已经可以看见证书的颁发者为:CN=CA 沃通免费SSL证书

clip_image054

注:如果有adfs代理服务器的话,我们需要直接重新运行ADFS的配置向导

最后我们发现替换证书后,没有生效,还是原来的旧的证书信息,所以我们需要手动强制更新;

首先查看当前本地计算机下的个人证书下的信息;我们查看到是有两张证书的,一张是原来的,一张是新申请的;

1
dir  cert:\localmachine\my | fl

clip_image056

1
netsh http show sslcert | fl

clip_image058

我们删除默认证书即可;

1
netsh http delete sslcert hostnameprot=adfs.ixmsoft.com:443

clip_image060

最后总结,作为一个ADFS服务器不建议安装IIS服务

我们添加新的证书需要更具以上信息来新建添加

1
dir  cert:\localmachine\my | fl

clip_image056[1]

1
netsh http show sslcert | fl

clip_image058[1]

1
2
3
4
certhsh= 指纹
appid=应用程序ID
添加新的证书信
netsh http add sslcert hostnameport=adfs.ixmsoft.com:443 certhash=F628589821160514BDFDBDC51BD2F9C4DCB9EA99 appid={5d89a20c-beab-4389-9447-324788eb944a} certstorename=MY

clip_image062




本文转自 高文龙 51CTO博客,原文链接:http://blog.51cto.com/gaowenlong/1722479,如需转载请自行联系原作者

相关文章
|
网络协议 网络安全
acme.sh从 letsencrypt 生成SSL免费证书并自动更新证书
acme.sh从 letsencrypt 生成SSL免费证书并自动更新证书
1151 0
|
应用服务中间件 Linux API
acme.sh 快速实现 https 证书颁发与自动续期
借助acem.sh来迅速实现 let's encrypt 的泛域名 ssl 证书颁发与续期,基本上五分钟就可以解决战斗
2019 0
|
9天前
|
存储 弹性计算 运维
客户端证书自动颁发脚本
【4月更文挑战第30天】
18 1
|
9天前
|
存储 弹性计算 运维
给多个用户颁发证书
【4月更文挑战第30天】
7 1
|
9天前
|
弹性计算 运维 安全
给一个用户颁发证书
【4月更文挑战第30天】
7 0
|
网络安全
更新 LetsEncrypt 证书
更新 LetsEncrypt 证书
183 0
|
自然语言处理 Java 开发者
基于 TrueLicense 的项目证书验证
基于 TrueLicense 的项目证书验证
283 0
基于 TrueLicense 的项目证书验证
|
Web App开发 安全 网络协议
SSL证书相关技巧 -- 如何访问一个网站,其证书不在系统证书列表中
SSL证书相关技巧 -- 如何访问一个网站,其证书不在系统证书列表中 推荐一个免费的阿里云产品:云盾证书(https证书) 为了能让非专业人士看懂,同样尽量用直白的话,一般来说:当你个人需要建立网站,或者公司要建立官网、商城,通常需要先购买服务器或云主机,虚拟空间,然后将网页和程序、数据库部署上去,用户就可以用浏览器访问了,比如说浏览页面的内容、登录、发表评论、购物等。
1887 0