欢迎来到天天文库
浏览记录
ID:33640642
大小:134.00 KB
页数:12页
时间:2019-02-27
《使用客户端证书调用服务》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、构建安全的ASP.NET应用程序身份验证、授权和安全通信有关构建安全的ASP.NET应用程序的起点和完整概述,请参见登陆页面。总结Web服务将客户端证书身份验证作为客户端应用程序身份验证的一种方式。本“如何做”介绍如何为客户端证书身份验证配置Web服务,以及如何调用Web服务以传递来自ASP.NETWeb应用程序的证书。如何做:使用来自ASP.NET的客户端证书来调用Web服务为了执行授权,Web服务经常需要能够对它们的调用方(其它应用程序)进行身份验证。客户端证书为Web服务提供了一种非常好的身份验证机制。如果您使用客户端证书,您的应用程序也会得益于客户端应用程
2、序和Web服务之间的安全通道创建(使用安全套接字层[SSL])。这样您就可以安全地在Web服务之间传送保密信息。SSL确保消息的完整性和机密性。本“如何做”介绍如何调用配置为要求客户端证书的Web服务。注意:本“如何做”中的信息还适用于ASP.NET和IIS托管的远程组件。为什么使用服务组件?本“如何做”中介绍的解决方案使用被配置为在企业服务服务器应用程序中运行的服务组件(使用自定义的服务帐户)。ASP.NETWeb应用程序调用该服务组件,而服务组件将调用Web服务(传递客户端证书)。图1中显示了这一解决方案配置。12{Insertfigure:HowTo-Cal
3、lingAWebServicewithCertificates.gif}图1ASP.NET调用服务组件以调用Web服务这种配置是为了确保系统在与Web服务通讯时能够访问用户配置文件。这是初始SSL握手所必需的。注意:用于运行Web应用程序的ASPNET帐户具有“拒绝交互登录”权限,它禁止用户使用此帐户进行交互登录。因此,该帐户没有用户配置文件。不要给ASPNET帐户(或任何用于运行Web应用程序的帐户)授予交互登录的权限。在配置运行Web应用程序的帐户时始终要遵循最少权限原则,并且给它们授予尽可能少的权限。有关的详细信息,请参见本指南“参考”部分中的“如何做:创建
4、自定义帐户以便运行ASP.NET”。为什么需要用户配置文件?在请求要求客户端证书的Web服务时,在客户端和服务器之间就会进行SSL握手。交换的一些组件有服务器证书、客户端证书以及客户端生成的“预备主要机密”。以后可在协议中使用此机密来生成“主要机密”。为使服务器确认证书提供者就是实际的私钥持有者,客户端必须使用私钥加密预备主要机密,并将加密的预备主要机密发送到服务器。为使系统能够访问客户端的私钥以签名预备主要机密,它必须访问客户端密钥存储中的私钥。密钥存储位于客户端的配置文件(必须加载)中。需求以下各项介绍了推荐的硬件、软件、网络基础结构、技巧和知识以及您需要的服
5、务包。●Microsoft®Windows®2000操作系统●MicrosoftVisualStudio®.NET开发系统●访问证书颁发机构(CA)以生成新的证书12●一个已安装了服务器证书的Web服务器有关安装Web服务器证书的详细信息,请参见“如何做:在Web服务器上设置SSL”。“如何做”中的过程还要求您具备MicrosoftVisualC#™开发工具的相关知识。总结“如何做”包括如下过程:1.创建一个简单的Web服务2.将Web服务虚拟目录配置为需要有客户端证书3.创建一个自定义帐户以运行服务组件4.为自定义帐户请求一个客户端证书5.使用浏览器测试客户端证
6、书6.将客户端证书导出到一个文件中7.开发用于调用该Web服务的服务组件8.配置和安装该服务组件9.开发一个Web应用程序以调用该服务组件注意:在本“如何做”主题中,将Web服务计算机(它托管Web服务)命名为“WSServer”;而将Web服务客户端计算机(它托管客户端ASP.NETWeb应用程序和服务组件)命名为“WSClient”。1.创建一个简单的Web服务u在Web服务主机上创建一个简单的Web服务1.启动VisualStudio.NET,创建一个新的名为SecureMath的C#ASP.NETWeb服务应用程序。2.将service1.asmx重命名为
7、math.asmx。3.打开math.asmx.cs,并将Service1类重命名为math。4.将下面的Web方法添加到math类。[WebMethod]publiclongAdd(longoperand1,longoperand2){return(operand1+operand2);}4.在“构建”菜单上,单击“构建解决方案”以创建Web服务。2.将Web服务虚拟目录配置为需要有客户端证书此过程使用Internet信息服务为SSL配置Web服务的虚拟目录并且要求使用证书。本过程假设您在Web服务器上安装了有效的证书。有关安装Web服务器证书的详细信息,请参见
8、本指南“参
此文档下载收益归作者所有