moov-io / signedxml

pure go library for processing signed XML documents
MIT License
52 stars 44 forks source link

Problem in namespace parsing #17

Closed muhitsarwar closed 4 years ago

muhitsarwar commented 4 years ago

<?xml version="1.0" encoding="utf-8" standalone="no" ?><ns:BusMsg xmlns:ns="urn:rpp" xmlns:ns1="urn:iso:std:iso:20022:tech:xsd:pacs.002.001.08.01" xmlns:ns2="urn:iso:std:iso:20022:tech:xsd:head.001.001.01"><ns:AppHdr><ns2:Fr><ns2:FIId><ns2:FinInstnId><ns2:Othr><ns2:Id>RPPEMYKL</ns2:Id></ns2:Othr></ns2:FinInstnId></ns2:FIId></ns2:Fr><ns2:To><ns2:FIId><ns2:FinInstnId><ns2:Othr><ns2:Id>ARPYMYNB</ns2:Id></ns2:Othr></ns2:FinInstnId></ns2:FIId></ns2:To><ns2:BizMsgIdr>20200706RPPEMYKL520HQR10392366</ns2:BizMsgIdr><ns2:MsgDefIdr>pacs.002.001.08.01</ns2:MsgDefIdr><ns2:BizSvc>RPP</ns2:BizSvc><ns2:CreDt>2020-07-06T06:42:02Z</ns2:CreDt><ns2:PssblDplct>false</ns2:PssblDplct><ns1:Sgntr xmlns:ns1="urn:iso:std:iso:20022:tech:xsd:head.001.001.01"><ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#"><ds:SignedInfo><ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/><ds:SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/><ds:Reference URI=""><ds:Transforms><ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/><ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"/></ds:Transforms><ds:DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/><ds:DigestValue>3CssCiGJm3sMr82CySs3tq7QX/hPnOnfkUZd2h8jTWU=</ds:DigestValue></ds:Reference></ds:SignedInfo><ds:SignatureValue>NNBXKzvtKP8LLO2afdDZAnjbsbN990Lwn/uzi0EEWf1CDZwNS8nb6+1fqad9ALhoQ2TYlGW0zMe6w/jYr6NiePGNUXzqiiG9ifiQ21ynElPDhFQ9irkmgMJIV3BRsLH3yKGSTMeb/GFfE/ToZbOkfy0Z5gtyc9R8/84PRKODA46R4VYSHVexmpzB96DjFlr0K8T5xuyYkNysJlxY/ZeAsenw9kCAx0oh+4AbnqzBgQn5gHjrSJc/RYgtWnnUZV5XrCjFXBJ9/zcgWUKltRVQgLUwVh93hhWresbwyXLWl5QCTGytleWY0rZmH6zi5vTwmoltSuSj/9TFicxKdvdSZg==</ds:SignatureValue><ds:KeyInfo><ds:X509Data><ds:X509IssuerSerial><ds:X509IssuerName>C=my, O=TM, OU=TM Applied Business Certification Authority, CN=PayNet RPP</ds:X509IssuerName><ds:X509SerialNumber>6696817177145561609</ds:X509SerialNumber></ds:X509IssuerSerial></ds:X509Data></ds:KeyInfo></ds:Signature></ns1:Sgntr></ns:AppHdr><ns:Document><ns:FIToFIPmtStsRptInf><ns1:GrpHdr><ns1:MsgId>20200706DMM1MYKL52000000002</ns1:MsgId><ns1:CreDtTm>2020-07-06T14:42:01.000</ns1:CreDtTm></ns1:GrpHdr><ns1:OrgnlGrpInfAndSts><ns1:OrgnlMsgId>20200706ARPYMYNB52000000135</ns1:OrgnlMsgId><ns1:OrgnlMsgNmId>pacs.008.001.06.01</ns1:OrgnlMsgNmId></ns1:OrgnlGrpInfAndSts><ns1:TxInfAndSts><ns1:OrgnlEndToEndId>20200706ARPYMYNB520OQR00000135</ns1:OrgnlEndToEndId><ns1:OrgnlTxId>20200706ARPYMYNB52000000135</ns1:OrgnlTxId><ns1:TxSts>ACSP</ns1:TxSts><ns1:StsRsnInf><ns1:Rsn><ns1:Prtry>U000</ns1:Prtry></ns1:Rsn></ns1:StsRsnInf><ns1:ClrSysRef>002</ns1:ClrSysRef><ns1:OrgnlTxRef><ns1:IntrBkSttlmDt>2020-07-06</ns1:IntrBkSttlmDt><ns1:Cdtr><ns1:Nm>TEST</ns1:Nm></ns1:Cdtr><ns1:CdtrAcct><ns1:Id><ns1:Othr><ns1:Id>207</ns1:Id></ns1:Othr></ns1:Id><ns1:Tp><ns1:Prtry>DFLT</ns1:Prtry></ns1:Tp></ns1:CdtrAcct></ns1:OrgnlTxRef><ns1:SplmtryData><ns1:PlcAndNm>Test</ns1:PlcAndNm><ns1:Envlp><ns1:InstrForCdtrAcct><ns1:RsdntSts>1</ns1:RsdntSts><ns1:PrdTp>C</ns1:PrdTp><ns1:ShariaCmpl>N</ns1:ShariaCmpl><ns1:Dtls>1</ns1:Dtls></ns1:InstrForCdtrAcct><ns1:CdtrAcctCstmrCtg>RET</ns1:CdtrAcctCstmrCtg><ns1:QRTxInfo><ns1:QRCategory>01</ns1:QRCategory><ns1:AcceptedPymtType>01</ns1:AcceptedPymtType><ns1:PromoCd>a</ns1:PromoCd><ns1:Field1>a</ns1:Field1><ns1:Field2>a</ns1:Field2><ns1:Field3>a</ns1:Field3><ns1:Field4>a</ns1:Field4><ns1:Field5>a</ns1:Field5></ns1:QRTxInfo></ns1:Envlp></ns1:SplmtryData></ns1:TxInfAndSts></ns:FIToFIPmtStsRptInf></ns:Document></ns:BusMsg> for above xml ns1 becomes "urn:iso:std:iso:20022:tech:xsd:head.001.001.01" in sgntr. So for other case ns1 cannot be "urn:iso:std:iso:20022:tech:xsd:pacs.002.001.08.01"