如何建立客户端证书

转载 2007年09月25日 09:29:00

Microsoft Corporation

目标

本模块用于:

获取并安装客户端证书。

创建一个需要客户端证书的 ASP.NET Web 应用程序。

适用于

本模块适用于下列产品和技术:

Microsoft® Windows® XP 或 Windows 2000 Server(带 Service Pack 3)以及更高版本的操作系统。

Microsoft Internet 信息服务 (IIS) 5.0

Microsoft 证书服务(如果您需要生成自己的证书的话)

Microsoft .NET Framework 版本 1.0(带 Service Pack 2)以及更高版本

Microsoft Visual C#® .NET 开发工具

本模块的使用方法

要最大程度地利用本模块:

必须有使用 Visual C# .NET 和 Microsoft Visual Studio® .NET 开发系统的经验。

必须有使用 ASP.NET 开发 Web 应用程序的经验。

必须有配置 IIS 的经验。

必须能访问某个证书颁发机构 (CA),如 Microsoft 证书服务(如果要生成新的客户端证书)。

如果您不想生成自己的证书,则必须决定要从哪个商业 CA 来申请客户端证书。某些 CA 将对此服务收费。

必须有一个安装了 SSL 证书的 Web 服务器。有关详细信息,请阅读“如何在 Web 服务器上建立 SSL”。

有关客户端证书与其他形式的身份验证的比较,请阅读模块“Security Model for ASP.NET Applications”。

*
本页内容
摘要 摘要
创建一个简单的 Web 应用程序 创建一个简单的 Web 应用程序
将 Web 应用程序配置为需要客户端证书 将 Web 应用程序配置为需要客户端证书
申请并安装客户端证书 申请并安装客户端证书
验证客户端证书操作 验证客户端证书操作
其他资源 其他资源

摘要

客户端证书为 Web 应用程序提供了一种出色的身份验证机制。浏览器或其他客户端应用程序必须提供有效的证书才能被授予对应用程序的访问权,从而使客户端无需再提供用户名和密码。这就使得在创建由其他客户端应用程序访问的安全的 Web 服务时,客户端证书非常有用。

本模块描述如何获取和安装客户端证书,并说明如何创建需要客户端证书的 Web 应用程序。

返回页首返回页首

创建一个简单的 Web 应用程序

在此过程中,您将创建一个简单的用于测试目的的 Web 应用程序。

要创建一个简单的 Web 应用程序,请执行下列操作:

1.

启动 Visual Studio .NET 并创建一个新的名为 SecureApp 的 Visual C# ASP.NET Web 应用程序。

2.

将标签控件从工具箱拖到 WebForm1.aspx Web 窗体,然后将其 ID 属性设置为 message

3.

再将一个标签拖到 WebForm1.aspx,并将其 ID 属性设置为 certData

4.

将下列代码添加到 Page_Load 事件过程中。

string username;
username = User.Identity.Name;
message.Text = "Welcome " + username;
HttpClientCertificate cert = Request.ClientCertificate;
if (cert.IsPresent)
{
  certData.Text = "Client certificate retrieved";
}
else
{
  certData.Text = "No client certificate";
}
  

5.

Build 菜单上,单击 BuildSolution

6.

启动 Internet Explorer 并导航到 http://localhost/SecureApp/WebForm1.aspx。

应显示带有消息“Welcome”(不显示用户名,因为用户尚未进行身份验证)和“No client certificate”的页。

7.

关闭 Internet Explorer。

返回页首返回页首

将 Web 应用程序配置为需要客户端证书

此过程使用 Internet 信息服务 (IIS) 将 Web 应用程序的虚拟目录配置为需要证书。

此过程假定您在 Web 服务器上安装了有效的证书。有关安装 Web 服务器证书的详细信息,请参阅“如何在 Web 服务器上建立 SSL”。

要将 Web 应用程序的虚拟目录配置为需要证书,请执行下列操作:

1.

在 Web 服务主机上,启动 IIS。

2.

导航到 SecureApp 虚拟目录。

3.

右击 SecureApp,然后单击 Properties

4.

单击 Directory Security 选项卡。

5.

Secure communications 下,单击 Edit

如果 Edit 不可用,最可能的原因是未安装 Web 服务器证书。

6.

选择 Require secure channel (SSL) 复选框。

7.

选择 Require client certificates 选项。

8.

单击 OK,然后再次单击 OK

9.

Inheritance Overrides 对话框中,单击 Select All,然后单击 OK 关闭 SecureApp 属性对话框。

此操作将新安全性设置应用到虚拟目录根下的所有子目录。

10.

要确认已正确配置了 Web 站点,请启动 Internet Explorer 并浏览(使用 HTTPS)到 https://localhost/SecureApp/webform1.aspx。

11.

Internet Explorer 显示出一个 Client Authentication 对话框,要求您选择一个客户端证书。由于您尚未安装客户端证书,因此请单击 OK,并确认显示出一个通知您此页需要客户端证书的错误页。

12.

关闭 Internet Explorer。

返回页首返回页首

申请并安装客户端证书

此过程将安装客户端证书。您可以使用任何证书颁发机构的证书,也可以使用 Microsoft 证书服务生成自己的证书,如以下几部分所述。

此过程假定 Microsoft 证书服务已针对挂起申请进行了配置,它需要管理员显式颁发证书。它还可以配置为自动颁发证书来响应证书申请。

要检查证书申请状态设置,请执行下列操作:

1.

在 Microsoft 证书服务计算机上,从 AdministrativeTools 程序组中选择 CertificationAuthority

2.

展开 CertificationAuthority (Local),右击证书颁发机构并单击 Properties

3.

单击 PolicyModule 选项卡,然后单击 Configure

4.

检查默认操作。

下面的过程假定已选中 Set the certificate request status to pending. Administrator must explicitly issue the certificate

要申请客户端证书,请执行下列操作:

1.

启动 Internet Explorer 并导航到 http:// hostname/certsrv,其中 hostname 是安装 Microsoft 证书服务的计算机的名称。

2.

单击 Request a certificate,然后单击 Next

3.

Choose Request Type 页上,单击 User Certificate,然后单击 Next

4.

单击 Submit 来完成申请。

5.

关闭 Internet Explorer。

要颁发客户端证书,请执行下列操作:

1.

Administrative Tools 程序组中,启动 CertificationAuthority 工具。

2.

展开证书颁发机构,然后选择 PendingRequests 文件夹。

3.

选择刚提交的证书申请,指向 Action 菜单上的 All Tasks,然后单击 Issue

4.

确认证书在 IssuedCertificates 文件夹中显示出来,然后双击它以查看其内容。

5.

Details 选项卡上,单击 Copy to File 将此证书保存为 Base-64 编码的 X.509 证书。

6.

关闭此证书的属性窗口。

7.

关闭“证书颁发机构”工具。

要安装客户端证书,请执行下列操作:

1.

要查看证书,请启动 Windows Explorer,导航到上一过程中保存的 .cer 文件,然后双击此文件。

2.

单击 InstallCertificate,然后单击 CertificateImportWizard 的第一页上的 Next

3.

选择 Automatically select the certificate store based on the type of certificate,然后单击 Next

4.

单击 Finish 完成此向导。取消确认消息框,然后单击 OK 关闭证书。

返回页首返回页首

验证客户端证书操作

本过程验证您是否可以使用客户端证书来访问 SecureApp 应用程序。

要验证客户端证书操作,请执行下列操作:

启动 Internet Explorer 并导航到 https://localhost/SecureApp/webform1.aspx。

确认 Web 页是否成功显示出来。

 

相关文章推荐

openssl下生成建立CA并生成服务器和客户端证书方法

双向认证:   客户端向服务器发送消息,首先把消息用客户端证书加密然后连同时把客户端证书一起发送到服务器端,服务器接到消息后用首先用客户端证书把消息解密,然后用服务器私钥把消息加密,把服务器证...

证书对客户端进行验证

  • 2013-04-07 12:39
  • 3.34MB
  • 下载

WPF 浏览器程序 证书制作与客户端自动下载安装

以下是总结的WPF Browser Application证书制作、发布与自动下载安装完整流程: 一、证书制作 在建立WPFBrowser Application项目的时候系统会自动给程序创建一个证书...

weblogic客户端ssl证书

  • 2015-02-10 13:26
  • 497KB
  • 下载

客户端认证自签名HTTPS证书

在最近的项目中,与某服务器连接的请求采用的是https协议,但是该服务器的证书又不是经过权威机构认证的证书,因此采用普通的方式直接连接是不行。本文给出解决方案。   HTTPS是HTTP之下、TCP...

OPENSSL、KEYTOOL生成服务器与客户端证二级证书签名

一.证书结构说明:   1.我们需要生成的证书根证书:需要三个证书 根证书, 服务器二级证书 ,客户端二级证书.  关系如下:  CA--       (ca.crt,ca_keystore)...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)