欢迎光临
我们一直在努力

利用WSE 加密SOAP报文(8)-.NET教程,Web Service开发

建站超值云服务器,限时71元/月

下面是被wse在运行时序列化后产生的报文加密后的结果

<?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-11t20:21:52z</wsu:created>

<wsu:expires>2003-02-11t20:26:52z</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">

ymlkvwxyd8vuguyliuioxoy7zyn9pwhbfahciyov0aydeaqqpw=

</wsse:keyidentifier>

</wsse:securitytokenreference>

</keyinfo>

<xenc:cipherdata>

<xenc:ciphervalue>

uykgbexdy8lyszqgdgxoxoy7zyn9pwhbfahciyov0…bwrnwk=

</xenc:ciphervalue>

</xenc:cipherdata>

<xenc:referencelist>

<xenc:datareference uri=

"#encryptedcontent-cf014249-0e2a-4f8b-9002-13a7de916be0" />

</xenc:referencelist>

</xenc:encryptedkey>

<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>

in8kf1cidijjjxclz+… wmqbeevxmzk=

</xenc:ciphervalue>

</xenc:cipherdata>

<xenc:referencelist>

<xenc:datareference uri=

"#encryptedcontent-0744279a-02bf-4ad1-998e-622208eded0e" />

</xenc:referencelist>

</xenc:encryptedkey>

</wsse:security>

</soap:header>

<soap:body>

<getxmldocumentresponse xmlns="http://example.com/dime/">

<getxmldocumentresult>

<response>

<notencrypted>

this part of the response does not need encryption

</notencrypted>

<encryptedresponse

wsu:id="id:e5e8d792-abe7-4476-91d0-856fbdf4a958"

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

<xenc:encrypteddata

id=

"encryptedcontent-cf014249-0e2a-4f8b-9002-13a7de916be0"

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>

2mnhckgvh/5jb0pf4pch3u2vaukswsa…afevjzt=

</xenc:ciphervalue>

</xenc:cipherdata>

</xenc:encrypteddata>

</encryptedresponse>

</response>

</getxmldocumentresult>

</getxmldocumentresponse>

</soap:body>

</soap:envelope>

注意,在这个加密后的报文里,这里有一个用于表示x.509证书的binarysecuritytoken元素,但有两个分开的encryptedkey元素,每个encrypteddata元素都被添加到soapcontext,在最外面的被加密的元素中(encryptedresponse),你只能看到encrypteddata元素,当encryptedresponse被加密后,表示encryptedsub元素的encrypteddata元素也随之转换为密文了。当这个报文在客户端被收到时,securityinputfilter使用来自记号的信息来得到曾给两个encryptedkey元素解密过的私有密钥。

赞(0)
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com 特别注意:本站所有转载文章言论不代表本站观点! 本站所提供的图片等素材,版权归原作者所有,如需使用,请与原作者联系。未经允许不得转载:IDC资讯中心 » 利用WSE 加密SOAP报文(8)-.NET教程,Web Service开发
分享到: 更多 (0)