XML Encryption

XML Encryption — спецификация, определяемая W3C как рекомендация, которая определяет как зашифровывается содержимое элемента XML.

Несмотря на то, что XML Encryption может быть использована для шифрования любых данных, однако она известна как «XML Encryption» потому, что элемент XML (элементы EncryptedData или EncryptedKey) содержит или ссылается на шифрованный текст, информацию о ключах, или алгоритмы.

Оба, XML Signature и XML Encryption используют элемент KeyInfo, который относится как потомок к элементам SignedInfo, EncryptedData, или EncryptedKey, и предоставляет информацию для получателя о ключах, которые используются для проверки подписи или расшифровки зашифрованных данных.

Элемент KeyInfo является необязательным — он может быть присоединён к сообщению, или доставлен через безопасный канал.

Пример использования XML Encryption:

  <?xml version='1.0'?>
  <PaymentInfo xmlns='http://example.org/paymentv2'>
    <Name>John Smith</Name>
    <EncryptedData Type='http://www.w3.org/2001/04/xmlenc#Element'
     xmlns='http://www.w3.org/2001/04/xmlenc#'>
      <CipherData>
        <CipherValue>A23B45C56</CipherValue>
      </CipherData>
    </EncryptedData>
  </PaymentInfo>