Лістинг 8

<?xml version=”1.0”?>
<SOAP-ENV:Envelope
xmlns:SOAP-ENV=”http://schemas.xmlsoap.org/soap/envelope/”>
<SOAP-ENV:Body>
<s:GetSpecialDiscountedBookingForPartners
xmlns:s=“http://www.MyHotel.com/partnerservice/”
ID="GetSpecialDiscountedBookingForPartners">
<xenc:EncryptedData
xmlns:xenc="http://www.w3.org/2001/04/xmlenc#"
Type="http://www.w3.org/2001/04/xmlenc#Content">
<xenc:EncryptionMethod
Algorithm="http://www.w3.org/2001/04/xmlenc#aes128-cbc"/>
<ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:KeyName>MyKeyIdentifier</ds:KeyName>
</ds:KeyInfo>
<xenc:CipherData>
<xenc:CipherValue>B457V645B45........</xenc:CipherValue>
</xenc:CipherData>
</xenc:EncryptedData>
</s:GetSpecialDiscountedBookingForPartners>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>

Обробка шифрування XML

Розглянемо, як брандмауер XML працює з поняттями шифрування. Брандмауер отримує Лістинг 7 або 8 (SOAP-повідомлення із зашифрованими елементами або змістом) і, перш ніж переслати SOAP-серверу розшифрований запит SOAP-повідомлення, перетворить їх зміст в дешифровану форму.

Одержувач зашифрованого XML-файла (наприклад, в даному випадку брандмауер XML готелю) розшифровує цей XML-файл, виконуючи наступну послідовність дій:

1. Витягує зашифрований зміст елементу CypherValue;

2. Прочитує значення атрибуту алгоритму елементу EncryptionMethod;

3. Прочитує значення атрибуту Type елементу EncryptedData;

4. Отримує інформацію про ключ з елементу ds:KeyInfo;

5. Використовує отриману інформацію для створення простого текстового (розшифрованого) файлу.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: