IRS ACA提交-错误TPE1122,消息中的WS-Security标头无效
本文关键字:WS-Security 无效 消息 提交 ACA 错误 TPE1122 IRS | 更新日期: 2023-09-27 18:36:15
我们正试图使用他们的A2A渠道向IRS政府网站提交ACA表格。我们能够使用X509和SHA1来形成XML和所需的加密。
在向IRS站点发送XML时,我们收到错误为The WS Security Header in the message is invalid. Please review the transmission instructions outlined in Section 5 of the AIR Submission Composition and Reference Guide located at https://www.irs.gov/for-Tax-Pros/Software-Developers/Information-Returns/Affordable-Care-Act-Information-Return-AIR-Program, correct any issues, and try again.
,错误代码为-TPE1122
以下是我们试图从SoapUI 发布的示例XML部分
。。。1094/1095Capplication/xml843C9A557FC3ABF06EF26C5A4A69E19C2426表格1094C_Request_TCC_20160225T200478641Z.xml
</urn:ACATransmitterManifestReqDtl>
<urn2:ACABusinessHeader oas:Id="ABH_110">
<urn:UniqueTransmissionId>01242fde-536a-4879-b4db-932af7be668e:SYS12:TCC::T</urn:UniqueTransmissionId>
<urn1:Timestamp>2016-02-25T17:31:16Z</urn1:Timestamp>
</urn2:ACABusinessHeader>
<oas1:Security>
<xd:Signature>
<xd:SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<xd:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315" />
<xd:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
<xd:Reference URI="#tag1">
<xd:Transforms>
<xd:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
</xd:Transforms>
<xd:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
<xd:DigestValue>j2bX9e90ETVru5w3Q4k0/yOvss4=</DigestValue>
</xd:Reference>
</xd:SignedInfo>
<xd:SignatureValue xmlns="http://www.w3.org/2000/09/xmldsig#">signature_Value</xd:SignatureValue>
<xd:KeyInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<xd:X509Data>
<xd:X509SubjectName>subjectName</xd:X509SubjectName>
<xd:X509Certificate>certificate details</xd:X509Certificate>
</xd:X509Data>
</xd:KeyInfo>
</xd:Signature>
<oas:Timestamp oas:Id="TS_110">
<!--Optional:-->
<oas:Created oas:Id="?">2016-02-25T19:40:33.900Z</oas:Created>
<!--Optional:-->
<oas:Expires oas:Id="?">2016-02-30T19:50:33.900Z</oas:Expires>
<!--You have a CHOICE of the next 1 items at this level-->
<!--You may enter ANY elements at this point-->
</oas:Timestamp>
</oas1:Security>
<urn3:ACASecurityHeader>
</urn3:ACASecurityHeader></soapenv:Header><soapenv:Body> body elements</soapenv:Body>
你能告诉我们这里面可能出了什么问题吗?
因此,我马上想到的一件事是,您的签名中只有一个引用。根据AIR提交的组成和参考指南,总共应该有3个参考。一个引用您的清单,一个用于业务头,另一个用于时间戳。
此外,您的Reference标记URI引用了#tag1,从您发布的内容来看,它实际上并没有引用XML中的任何元素(除非这是我看不到的清单的ID(。您的案例中的引用URI应该是#TS_110、#ABH_110和#whateverYourManifestIDis。希望这能有所帮助!
首先,并不是所有元素都有符号。要签名的元素包括:1.时间戳2.舱单3.业务头
签名应按上述顺序排列。
此外,安全模式的名称空间应该是wsse,时间戳的名称空间也应该是wsu。(逻辑上正确吗?但这就是它的工作原理(就像在irs指南中一样。其他元素的命名空间别名无关紧要。
您可以尝试soapui并查看生成的示例请求。