I am trying to sign a pdf file using PKCS7
and X509Certificate
but I get the following error when I open the signed pdf file in Adobe.
Document has been altered or corrupted since it was signed
Docuement Hash
66305799d97adc716694faa3aecb3b82136a76a57e0470fb289dcf727b83304b
Following is my code:
public class Helper
{
private static PdfPKCS7 _signature;
private static PdfSignatureAppearance _apperance;
private static byte[] _hash;
private static byte[] _signatureHash;
public static byte[] GetBytesToSign(string unsignedPdf, string tempPdf, string signatureFieldName, byte[] x509Signature)
{
if (System.IO.File.Exists(tempPdf))
System.IO.File.Delete(tempPdf);
var chain = new List<Org.BouncyCastle.X509.X509Certificate>
{
Org.BouncyCastle.Security.DotNetUtilities.FromX509Certificate(new X509Certificate2(x509Signature))
};
Org.BouncyCastle.X509.X509Certificate certificate = chain.ElementAt(0);
using (PdfReader reader = new PdfReader(unsignedPdf))
{
using (FileStream os = System.IO.File.OpenWrite(tempPdf))
{
PdfStamper stamper = PdfStamper.CreateSignature(reader, os, '\0');
PdfSignatureAppearance appearance = stamper.SignatureAppearance;
appearance.SetVisibleSignature(new Rectangle(36, 748, 250, 400), 1, signatureFieldName);
appearance.Certificate = chain[0];
IExternalSignatureContainer external = new ExternalBlankSignatureContainer(PdfName.ADOBE_PPKLITE, PdfName.ADBE_PKCS7_DETACHED);
MakeSignature.SignExternalContainer(appearance, external, 8192);
Stream data = appearance.GetRangeStream();
byte[] hash = DigestAlgorithms.Digest(data, "SHA256");
var signature = new PdfPKCS7(null, chain, "SHA256", false);
byte[] signatureHash = signature.getAuthenticatedAttributeBytes(hash, null, null, CryptoStandard.CMS);
_signature = signature;
_apperance = appearance;
_hash = hash;
_signatureHash = signatureHash;
return signatureHash;
}
}
}
public static void EmbedSignature(string tempPdf, string signedPdf, string signatureFieldName, byte[] signedBytes)
{
using (PdfReader reader = new PdfReader(tempPdf))
{
using (FileStream os = File.OpenWrite(signedPdf))
{
_signature.SetExternalDigest(signedBytes, null, "RSA");
byte[] encodedSignature = _signature.GetEncodedPKCS7(_hash, null, null, null, CryptoStandard.CMS);
IExternalSignatureContainer external = new MyExternalSignatureContainer(encodedSignature);
MakeSignature.SignDeferred(reader, signatureFieldName, os, external);
}
}
}
private class MyExternalSignatureContainer : IExternalSignatureContainer
{
private readonly byte[] signedBytes;
public MyExternalSignatureContainer(byte[] signedBytes)
{
this.signedBytes = signedBytes;
}
public byte[] Sign(Stream data)
{
string strResp = File.ReadAllText(@"C:\Users\Digital\Content\KYC_responseXML.txt");
XmlDocument xmlDoc = new XmlDocument();
xmlDoc.LoadXml(strResp);
string strDsc = xmlDoc.SelectSingleNode("EsignResp/Signatures/DocSignature").InnerText;
return Convert.FromBase64String(strDsc);
}
public void ModifySigningDictionary(PdfDictionary signDic)
{
}
}
}
Webservice returned following XML signature:
This XML file does not appear to have any style information associated with it. The document tree is shown below.
<EsignResp errCode="NA" errMsg="NA" resCode="957C7BF1B9A9F1473E358F6F0D3FC200CB48A253" status="1" ts="2018-11-15T09:55:02" txn="UKC:eSign:5306:20181115095351206">
<UserX509Certificate>
MIIFtjCCBJ6gAwIBAgIEWxeBRzANBgkqhkiG9w0BAQsFADCBgzELMAkGA1UEBhMCSU4xMTAvBgNVBAoTKE5TREwgZS1Hb3Zlcm5hbmNlIEluZnJhc3RydWN0dXJlIExpbWl0ZWQxHTAbBgNVBAsTFENlcnRpZnlpbmcgQXV0aG9yaXR5MSIwIAYDVQQDExlOU0RMZUdvdklzc3VpbmdDQTIwMThUZXN0MB4XDTE4MTExNTA0MjUwMloXDTE4MTExNTA0NTUwMVowggFLMRAwDgYDVQQIEwdHdWphcmF0MQ8wDQYDVQQREwYzOTQ2NTAxTjBMBgNVBC4TRTE5OTJNMUI5NDhGNkIwQUM5MkY5MUIxMjBGOEQyMjBGMkJGMkMwRUVFQjBCMENGNkU3MDAxRkVDMjVBQkU3MEM1MDQ3QjENMAsGA1UEDBMEMDkzNzFSMFAGA1UELQNJADAxMDAwNTA5Wk9sWlVJWDJGMTlWcXJwUVN4YUZ0NjZkMW9ldmZpbllocHI2TXN4QXlYQXI3MCttRnJLQXBJOE5wT1BLMG1zNDEpMCcGA1UEQRMgY2IxNjYyNzgNDYzNDZiYjg4M2I1NGI2ZGM2MWJlNzcxETAPBgNVBAoTCFBlcnNvbmFsMQswCQYDVQQGEwJJTjEoMCYGA1UEAxMfQmFoZWxpbSBBYmR1bG1hbm5hbiBBYmR1bHNhdHRhcjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHzwDifYLBhJfjKTgtaACz77Nm/EM3INgefVdsDkwMexp52vssDxu7jN/yCXCJWOThOHeWfTQozWP1t87J+EsOajggIwMIICLDALBgNVHQ8EBAMCBsAwgaUGA1UdIASBnTCBmjCBlwYHYIJkZAIEATCBizA/BggrBgEFBQcCARYzaHR0cHM6Ly8xMjEuMjQwLjkuOC9jcHMvTlNETGUtR292LUNBLUNQUy12ZXIxLjAucGRmMEgGCCsGAQUFBwICMDwMOkFhZGhhYXItZUtZQy1PVFAgQ2xhc3MgQ2VydGlmaWNhdGUgaXNzdWVkIGJ5IE5TREwgZS1Hb3YgQ0EwTgYIKwYBBQUHAQEEQjBAMD4GCCsGAQUFBzAChjJodHRwczovLzEyMS4yNDAuOS44L3JlcG9zaXRvcnkvTlNETGUtR292Q0EyMDE4LmNlcjCB5AYDVR0fBIHcMIHZMDWgM6Axhi9odHRwOi8vMTIxLjI0MC45LjgvY3JsL05TRExlR292VUFUSXNzdWluZ0NBLmNybDCBn6CBnKCBmaSBljCBkzELMAkGA1UEBhMCSU4xMTAvBgNVBAoTKE5TREwgZS1Hb3Zlcm5hbmNlIEluZnJhc3RydWN0dXJlIExpbWl0ZWQxHTAbBgNVBAsTFENlcnRpZnlpbmcgQXV0aG9yaXR5MSIwIAYDVQQDExlOU0RMZUdvdklzc3VpbmdDQTIwMThUZXN0MQ4wDAYDVQQDEwVDUkw2NjAfBgNVHSMEGDAWgBTSGuo/qezZNRnR1RvxYGbZw9QjFDAdBgNVHQ4EFgQUZYy9fj/1CqZ19ZWpZeOYFmHKSnwwDQYJKoZIhvcNAQELBQADggEBAHZblBpACyNn2gFHxZcx1ezyIU29HGacChWlzCdTiSGAZG492wVnEFljXGM4RhVP0mSA/SsCibORI4zHSyyf56DZoNTrHJrOxU+nxqOY1Ss1E0kjWVcyEAmlPYqY7I8pTiNibxGg59ibezjNV4uSULcClXq+e+rcnun2pBail9ReSkOQJiLL7pHHKAqdBP6sxvT0nhD/bxnzYc2aVrqwCOp1nErx8csBISxzTOvo0zPfrGaWWyDWShhkH2FKXyShZRdT9W98EBOP1fyx9Bg1XrlOdtLNR3Ex7ZnVhRaBPjkkNB37yP8Vx5OMZ8lzTOgdw0FKbV4A1rc0UdJvRz62e+w=
</UserX509Certificate>
<Signatures>
<DocSignature error="" id="1" sigHashAlgorithm="SHA256">
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
</DocSignature>
</Signatures>
<Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
<SignedInfo xmlns="http://www.w3.org/2000/09/xmldsig#">
<CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
<SignatureMethod Algorithm="http://www.w3.org/2001/04/xmldsig-more#rsa-sha256"/>
<Reference URI="">
<Transforms>
<Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
</Transforms>
<DigestMethod Algorithm="http://www.w3.org/2001/04/xmlenc#sha256"/>
<DigestValue>zcFiuaTy/HajJpSKCS/DtAZ8b+TMTPfO+Na7dLP38i4=</DigestValue>
</Reference>
</SignedInfo>
<SignatureValue>
qOJyQroX0Rr53prUuRSCAFKQZ77SOBXxM3x8iwk7GgrfOjdItK+/MMXes8K39Hy2jvzJuEtBai5nx4XiWrfHWThYcnkD/iuQb+Rs/NC9blJj5EdYSLlrZ6UAT2NYU70WKgbrteZiSgkk/PAyPTTwZzxtiExN5aPpalX0OkuHhrXnmvnssc4taaFNP3BfJ4JJphJiUgq02DLmCtvRI25Qg0H2kMpLZFiGNxCZTXck2hwDLpO8RVb9k6Fn8DZhWDWLEbEPNHb6CoAMsvTu7iSC9VMpq7c2scAeg2qVRFf63tmkAfbQZs7boWrmj96JwVj5P7K95UzH8ku+WehIm+8w==
</SignatureValue>
<KeyInfo>
<KeyValue>
<RSAKeyValue>
<Modulus>
0o9vohWZ3ztI9ea8D/zUEUBRq6c82BE7sFmr1hNMeuGSJQFf39ceesRtGUzlUYVWXcU23P8sVZ5419CHh7ApFzUXaLD72i/2d5FFI0n3iRlTQec9PEUHyrvOCVDpqBhbnrO/EHBqRluUQJTQUtMu5mhPNFV7IIJMTEAsUhCL9adZXXQK9NeK0foRr29Oq7VdEGfSeLzHIibpQmhNPh89oJXqu0cmbNSW4J4i2GmwHQpmsmHaSQcgh4mgVrykO64pAKXPreAPipDHQM1l/e5hilYlWfLHxhC5ObTCTcydQ218IVulFOFhdQt7xVV61TOmoTC2elhWbDqoLJBVU5mBfQ==
</Modulus>
<Exponent>AQAB</Exponent>
</RSAKeyValue>
</KeyValue>
<X509Data>
<X509SubjectName>
ITC INFRASTRUCTURE LIMITED
</X509SubjectName>
<X509Certificate>
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
</X509Certificate>
</X509Data>
</KeyInfo>
</Signature>
</EsignResp>