1

我使用带有密钥和随机 IV 的 AES 加密我的数据。我用 RSA 加密这个密钥并将其包含在我EncryptedData的如下所示。我也需要包含 IV,但是如何将它包含在 XML 加密语法中,因为KeyInfo元素已经被EncryptedKey元素占用?

<?xml version='1.0' encoding='UTF-8'?>
<EncryptedData Type="http://www.w3.org/2001/04/xmlenc#Element"
    xmlns="http://www.w3.org/2001/04/xmlenc#">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbf" />
    <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
        <EncryptedKey xmlns="http://www.w3.org/2001/04/xmlenc#">
            <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-oaep-mgf1p">
                <KeySize>256</KeySize>
                <OAEPparams>AA==</OAEPparams>
                <DigestMethod xmlns="http://www.w3.org/2000/09/xmldsig#"
                    Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
            </EncryptionMethod>
            <KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
                <KeyName>client provided public key</KeyName>
            </KeyInfo>
            <CipherData>
                <CipherValue>...</CipherValue>
            </CipherData>
        </EncryptedKey>
    </KeyInfo>
    <CipherData>
        <CipherValue>...</CipherValue>
    </CipherData>
</EncryptedData>
4

1 回答 1

1

根据XMLEnc(参见 5.2.2),IV 位于加密数据的前面,并且不包含在密钥中。XMLEnc 规范都没有说明在 KeyTransport 或 KeyWrap 过程中将 IV 包含在密钥中。

于 2014-10-25T19:14:07.310 回答