随着互联网技术的发展,网站的安全性问题已经越来越重要,本文介绍如何通过windows的“证书颁发机构”功能,使您的网站基于CA认证后才能访问。
【SSL】:Security Socket Layer , 加密套接字协议层;
【HTTP】:WWW服务程序所用的协议;
【HTTPS】:是一个安全通信通道,它基于HTTP开发,用于在客户计算机和服务器之间交换信息。 它使用安全套接字层(SSL)进行信息交换,简单来说它是HTTP的安全版。
【操作环境】:Windows 2000 Server企业版
【组件】:IIS5.0, 证书颁发机构(安装windows组件)
【虚拟目录】:http://localhost/kosoft/index.aspx
【说明】:设置网站的SSL是基于站点的,而不是针对某个虚拟目录。
一、申请文本形式的证书
1. 浏览“证书颁发机构”组件(一般安装以后会出现在开始---程序---管理工具),如图1
(图1)
2. 创建新的证书申请
打开IIS,在默认Web站点上右键选择“属性”,点击“目录安全性”选项卡,在“安全通信”中点击按钮“服务器证书(S)…”,系统打开了向导。如图2
(图2)
3. 选择“创建一个新证书(C)”,点击“下一步”,“下一步”,输入名称“KoSoft”,选择位长“1024”位,点击“下一步”。
4. 系统出现“组织”、“组织部门”,随便填写几个相关数据。点击“下一步”,出现“站点的公用名称”,保持默认,点击“下一步”,选择“国家”、“省”、“市”。点击“下一步”。
5. 系统出现“证书请求文件名”页面,选择您想要的文件名和存放位置。这里保持默认。
6. 点击“下一步”,点击“完成”就申请了一个证书。
二、生成crt文件证书
1. 打开IE,访问http://localhost/certsrv/ 把刚才申请的证书提交证书颁发机构。出现如下的访问页面,如图3
(图3)
2. 选择“申请证书”,点击“下一步”,选择“高级申请”,点击“下一步”,选择“使用 base64 编码的 PKCS #10 文件提交一个证书申请,或使用 base64 编码的 PKCS #7 文件更新证书申请”。点击“下一步”,出现如图4:
(图4)
3. 点击“浏览”插入刚才生成的certreq.txt文件内容,或者打开certreq.txt把内容复制,粘贴到这里。然后点即“提交”。
4. 您可以看到,您申请的证书已经收到,并且现在的状态是挂起。
5. 回到“证书颁发机构”组件,点击“待定申请”页,可以看到您刚才的申请单,如图5
(图5)
6. 在证书上,右键选择“所有任务”——颁发,则证书就转移到了“颁发的证书”节点下,如图6:
到此为止,证书已经申请,并且颁发成功。
下边看看如何启用这个证书
三、应用证书
1. 打开IE,访问http://localhost/certsrv/ 把刚才申请的证书下载到本地
2. 选择“检查挂起的证书”,“下一步”,注意选择“Base 64 编码”,把证书下载到本地,文件名:certnew.cer
3. 打开IIS,在默认Web站点上右键选择“属性”,点击“目录安全性”选项卡,在“安全通信”中点击按钮“服务器证书(S)…”,系统打开了向导。点击“下一步”,出现如下图7,注意与第一次不同了。
(图7)
4. 选择“处理挂起的请求并安装证书”,点击“下一步”,出现“证书注册”警告,选择“是”,完成向导。
5. 此时可以察看证书,编辑证书。
6. 选择“编辑”,打开如下页面,注意一定要勾选“申请安全通道(SSL)(R)”,点击“确定”。 如果客户端需要审核才能访问,在客户证书中选择“申请客户证书“,如下图8
访问http://localhost/kosoft/index.aspx , 发现,出现如下错误:
请尝试下列操作:
- 在您要访问的地址前面键入“https:”,然后重试。
HTTP 403.4 - 禁止访问:要求 SSL
Internet 信息服务
试试看如下的地址:https://localhost/kosoft/index.aspx 发现,出现如下错误
网页要求客户证书 |
|
您要查看的网页要求使用客户证书。 |
|
请尝试下列操作:
HTTP 403.7 - 禁止访问:要求客户证书
|
7.回到IE,打开http://localhost/certsrv/,申请一个证书,选择“Request a certificate”,点击下一步,选择高级申请,选择“Submit a certificate request to this CA using a form.”,点击下一步,出现证书申请页面,填写姓名,电子邮件,等信息,点击提交。系统提示如下:
证书挂起
您的证书申请已经收到。不过,您必须等待管理员发布您申请的证书。
请在一天或两天内回到此 web 站点以检索您的证书。
注意: 您必须用此 web 浏览器在 10 天内返回以检索您的证书
8.在服务器端,打开证书颁发机构,打开待定申请列表,对申请的证书进行颁发。
9.在客户端打开IE,打开http://localhost/certsrv/,选择Check on a pending certificate,点击下一步,到证书已发布页面,点击证书安装。
10.关闭IE,然后重新打开IE,输入https://localhost/kosoft/index.aspx,便可以访问。
关于证书的有效日期
默认情况下,独立证书颁发机构 CA 签发的证书的有效期是一年。一年之后证书即过期,其使用将不再受信任。但在某些情况下,您可能必须要覆盖由中介或发证 CA 所签发的证书的默认终止日期。
注册表中定义的有效期限会影响所有由独立 CA 和企业 CA 签发的证书。对于企业 CA,默认注册表设置为两年。对于独立的 CA,默认注册表设置为一年。对于由独立 CA 签发的证书,其有效期限由本文稍后介绍的注册表项确定。该值适用于所有 CA 签发的证书。
对于企业 CA 签发的证书,其有效期限硬编码在用来创建证书的模板中。Windows 2000 和 Windows Server 2003 不支持对这些模板的修改。模板有效期限适用于所有由企业 CA 签发的证书。对于从属 CA 证书模板不存在例外。由 CA 签发的证书的有效期为下列时间段中的最短者: • 本文前面提到的注册表中定义的有效期。
• 模板定义的有效期。这只适用于企业 CA。
• CA 证书的终止日期。
注意:“请求属性”名由伴随此请求并指定有效期限的值字串符对构成。默认情况下,它只能通过针对独立 CA 的注册表设置启用。
更改 Windows Server 2003 或 Windows 2000 Server 证书颁发机构所签发证书的终止日期
要更改 CA 的有效期限设置,请按照下列步骤操作:
1. 单击“开始”,然后单击“运行”。
2. 在“打开”框中,键入 regedit,然后单击“确定”。
3. 找到并随后单击下面的注册表项:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\CertSvc\Configuration\<CAName>
4. 在右窗格中,双击“ValidityPeriod”。
5. 在“数值数据”框中,键入以下时间单位之一,然后单击“确定”: • Days
• Weeks
• Months
• Years
6. 在右窗格中,双击“ValidityPeriodUnits”。
7. 在“数值数据”框中,键入您希望的数值,然后单击“确定”。例如,键入 2。
8. 停止,然后重新启动“证书服务”服务。为此,请按下列步骤操作:
a. 单击“开始”,然后单击“运行”。
b. 在“打开”框中,键入 cmd,然后单击“确定”。
c. 在命令提示符处,键入下列命令行。在每一行之后按 Enter 键。
net stop certsvc
net start certsvc
d. 键入 exit 退出命令提示窗口。
Word文档下载:https://files.cnblogs.com/arping/如何使网站基于CA认证访问.rar
· 长文讲解 MCP 和案例实战
· Hangfire Redis 实现秒级定时任务,使用 CQRS 实现动态执行代码
· Android编译时动态插入代码原理与实践
· 解锁.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
· 通过一个DEMO理解MCP(模型上下文协议)的生命周期
· 工良出品 | 长文讲解 MCP 和案例实战
· 一天 Star 破万的开源项目「GitHub 热点速览」
· 多年后再做Web开发,AI帮大忙
· 记一次 .NET某旅行社酒店管理系统 卡死分析
· 别再堆文档了,大模型时代知识库应该这样建