ICANN认证国际域名顶级注册机构
网站建设,域名注册,空间租用,软件销售,广告设计 域名注册,空间租用, 网站建设,东莞网页设计,域名注册,网站推广,网站开发,网页设计 网站推广,,百度推广,新浪推广,雅虎推广,网易推广 标志设计,画册设计,包装设计,VI策划,企业形象顾问 连邦软件加盟店,提供销遥行,管家婆,速达,用友ERP,诺顿等软件报价及销售 建站必读 腾达网络,上网帮助中心, 腾达为东莞等地,提供网站建设,网站推广,广告设计,软件销售等优质服务!
建站必读


 
 
当前位置:首页 -> 建站必读 -> .NET技术
利用WSE 加密SOAP报文(6
加密对外发送的报文



我已经修改了前面的GetXmlDocument方法,让它可以使用由WSE实现的基于X.509非对称加密技术。加密回应报文,FindCertificateBySubjectString方法可以用来接收客户端证书的公开备份,一个来自本地机器账号的个人储存室给的客户端证书。这个证书然后被用来创建一个新的 X.509安全Token,这个Token将被加入到响应报文的SoapContext的安全Token集合里。另外,在对称加密例子中引用的命名空间,你应该再加一个using指示附来引用一个Microsoft.WebServices.Security.X509命名空间。GetXmlDocument方法代码如下:



//创建一个用于返回的简单XML文档



XmlDocument myDoc = new XmlDocument();



myDoc.InnerXml =



"<EncryptedResponse>This is sensitive data.</EncryptedResponse>";



"<EncryptedResponse>这里是敏感数据.</EncryptedResponse>";







//得到响应报文的SoapContext



SoapContext myContext = HttpSoapContext.ResponseContext;







//打开并读取本地机器帐号的个人证书储存室



X509CertificateStore myStore =



X509CertificateStore.LocalMachineStore(



X509CertificateStore.MyStore);



myStore.OpenRead();







//查找所有名为”我的证书”的证书,然后将所有匹配的证书添加到证书集合中



X509CertificateCollection myCerts =



myStore.FindCertificateBySubjectString("My Certificate");



X509Certificate myCert = null;







//查找在集合中中的第一个证书



if (myCerts.Count > 0)



{



myCert = myCerts[0];



}







//确定我们有一个可以用于加密的证书



if (myCert == null || !myCert.SupportsDataEncryption)



{



throw new ApplicationException("Service is not able to



encrypt the response");







return null;



}



else



{



//使用有效的证书来创建一个安全Token



X509SecurityToken myToken = new X509SecurityToken(myCert);



//WSE将使用这个标记来加密报文正文的



//WSE产生一个KeyInfo元素,用来请求客户端上曾用于给报文解密的证书







EncryptedData myEncData = new EncryptedData(myToken);



//将已加密数据元素添加到响应报文的SoapContext上



myContext.Security.Elements.Add(myEncData);







return myDoc;



}



基于前面的方法,WSE管道产生了下面的有相应Security头、密文和密钥信息的元素:



<?xml version="1.0" encoding="utf-8"?>



<soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"



xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"



xmlns:xsd="http://www.w3.org/2001/XMLSchema">



<soap:Header>



<wsu:Timestamp



xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility">



<wsu:Created>2003-02-11T01:34:01Z</wsu:Created>



<wsu:Expires>2003-02-11T01:39:01Z</wsu:Expires>



</wsu:Timestamp>



<wsse:Security soap:mustUnderstand="1"



xmlns:wsse="http://schemas.xmlsoap.org/ws/2002/07/secext">



<xenc:EncryptedKey



Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey"



xmlns:xenc="http://www.w3.org/2001/04/xmlenc#">



<xenc:EncryptionMethod



Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />



<KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">



<wsse:SecurityTokenReference>



<wsse:KeyIdentifier ValueType="wsse:X509v3">



YmlKVwXYD8vuGuYliuIYdEAQQPw=



</wsse:KeyIdentifier>



</wsse:SecurityTokenReference>



</KeyInfo>



<xenc:CipherData>



<xenc:CipherValue>UJ64Addf3Fd59XsaQ=&Atilde;&#8218;&Acirc;…</x
 
 
本站关键词:
|网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作||网页设计公司|东莞软件销售|东莞.com域名注册|东莞.cn域名注册|东莞雅虎推广|东莞网站建设|东莞网页设计|东莞网络公司|网站建设|网页设计|网络公司|网站制作|
域名注册 | 虚拟主机 | 网站建设 | 网站推广 | 广告设计 | 帮助中心 | 软件中心 | 关于腾达
东莞市腾达信息工程有限公司      本站网络实名: 东莞网站建设
地址:东莞市新城市中心区第一国际B座610   邮编:523007
电话:0769-22026071 22026072 传真:0769-22026076 24小时服务热线:13712032014
© 2002~2005 腾达网络   版权所有