
说明
HTTP 和 SOAP 都是基于文本的的协议。这使得未给授权的实体可以很容易地在网络服务消费者和网络服务之间的交换信息。
SSL 所带来的问题是任何通信都经常要被加密。使用 SOAP 扩展在以下情况下是可行的选项:
只加密一部分的请求或响应。
只加密请求或响应的某些部分。
使用没有结点关联的解决方案。
控制所用的加密机制。
在使用 SOAP 扩展进行加密之前,必须先要熟悉一些帮助实现此扩展的.NET 框架类。
DESCryptoServiceProvider 类
DESCryptoServiceProvider 类提供了对数据加密标准(DES)的加密服务提供者(CSP)版本的访问。使用此加密服务提供者,你可以在得到一个钥匙和初始化向量(IV)后创建加密器。
encryptor = des.CreateEncryptor(key,IV)
你也可以使用 DESCryptoServiceProvider 创建加密器。
decryptor = des.CreateDecryptor(key,IV)
CryptoStream 类
CryptoStream 是将数据流链接到加密转换的流。通过对流进行简单读或写可以对数据进行加密或解密。可以在拥有 encryptor 和 decryptor 对象之后创建一个 CryptoStream 对象。
下列代码演示使用方法:
ICryptoTransform encryptor;
ICryptoTransform decryptor;
encryptor = des.CreateEncrptor(key,IV);
decryptor = des.CreateEncrptor(key,IV);
CryptoStream cs;
cs = new CryptoStream(ms,encryptor,CryptoStreamMode.Write);
………………
cs = new CryptoStream(ms,decryptor,CryptoStreamMode.Read);
使用 SOAP 扩展加密
.NET 框架使得控制 SOAP 消息序列化和反序列化的内部过程成为可能。可以通过下列方法实现控制:
从 SoapExtension 类派生新类。后者能从 System.Web.Services.Protocols 命名空间中找到。引用自定义 SOAP 扩展类的自定义属性。
为使用 SOAP 扩展加密和解密消息,必须将引用 SOAP 扩展的自定义属性应用于适当的网络服务方法。
本站原创文章,如有转载请带链接注明出自 网络自由人
| #1 | 评论标题:arrow pharmacy nyc | 评论时间:2011-11-30 21:45:51 |
| garden city pharmacy welwyn http://exclusiverx.com/products/herbolax.htm exceriurn 4741883 oncology pharmacy practice | ||
| #2 | 评论标题:id board of pharmacy | 评论时间:2012-1-29 23:01:21 |
| online pharmacy cipro http://sundrugstore.net/products/rogaine-2-.htm hagerman valley pharmacy | ||