XML Encryption,也称作XML-Enc,是一个万维网联盟推荐标准,定义任何数据进行加密,并以XML的方式描述加密后的内容。
XML Encryption可被用于各种类型数据的加密,但称作"XML Encryption"是因为使用了XML元素(EncryptedData或EncryptedKey元素)包含或引用密文,密钥信息和加密算法。
当对XML元素或元素的内容进行加密时,在加密后的XML文档中,EncryptedData元素将替代该元素或内容。当对任意数据进行加密时,EncryptedData元素可以成为新的XML文档的根元素,或称为应用选定的XML文档的子元素。
XML Signature和XML Encryption都使用了KeyInfo元素,或者作为SignedInfo元素、EncryptedData元素或EncryptedKey元素的子元素出现,并为接收者提供对签名进行验证或对加密数据进行解密所需的密钥信息。
KeyInfo元素是可选的,它可以附加在消息上,或者通过一个安全通道传送。
<EncryptedData> <EncryptionMethod/> <ds:KeyInfo> <EncryptedKey> <AgreementMethod> <ds:KeyName> <ds:RetrievalMethod> <ds:*> </ds:KeyInfo> <CipherData> <CipherValue> <CipherReference> </CipherData> <EncryptionProperties> </EncryptedData>