The Exact XML is as follows:
$signedPropertiesXml = ‘<xades:SignedProperties Id=“xadesSignedProperties”>
xades:SignedSignatureProperties
xades:SigningTime2024-01-14T10:26:49</xades:SigningTime>
xades:SigningCertificate
xades:Cert
xades:CertDigest
<ds:DigestMethod Algorithm=“XML Encryption Syntax and Processing”/>
ds:DigestValueZDMwMmI0MTE1NzVjOTU2NTk4YzVlODhhYmI0ODU2NDUyNTU2YTVhYjhhMDFmN2FjYjk1YTA2OWQ0NjY2MjQ4NQ==</ds:DigestValue>
</xades:CertDigest>
xades:IssuerSerial
ds:X509IssuerNameCN=PRZEINVOICESCA4-CA, DC=extgazt, DC=gov, DC=local</ds:X509IssuerName>
ds:X509SerialNumber379112742831380471835263969587287663520528387</ds:X509SerialNumber>
</xades:IssuerSerial>
</xades:Cert>
</xades:SigningCertificate>
</xades:SignedSignatureProperties>
</xades:SignedProperties>’;
$signPropertyDigest = base64_encode(hash(‘sha256’, $signedPropertiesXml));
When I generate the hash I got:
“MzcyM2NhNWJlMzcwODk5Njg3OWVhYWI3ZGJlMDhjZWQxMDE4MTBjMTNlMjM1NTU3YzMwZTg3OWRjZTkyNzM3Yw==”
But the hash shuld be.
“NTUzMzVmMjExNWRjYzZkYzRlNjI1Y2Q1NDM1NWMwYjMzZjQ4MTZiYjlhOTZlMmY5ZDkzM2Q3ZDM1ODliNjE0ZA==”
Tell me how to generate the property hash?
I have tried by linearizing the xml still not matched. My code is on PHP
I am testing simplified xml :
https://gw-fatoora.zatca.gov.sa/e-invoicing/developer-portal/invoices/reporting/single