`
wyf
  • 浏览: 433094 次
  • 性别: Icon_minigender_1
  • 来自: 唐山
社区版块
存档分类
最新评论

设置客户端证书

阅读更多
 为了执行授权,Web 服务经常需要能够对它们的调用方(其它应用程序)进行身份验证。客户端证书为 Web 服务提供了一种非常好的身份验证机制。如果您使用客户端证书,您的应用程序也会得益于客户端应用程序和 Web 服务之间的安全通道创建(使用安全套接字层 [SSL])。这样您就可以安全地在 Web 服务之间传送保密信息。SSL 确保消息的完整性和机密性。   本“如何做”包括调用配置为需要客户端证书的 Web 服务的分步指导。      注意:本“如何做”中的信息也适用于由 IIS 承载的远程组件。      要求   以下各项介绍了推荐的硬件、软件、网络基础结构、技巧和知识以及您需要的服务包。   ● 带 Service Pack 2 的 Microsoft? Windows? 2000 Server 操作系统   ● Microsoft Visual Studio? .NET 开发系统   ● 访问证书颁发机构 (CA) 以生成新的证书   ● 一个已安装了服务器证书的 Web 服务器   有关安装 Web 服务器证书的更多信息,请参见本指南“参考”部分的“如何做:在 Web 服务器上设置 SSL”。      本“如何做”中的过程还要求您具有使用 Microsoft Visual C#? 开发工具进行 ASP.NET Web 开发的知识。   总结   本“如何做”包括如下过程:   1. 创建简单的 Web 应用程序   2. 将 Web 应用程序配置为需要客户端证书   3. 需要并安装客户端证书   4. 验证客户端证书操作      1. 创建简单的 Web 应用程序   u 创建简单的 Web 应用程序   1. 启动 Visual Studio .NET,创建一个名为 SecureApp 的新 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. 在“构建”菜单中,单击“构建解决方案”    6. 启动 Internet Explorer 并导航至 http://localhost/SecureApp/WebForm1.aspx。   页面应该显示“欢迎”消息(不显示用户名,因为用户尚未经过身份验证)和“没有客户端证书”。   7. 关闭 Internet Explorer。      2. 将 Web 应用程序配置为需要客户端证书   此过程使用 Internet 信息服务 (IIS) 将 Web 应用程序的虚拟目录配置为需要证书。   此过程假设您在 Web 服务器上安装了有效的证书。有关安装 Web 服务器证书的详细信息,请参见“如何做:在 Web 服务器上设置 SSL”。   u 将 Web 应用程序的虚拟目录配置为需要证书   1. 在 Web 服务主机上启动 IIS。   2. 导航到 SecureApp 虚拟目录。   3. 右击 SecureApp,然后单击“属性”。   4. 单击“目录安全性”选项卡。   5. 单击“安全通信”下的“编辑”。   如果无法使用“编辑”,则可能没有安装 Web 服务器证书。   6. 选择“要求安全通道 (SSL)”复选框。   7. 选择“要求客户端证书”选项。   8. 单击“确定”,然后再单击“确定”。   9. 在“继承覆盖”对话框中,单击“全选”,然后单击“确定”关闭“SecureApp 属性”对话框。   这会将新的安全设置应用于虚拟根目录下的所有子目录。   10. 要确认 Web 站点已正确配置,启动 Internet Explorer 并(使用 HTTPS)浏览到 https://localhost/secureapp/webform1.aspx。   11. Internet Explorer 显示“客户身份验证”对话框,要求您选择一个客户端证书。因为您尚未安装客户端证书,所以单击“确定”,确认显示通知您页面需要客户端证书的错误页面。   12. 关闭 Internet Explorer。      3. 需要并安装客户端证书   此过程安装客户端证书。您可以使用来自任何证书颁发机构的证书,也可以使用如后面几节所述的 Microsoft 证书服务来生成自己的证书。   此过程假设 Microsoft 证书服务是为待定申请配置的,这要求管理员专门颁发证书。它也可以配置为应证书申请自动颁发证书。   u 检查证书申请状态设置   1. 在 Microsoft 证书服务计算机上,从“管理工具”程序组中选择“证书颁发机构”。   2. 展开“证书颁发机构(本地)”,右击证书颁发机构并单击“属性”。   3. 单击“策略模块”选项卡,然后单击“配置”。   4. 检查默认操作。   以下过程假设“将证书申请状态设成待定”。选择“管理员必须专门颁发证书”。      u 申请客户端证书   1. 启动 Internet Explorer 并导航至 http://hostname/certsrv,其中 hostname 是安装 Microsoft 证书服务的计算机的名称。   2. 单击“申请证书”,然后单击“下一步”。   3. 在“选择申请类型”页上,单击“用户证书”,然后单击“下一步”。   4. 单击“提交”完成申请。   5. 关闭 Internet Explorer。      u 颁发客户端证书   1. 从“管理工具”程序组中启动“证书颁发机构”工具。   2. 展开您的证书颁发机构,然后选择“待定申请”文件夹。   3. 选择刚提交的证书申请,指向“操作”菜单上的“所有任务”,然后单击“颁发”。   4. 确认证书显示在“颁发证书”文件夹中,然后双击它进行查看。   5. 在“详细信息”选项卡上,单击“复制到文件”将证书保存为 Base-64 编码的 X.509 证书。   6. 关闭证书的属性窗口。   7. 关闭证书颁发机构工具。      u 安装客户端证书   1. 要查看证书,启动 Windows 资源管理器,导航至在前一过程中保存的 .cer 文件,然后双击它。   2. 单击“安装证书”,然后在“证书导入向导”的首页单击“下一步”。   3. 选择“根据证书类型,自动选择证书存储区”,然后单击“下一步”。   4. 单击“完成”完成向导。关闭确认消息框,然后单击“确定”关闭证书。      4. 验证客户端证书操作   此过程验证您是否可以使用客户端证书访问 SecureApp 应用程序。   u 验证客户端证书操作   1. 启动 Internet Explorer 并导航至 https://localhost/secureapp/webform1.aspx。   2. 确认 Web 页成功显示。   
分享到:
评论

相关推荐

    httpclient访问需要客户端认证数字证书的https接口的处理方法

    默认的`SSLProtocolSocketFactory`并不支持客户端证书,所以我们需要创建一个扩展,覆盖其`createSocket()`方法,以便在建立连接时设置客户端证书。在这个自定义实现中,你需要加载之前安装的客户端证书和私钥,然后...

    自签署根证书、服务器证书、客户端证书

    本文将深入探讨“自签署根证书”、“服务器证书”以及“客户端证书”的概念、用途和操作流程。 首先,我们来看“自签署根证书”。根证书是信任链的基础,它由证书颁发机构(CA)签发,用来验证其他证书的真实性。自...

    使用 OpenSSL 创建生成CA 证书服务器客户端证书及密钥

    本文将详细介绍如何使用 OpenSSL 创建和管理CA证书、服务器证书和客户端证书,以实现SSL单向认证和双向认证。 首先,我们来看一下如何生成 CA(证书颁发机构)证书。CA证书是信任的根,用于签署其他证书,确保网络...

    证书服务配置客户端证书申请IIS站点SSL设置.docx

    "证书服务配置客户端证书申请IIS站点SSL设置" 本文将详细介绍证书服务配置客户端证书申请IIS站点SSL设置的过程,包括证书服务器的安装、客户端证书的申请、颁发和下载安装、服务器证书的申请、颁发和设置等步骤。 ...

    CA服务器和WEB服务器分离-实现SSL(2 )

    在设置客户端证书映射的过程中,第一步是在WEB服务器(win2003系统_2)上导入客户端证书。这需要将ClientCert2003.cer证书从CA服务器(win2003系统_1)导出,然后在WEB服务器的“当前用户”存储区的“个人”目录下...

    tomcat实现SSL双向认证

    在浏览器中,可以设置客户端证书的信任级别,以便在访问网站时可以自动选择合适的证书。 五、keystore 和 truststore 的区别 在 Java 中,keystore 和 truststore 是两个不同的概念。keystore 用于存储应用程序的...

    证书服务配置客户端证书申请IIS站点SSL设置.doc

    证书服务配置客户端证书申请IIS站点SSL设置.doc

    IOS,Android SSL双向认证HTTPS方式请求及配置证书

    在请求时,需要设置客户端证书和私钥,iOS通过NSURLSessionConfiguration的`sslCertificate`属性,Android则在OkHttpClient.Builder中设置。 在实际应用中,还需考虑证书更新、错误处理和用户体验。例如,当证书...

    OpenSSL创建生成CA证书、服务器、客户端证书及密钥

    本文将详细介绍如何使用OpenSSL来创建生成CA(Certificate Authority)证书、服务器证书和客户端证书以及它们对应的密钥。 首先,我们需要理解证书的基本概念。在SSL/TLS协议中,证书用于验证通信双方的身份,通常...

    客户端与服务器SSL双向认证(客户端:java-服务端:java)

    - 配置KeyStore:将客户端证书和私钥放入KeyStore,设置相应的密码。 - 配置SSLContext:如同服务器端,使用KeyManagerFactory和TrustManagerFactory加载KeyStore和Truststore,创建SSLContext。 - 配置SSLSocket...

    C语言https客户端双向认证

    // 加载客户端证书和私钥 const char *cert_file = "client.crt"; const char *key_file = "client.key"; if (SSL_CTX_use_certificate_file(ctx, cert_file, SSL_FILETYPE_PEM) || SSL_CTX_use_PrivateKey_...

    组策略给客户端安装证书

    当客户端机器重启后,系统会自动检查并执行组策略中的设置,从而安装指定的证书。如果一切顺利,客户端计算机应该能够显示证书已成功安装,这意味着它现在信任由该导入的根证书颁发的任何证书。 这个过程对于企业...

    用客户端数字证书认证方式让 Lotus Traveler for iPhone 获取更高级别安全性

    安装完成后,需要在 Lotus Traveler 设置中启用客户端证书认证。进入 Lotus Traveler 应用,找到安全或身份验证设置,选择“使用客户端证书”。保存更改后,Lotus Traveler 将使用新安装的证书进行身份验证。 通过...

    双向HTTPS解决方案.docx

    在实际应用中,例如使用curl工具进行HTTPS调用时,双向认证需要设置客户端证书路径,以确保服务器能验证客户端的身份。这增加了通信的安全性,但同时也增加了配置的复杂性,因为不仅服务器需要正确配置证书,客户端...

    税务证书应用客户端V1.4.zip

    税务证书应用客户端V1.4.zip是一个包含了税务证书应用客户端最新版本V1.4的压缩文件,主要用于税务相关的数字化操作,如账务会计和报税等业务。这个客户端软件是企业和个人进行线上税务活动的重要工具,它确保了数据...

    行业文档-设计装置-安卓系统用openssl引擎加载客户端证书的方法.zip

    总结来说,安卓系统中使用OpenSSL引擎加载客户端证书涉及了对OpenSSL库的集成、引擎注册、证书和私钥的加载、SSL/TLS上下文的设置以及错误处理等多个步骤。这个过程需要对加密原理、Android开发和OpenSSL API有深入...

    BEA WebLogic Server 9.2 服务器证书安装使用指南.pdf

    在WebLogic Server中设置客户端证书的要求。 #### 五、使系统信任SHECA根证书 为了让客户端能够信任WebLogic Server所持有的证书,还需要让客户端信任SHECA根证书。 - **步骤**: 1. 下载SHECA根证书。 2. 将...

    WinHttp.WinHttpRequest.5.1中文参考手册

    * SetClientCertificate:选择一个客户端证书发送到一个安全的超文本传输协议(HTTPS)服务器,可以设置客户端证书。 * SetCredentials:设置证书用来与 HTTP 服务器或代理服务器的起点,可以设置证书信息。 * Set...

    构建安全的ASP.NET

    Asp.net中基于Forms验证的角色验证授权.doc ...如何做:使用 IPSec 保护两个服务器之间的通信.doc 如何做:使用 SSL 来确保与 SQL Server 2000 安全通信.doc ...如何做:设置客户端证书.doc 微软.Net程序设计FAQ.doc

Global site tag (gtag.js) - Google Analytics