2.2.4 元素<EncryptedID>

本博客采用知识共享署名 4.0 国际许可协议进行许可

<EncryptedID>元素是属于EncryptedElementType类型,并且以加密的方式携带未加密的标识符元素的内容,整个过程正如XML加密语法和处理规范[XMLEnc]所定义的那样。<EncryptedID>元素包含了下列的元素:

  • <xenc:EncryptedData> [必须]

加密内容和相关的加密详情,由XML Encryption Syntax and Processing规范[XMLEnc]所定义。Type属性应该存在,并且存在的话,必须包含这个值http://www.w3.org/2001/04/xmlenc#Element。加密的内容必须要包含一个元素,该元素是NameIDType类型或者AssertionType类型的,又或者是一个派生自m BaseIDAbstractType,NameIDType, 或者AssertionType的类型。

  • <xenc:EncryptedKey> [0个或多个]

包装的解密密钥,由[XMLEnc]规范所定义。每个包装的密钥都应该包含一个Recipient属性,该属性指定了当前密钥是为了哪个实体而加密的。Recipient属性的值应该是一个SAML实体的URI标识符,正如8.3.6部分所定义的那样。

当明文需要通过中间人传递时,加密标识符会作为一种隐私保护机制。因此,密文对于任何给定的加密操作都必须是唯一的。对于更多的此类问题,可以参考[XMLEnc]规范6.3章节。

注意,整个断言可以加密到此元素中并用作标识符。在这样的场景中,加密断言中的元素提供所包含断言的主题的“标识符”。注意,如果标识断言无效,则包含的断言也无效。

下面的schema片段定义了<EncryptedID>元素和它属于的复杂类型EncryptedElementType

<complexType name="EncryptedElementType">
    <sequence>
        <element ref="xenc:EncryptedData"/>
        <element ref="xenc:EncryptedKey" minOccurs="0" maxOccurs="unbounded"/>
    </sequence>
</complexType>
<element name="EncryptedID" type="saml:EncryptedElementType"/>

Last updated

Was this helpful?