如何解密XML加密文档?

时间:2018-01-15 21:07:40

标签: encryption cryptography aes rsa xml-encryption

我必须解码XML加密文档。相关部分是:

        <Master_key>
          <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#aes256-cbc" />
          <KeyInfo>
            <ds:KeyName>TK</ds:KeyName>
            <ds:RetrievalMethod URI="#TK" Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey" />
          </KeyInfo>
          <CipherData>
            <xenc:CipherValue>73CEFD0CE530C157C275152964EFBC322D26C2E356A3F3079E026FB2B6B562BD810043066300924078472229583118A8</xenc:CipherValue>
            <xenc:FingerPrint>739E0E8490EACBCB2EA11D4A5DBEFBAE888B092E</xenc:FingerPrint>
          </CipherData>
        </Master_key>

Master_Key是加密元素。 aes256-cbc用于加密。 AES256密钥是会话密钥,在XML的开头定义:

<Security>
  <Transport_key Id="TK">
    <EncryptionMethod Algorithm="http://www.w3.org/2001/04/xmlenc#rsa-1_5" />
    <KeyInfo>
      <ds:RetrievalMethod URI="#PKC" Type="http://www.w3.org/2001/04/xmlenc#EncryptedKey" />
    </KeyInfo>
    <CipherData>
      <xenc:CipherValue>968A0AFA54DAD4081FC264C90CD5F1341AD8274F130F5E9E8DC397B9FE3B7EC00FC72DD8C8A22B6E8A606B7693B80882777972D61316FD280A64D166DD0DA08748D285A2D4236DC92153C7A3ECF77580F380BE1A4E8B5E688BDB090A92B5C0CF3C1D90E00E73B4B50940195587DECB1ECF686B51C3C566D0BC36EA5EC0E87C32827EFFCDD3B5A91AF9AD0A0594527E43395CB6CC44653F60F9792505598709FE2C5F1BD21BAA8B6C9C02ADE354B7E8717BE999A11B6422F6C67B0D7A13C96051658C2B0315812DD772321E9820FEE73843C76869F65FE6327253A5BDD1255EF4DEA9B5A17DB54A5B7AEEA1DB4BEA018301E2CAB04B79A3EF81A419DB2B837404</xenc:CipherValue>
      <xenc:FingerPrint>1F1862AFB4CC212C18439F12C1C3E6B615E70F65</xenc:FingerPrint>
    </CipherData>
    <CarriedKeyName>TK</CarriedKeyName>
  </Transport_key>
</Security>

它本身是使用rsa-1_5加密的,基于公钥,解密者必须拥有私钥。

我必须解密内容。虽然我知道私钥,但我现在还不知道如何做到这一点。特别是我想知道为什么加密值

73CEFD0CE530C157C275152964EFBC322D26C2E356A3F3079E026FB2B6B562BD810043066300924078472229583118A8

长48个字节。它不应该是32字节的倍数,因为AES256使用256位的块长度= 32字节。

我很感激任何帮助...

0 个答案:

没有答案