【问题标题】:SOAP response MTOM attachment can't be decrypted (AES algorithm)SOAP 响应 MTOM 附件无法解密(AES 算法)
【发布时间】:2015-06-26 01:51:50
【问题描述】:

我正在使用soap 客户端,但在读取(和解密)响应附件时遇到问题。附件使用MTOM机制包含在响应中,并通过AES128-CBC算法加密(密钥包含在响应xml标头中)。

这是响应的基本结构:

<?xml version="1.0" encoding="UTF-8"?>
<soapenv:Envelope>

.. the xml data that includes the secret key for the attachment 
decryption usign AES algorithm.

</soapenv:Envelope>

--MIMEBoundaryurn_uuid_174A74CB7221A5AF451426570004765
Content-Type: application/octet-stream
Content-Transfer-Encoding: binary
Content-ID: <urn:uuid:174A74CB7221A5AF451426570004768@apache.org>

iQ�<]�+)B�ل�$O:���'�zT�F�x�����������}�t��݄��')#^��&�a�p}Q��¨גZ<G�%_"��|
Ps�<���'9��g](ǧ">�l��� ��XPrJ��jM�f�<$�)Q�*��
--MIMEBoundaryurn_uuid_174A74CB7221A5AF451426570004765--

MTOM 机制意味着附件作为二进制字符串发送(不编码为 base64)。正如我所建议的,这个二进制字符串是必须通过 AES 解密的。但不幸的是,应用 AES 解密的长度错误 - AES 使用 16 字节块,因此密码必须是 16 的倍数。但它不是,例如在上面的示例中,附件长度为 250。

也许我遗漏了一些东西,在解密之前必须对附件二进制字符串应用某种转换?

附:响应 xml 正文的部分使用相同的算法 (AES128-CBC) 进行加密,但作为 base64 密码发送,必须对其进行解码以获取二进制字符串,然后再进行解密。哪个工作正常。解码后的正文密码具有适当的长度 - 16 的倍数,可以毫无问题地解密。

提前感谢您的任何想法或想法!

【问题讨论】:

  • 你能解决这个问题吗?我有同样的问题

标签: soap aes mtom


【解决方案1】:

旧的,但在页面的一半左右来自 Oracle

注意:流媒体 MTOM 不能与消息一起使用 加密。

http://docs.oracle.com/cd/E14571_01/web.1111/e13734/mtom.htm#WSADV141

【讨论】:

猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多