六月婷婷综合激情-六月婷婷综合-六月婷婷在线观看-六月婷婷在线-亚洲黄色在线网站-亚洲黄色在线观看网站

明輝手游網(wǎng)中心:是一個免費提供流行視頻軟件教程、在線學習分享的學習平臺!

使用WSE 加密SOAP報文(6

[摘要]加密對外發(fā)送的報文我已經(jīng)修改了前面的GetXmlDocument方法,讓它可以使用由WSE實現(xiàn)的基于X.509非對稱加密技術(shù)。加密回應(yīng)報文,F(xiàn)indCertificateBySubjectString方法可以用來接收客戶端證書的公開備份,一個來自本地機器賬號的個人儲存室給的客戶端證書。這個證書然后...
加密對外發(fā)送的報文

我已經(jīng)修改了前面的GetXmlDocument方法,讓它可以使用由WSE實現(xiàn)的基于X.509非對稱加密技術(shù)。加密回應(yīng)報文,F(xiàn)indCertificateBySubjectString方法可以用來接收客戶端證書的公開備份,一個來自本地機器賬號的個人儲存室給的客戶端證書。這個證書然后被用來創(chuàng)建一個新的 X.509安全Token,這個Token將被加入到響應(yīng)報文的SoapContext的安全Token集合里。另外,在對稱加密例子中引用的命名空間,你應(yīng)該再加一個using指示附來引用一個Microsoft.WebServices.Security.X509命名空間。GetXmlDocument方法代碼如下:

//創(chuàng)建一個用于返回的簡單XML文檔

XmlDocument myDoc = new XmlDocument();

myDoc.InnerXml =

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

"<EncryptedResponse>這里是敏感數(shù)據(jù).</EncryptedResponse>";



//得到響應(yīng)報文的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

{

//使用有效的證書來創(chuàng)建一個安全Token

X509SecurityToken myToken = new X509SecurityToken(myCert);

//WSE將使用這個標記來加密報文正文的

//WSE產(chǎn)生一個KeyInfo元素,用來請求客戶端上曾用于給報文解密的證書



EncryptedData myEncData = new EncryptedData(myToken);

//將已加密數(shù)據(jù)元素添加到響應(yīng)報文的SoapContext上

myContext.Security.Elements.Add(myEncData);



return myDoc;

}

基于前面的方法,WSE管道產(chǎn)生了下面的有相應(yīng)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;…</xenc:CipherValue>

</xenc:CipherData>

<xenc:ReferenceList>

<xenc:DataReference URI=

"#EncryptedContent-608eef8b-4104-4469-95b6-7cb4703cfa03" />

</xenc:ReferenceList>

</xenc:EncryptedKey>

</wsse:Security>

</soap:Header>

<soap:Body xmlns:wsu="http://schemas.xmlsoap.org/ws/2002/07/utility"

wsu:Id="Id-70179c5b-4975-4932-9ecd-a58feb34b0d3">

<xenc:EncryptedData

Id="EncryptedContent-608eef8b-4104-4469-95b6-7cb4703cfa03"

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

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

<xenc:EncryptionMethod

Algorithm="http://www.w3.org/2001/04/xmlenc#tripledes-cbc" />

<xenc:CipherData>

<xenc:CipherValue>

4o1b4befwBJu6tzuaygfrAaX0UGtaYKcw2klIbuZPjLi...z8i2ypHN4+w==

</xenc:CipherValue>

</xenc:CipherData>

</xenc:EncryptedData>

</soap:Body>

</soap:Envelope>

注意在這個已加密的報文里面,由非對稱加密過的EncryptedKey元素包含了用于給報文正文加密的對稱加密密鑰。ReferenceList元素引用了報文正文的EncryptedData元素的Id屬性。雖然我在我的例子中沒這樣做,標記這個消息以便能讓容器驗證發(fā)送者其實是個不錯的想法。關(guān)于使用WSE來標記報文的詳細信息,看WS-Security Authentication and Digital Signatures with Web Services Enhancements



主站蜘蛛池模板: 日韩视频免费在线观看 | 日韩网站在线观看 | 天堂婷婷 | 日韩激情成人 | 欧美丝袜一区二区 | 中文字幕福利视频 | 最近最新免费中文字幕一 | 伊人婷婷色香五月综合缴激情 | 色综合久久综合网观看 | 欧美在线一二三区 | 亚洲免费mv | 亚洲韩国日本欧美一区二区三区 | 日韩毛片基地 | 青青草国产精品视频 | 亚洲综合狠狠 | 一二三四影视在线观看免费视频 | 日韩三级视频在线 | 亚洲欧美日韩高清一区二区一 | 欧美一区二区aa大片 | 日韩色网站 | 午夜老司机福利 | 日韩精品一区二区在线观看 | 在线bt天堂网www在线下载 | 日日插天天干 | 婷婷在线成人免费观看搜索 | 午夜爱| 五月婷婷操 | 日韩精品视频在线播放 | 欧美在线资源 | 欧美在线区 | 欧美一级视频在线观看欧美 | 欧美自拍视频在线 | 日本日本在线观看视频 | 亚洲一区二区成人 | 三级黄色在线视频 | 中国日韩欧美中文日韩欧美色 | 天天谢天天干 | 午夜日韩视频 | 午夜涩涩 | 日本中文字幕在线看 | 亚洲一区2区三区4区5区 |