Search code examples
pdfcertificatedigital-signaturesignature

PDF At least one signature is invalid - Document has been altered or corrupted since it was signed


I'm creating a signed PDF by code and I receive this error for some reason:

At least one signature is invalid - Document has been altered or corrupted since it was signed

I used DSS attribute with VRI, Certs and CRLs. The important mention is that I use versions as I saw on other articles that talk about this procedure. So I have the signature in the first part (with Contents<> and ByteRange[]) and the DSS with his children in the second part. I noticed that if I remove the second generated part, Adobe Acrobat gives me the:

Signed and all signatures are valid

Therefore I'm assuming that the Contents/ByteRange works well and the problem arise when Acrobat tries to verify the signature with the informations from the second part.

Here are both samples:

Only the first part (second removed manually after creation)

%PDF-1.6
%âãÏÓ
5 0 obj
<<
/ProcSet [/PDF /ImageC /Text]
/Font
<<
/F10 6 0 R
>>
>>
endobj
4 0 obj
<<
/Type/Page
/Parent 2 0 R
/MediaBox [0 0 612.000 792.000]
/TrimBox [0 0 612.000 792.000]
/CropBox [0 0 612.000 792.000]
/BleedBox [0 0 612.000 792.000]
/Contents 7 0 R
/Resources 5 0 R
>>
endobj
7 0 obj
<<
/Length 689
>>
stream
1.000 g
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 67.200 77.506 Tm
[(\001)(\002)(\003)(\004)(\005)(\006)(\004)15(\007)(\006)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 67.200 63.106 Tm
[(\005)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 67.200 999.106 Tm
[(\005)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 0.000 10.306 Tm
[(\005)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 748.800 10.306 Tm
[(\005)]TJ
ET
Q

endstream
endobj
2 0 obj
<<
/Type/Pages
/Count 1
/Kids [4 0 R ]
>>
endobj
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
/AcroForm
<<
/DR
<<
/Font
<<
>>
>>
/Fields [ 8 0 R  ]
/SigFlags 3
>>
/Version /1.6
>>
endobj
10 0 obj
<<
/Producer (þÿ\000\130\000\106\000\040\000\104\000\145\000\142\000\165\000\147\000\040\000\130\000\056\000\130\000\056\000\130\000\040\000\142\000\165\000\151\000\154\000\144\000\040\000\130\000\130\000\130\000\040\000\055\000\040\000\124\000\162\000\151\000\141\000\154\000\040\000\115\000\157\000\144\000\145)
/Creator (þÿ\000\130\000\106\000\040\000\104\000\145\000\142\000\165\000\147\000\040\000\130\000\056\000\130\000\056\000\130\000\040\000\142\000\165\000\151\000\154\000\144\000\040\000\130\000\130\000\130\000\040\000\055\000\040\000\124\000\162\000\151\000\141\000\154\000\040\000\115\000\157\000\144\000\145)
/Trapped /False
>>
endobj
11 0 obj
<<
/Type /Encoding
/Differences [
5 /space
4 /e
3 /m
2 /o
1 /s
6 /t
7 /x
]
>>
endobj
6 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Times-Roman
/Encoding 11 0 R
/FirstChar 1
/LastChar 7
/Widths [389 500 778 444 250 278 500 ]
>>
endobj
8 0 obj
<<
/Type /Annot
/Subtype /Widget
/Rect [0.000 0.000 0.000 0.000]
/P 4 0 R
/T (TEST)
/FT /Sig
/V 3 0 R
>>
endobj
3 0 obj
<<
/Type /Sig
/Filter /Adobe.PPKMS
/SubFilter /adbe.pkcs7.detached
/Name (Test KeyStore)
/Location (RO Bucharest)
/Reason (debug sig)
/M (D:202002240829Z)
/Contents <30821c4306092a864886f70d010702a0821c3430821c30020101310f300d06092a864886f70d01010b0500300b06092a864886f70d010701a0820a36308204d0308203b8a003020102020107300d06092a864886f70d01010b0500308183310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e3131302f06035504031328476f20446164647920526f6f7420436572746966696361746520417574686f72697479202d204732301e170d3131303530333037303030305a170d3331303530333037303030305a3081b4310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e312d302b060355040b1324687474703a2f2f63657274732e676f64616464792e636f6d2f7265706f7369746f72792f313330310603550403132a476f2044616464792053656375726520436572746966696361746520417574686f72697479202d20473230820122300d06092a864886f70d01010105000382010f003082010a0282010100b9e0cb10d4af76bdd49362eb3064b881086cc304d962178e2fff3e65cf8fce62e63c521cda16454b55ab786b63836290ce0f696c99c81a148b4ccc4533ea88dc9ea3af2bfe80619d7957c4cf2ef43f303c5d47fc9a16bcc3379641518e114b54f828bed08cbef030381ef3b026f86647636dde7126478f384753d1461db4e3dc00ea45acbdbc71d9aa6f00dbdbcd303a794f5f4c47f81def5bc2c49d603bb1b24391d8a4334eeab3d6274fad258aa5c6f4d5d0a6ae7405645788b54455d42d2a3a3ef8b8bde9320a029464c4163a50f14aaee77933af0c20077fe8df0439c269026c6352fa77c11bc87487c8b993185054354b694ebc3bd3492e1fdcc1d252fb0203010001a382011a30820116300f0603551d130101ff040530030101ff300e0603551d0f0101ff040403020106301d0603551d0e0416041440c2bd278ecc348330a233d7fb6cb3f0b42c80ce301f0603551d230418301680143a9a8507106728b6eff6bd05416e20c194da0fde303406082b0601050507010104283026302406082b060105050730018618687474703a2f2f6f6373702e676f64616464792e636f6d2f30350603551d1f042e302c302aa028a0268624687474703a2f2f63726c2e676f64616464792e636f6d2f6764726f6f742d67322e63726c30460603551d20043f303d303b0604551d20003033303106082b06010505070201162568747470733a2f2f63657274732e676f64616464792e636f6d2f7265706f7369746f72792f300d06092a864886f70d01010b05000382010100087e6c9310c838b896a9904bffa15f4f04ef6c3e9c8806c9508fa673f757311bbebce42fdbf8bad35be0b4e7e679620e0ca2d76a637331b5f5a848a43b082da25d90d7b47c254f115630c4b6449d7b2c9de55ee6ef0c61aabfe42a1bee849eb8837dc143ce44a713700d911ff4c813ad8360d9d872a873241eb5ac220eca17896258441bab892501000fcdc41b62db51b4d30f512a9bf4bc73fc76ce36a4cdd9d82ceaae9bf52ab290d14d75188a3f8a4190237d5b4bfea403589b46b2c3606083f87d5041cec2a190c3bbef022fd21554ee4415d90aaea78a33edb12d763626dc04eb9ff7611f15dc876fee469628ada1267d0a09a72e04a38dbcf8bc0430013082055e30820446a00302010202087f6b7d96f19586bd300d06092a864886f70d01010b05003081b4310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e312d302b060355040b1324687474703a2f2f63657274732e676f64616464792e636f6d2f7265706f7369746f72792f313330310603550403132a476f2044616464792053656375726520436572746966696361746520417574686f72697479202d204732301e170d3137313230353139303030325a170d3230313230353139303030325a3065310b30090603550406130255533111300f060355040813084d6172796c616e643112301006035504071309526f636b76696c6c6531183016060355040a130f456372696f6e20536f6674776172653115301306035504030c0c2a2e656372696f6e2e636f6d30820122300d06092a864886f70d01010105000382010f003082010a0282010100a4dea85c57368f69bc1c1d109be2a8c6d92b2fac57662958573d282877283ad311a301cbabcb38a561f569afb33683a2c15bcd8f1409900645c03c392b78a08494a10a64c4ea75197881b67e94752c78894a4e251ad184e15e2ea4b516708e164461a07a898ffa7b0ee395a163bd3c159e05e770f22facf32b6c0983ee4a2197beb2bbd05f875660dfb8694d5f5f6a99d4074aa51b692436082a0fa3ec0987a8621b6d2cfab2ac029a4e071fa7eb7b22e5946a04e6d7782fe0b2a1148c2c3e6a1315308db21d58ef1b6b059aae1a785c5fc1ca111161a48e8deb05529de8635fc6e78fd75f7bfa83f9e0249d547c9c890e7cf70ff4fbb0306865364bd0fd45170203010001a38201c0308201bc300c0603551d130101ff0402300030290603551d250422302006082b0601050507030106082b06010505070302060a6086480186f84d010203300e0603551d0f0101ff0404030205a030350603551d1f042e302c302aa028a0268624687474703a2f2f63726c2e676f64616464792e636f6d2f676469673273322d372e63726c305d0603551d20045630543048060b6086480186fd6d010717023039303706082b06010505070201162b687474703a2f2f6365727469666963617465732e676f64616464792e636f6d2f7265706f7369746f72792f3008060667810c010202307606082b06010505070101046a3068302406082b060105050730018618687474703a2f2f6f6373702e676f64616464792e636f6d2f304006082b060105050730028634687474703a2f2f6365727469666963617465732e676f64616464792e636f6d2f7265706f7369746f72792f67646967322e637274301f0603551d2304183016801440c2bd278ecc348330a233d7fb6cb3f0b42c80ce30230603551d11041c301a820c2a2e656372696f6e2e636f6d820a656372696f6e2e636f6d301d0603551d0e041604140bbbb94ce4d3d34dedbb9048988a09ba46487ff7300d06092a864886f70d01010b0500038201010090590d747b4a415e6011b697f4a9f82e6a17eef62078b39891d5930012525051273dfa2dcb00b6f3eb4150f8e60bb3bb8e12ab84c1f03842c50d84d1e85038e9531092d19e532a5d6aebbca157de78e336bb2d49334dbfffef84905141cd39b375c978c10332c345d7e82413242465edfceb18276d06beffbbaa0efb76f73fc0b926ca817d1913d39da41115679a4b92ff019d43031cc16e276dabbd57a4df391ec66812a6edb61a6b8da55cd09262b420d6fa29f57603ba1cbceb6e208ca06e1fb23b02a09d9eba4ee0e2a5dce1904fbf8fcd73ba2d781e856ddf1a4dddb3ea2a3ab5639602f7ebb1e4bd4894f67677fdd24c88a38617827564633cc49f9fcda1820fe0308207db308207b5020101300906052b0e03021a0500308182310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e3130302e06035504031327476f20446164647920526f6f742056616c69646174696f6e20417574686f72697479202d204732170d3230303232333033303733335a170d3230303232343135303733335aa0820700308206fc308206d506092b06010505073001010101ff048206c3308206bf0a0100a08206b8308206b406092b0601050507300101048206a5308206a13081ffa18185308182310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e3130302e06035504031327476f20446164647920526f6f742056616c69646174696f6e20417574686f72697479202d204732180f32303230303232333033303733335a30643062303a300906052b0e03021a050004141d236f8e064b971fdddfa11523e1aee502be2b1b04143a9a8507106728b6eff6bd05416e20c194da0fde0201078000180f32303230303232333033303733335aa011180f32303230303232343135303733335a300d06092a864886f70d01010b0500038201010007b308d975ac6722c8d7c6cf71e85df4628d416c575c0f33bbf19d2063429a43e905ba594e84d14699c16de771d5fda7b4a37cce29663b84383af8afc832108077d85fe3b375c8daf746fab27735ae6feb673e66265ce923f327b48c4285fe878727273089b860a900cc0994c803986afe0d8a5c2c41d061384757bf805d65fcaf426ed23d824e09e701caaf16dffeebd224a5fd4fef66c2df22aaf5d2ab4479a5e2cec91d8e7f0f5f0e12243db3a6d4590083823809e9c93b2aefa506df619331d6dcb2cd835afa6eff9e52d08bd599968d64123052374b33c8c9419d84f79ae931ae2fe789c88a5b6dd2b13724a0d657aa49aeea89a27c3c8057ca53f89300a0820487308204833082047f30820367a003020102020900d7c62ffd9457b937300d06092a864886f70d01010b0500308183310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e3131302f06035504031328476f20446164647920526f6f7420436572746966696361746520417574686f72697479202d204732301e170d3139303931373037303030305a170d3230303931373037303030305a308182310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e3130302e06035504031327476f20446164647920526f6f742056616c69646174696f6e20417574686f72697479202d20473230820122300d06092a864886f70d01010105000382010f003082010a0282010100ae315133b92966adeb58ae591482e5966669b9d2648e95b6ed0fa6cb5c223dbc9f43973df2bbcf4daf997804a93b8974c7096f56cdcf5d8a795a31ec206da45a5b638228bc3edac18efb10125baf04e1b735a4e84609a39675214cd2f707b465dc17a47e585e47f0bf878d2a182a6c1a609eab3cbeae9ced94cc88063ca21f85f3044f0679dbde841ee8f7ab5cfa55f3f322f7f572d5c334443ce4de7666c98313d1247c29e21c39ee6ac5b390502912b1555f2eb88fb1e403c128054d7a933d6178050e31de7df620ee247b477bc7f3343e28119d99c620f0cda449f05c21145717025f11106a30e685376667b8d33647abaa38cfe4cdffac4fa58946204d550203010001a381f43081f1300c0603551d130101ff04023000300e0603551d0f0101ff0404030206c030130603551d25040c300a06082b06010505070309301d0603551d0e0416041467847e97197c025c2f95ebf8099c3392d22dd9ac300f06092b06010505073001050402050030400603551d1f043930373035a033a031862f687474703a2f2f63726c2e676f64616464792e636f6d2f7265706f7369746f72792f6764726f6f742d67322e63726c304a0603551d2004433041303f060b6086480186fd6d010717013030302e06082b060105050702011622687474703a2f2f63726c2e676f64616464792e636f6d2f7265706f7369746f72792f300d06092a864886f70d01010b05000382010100b666ac722d58947599118079aa07a9fd76bd25e55f7eab8de752fc11b88afeb2c879543592c7f214e6a5a67e4a5bb2b1cb2be8a47a7cc8650cc354816d0ce56316248848963ae1e91eda357138d9fd7fb08cf486e2b0494d23f004a832259a3d6a4b4ac3bb21d155cc12b347ebc1a7558808a92a4c985ba00235d77ff5102960c302cea74c20012214d6fb4ac42b13a8ea6b01df02c0bf5b72b4dbcfd21cd15fa0d4826f5f9bfd7d4804cc069db30732a25d3981bebe5e37f046c13b8ba2350324baf50a99a683f74d85e7a16a0e40babc362ec857de842ff6101ac8d452d44276881ac821bbb04156055d8bd9e9a58aef25fbeacb28112039e8cac6b335e1cb3021060a2b0601040182370a0b040101ff041096c25031bc0dc35cfba723731e1b4140300906052b0e03021a05000315005e1e114c2ae25f94b29d1486583c604dbe3ffc7a308207fd308207d7020101300906052b0e03021a05003078310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c6531153013060355040a130c476f446164647920496e632e312b302906035504031322476f2044616464792056616c69646174696f6e20417574686f72697479202d204732170d3230303232333033343730395a170d3230303232343135343730395aa082072d308207293082070206092b06010505073001010101ff048206f0308206ec0a0100a08206e5308206e106092b0601050507300101048206d2308206ce3081faa17a3078310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c6531153013060355040a130c476f446164647920496e632e312b302906035504031322476f2044616464792056616c69646174696f6e20417574686f72697479202d204732180f32303230303232333033343730395a306b30693041300906052b0e03021a05000414b6080d5f6c6b76eb13e438a5f8660ba85233344e041440c2bd278ecc348330a233d7fb6cb3f0b42c80ce02087f6b7d96f19586bd8000180f32303230303232333033343730395aa011180f32303230303232343135343730395a300d06092a864886f70d01010b0500038201010076d52ac469ec0f91eb81765aa99cb74b6970be767c5cb4acf09a3541e83c6a979390ec39c3e7e97bf1970311a180ae882718c7979a407cff9b5965475de59d08faec1dedd291fdc5fd8896616ad9b10969aec30fc07ec4eeeef07c077ef8920c71d78f4112d47ae71846e903733f3fba1a6611faa775dae284610f8fc8944c262a76aebc5d8fa27dcae52fa4b789744c15b56f6223b37c9409bac78b6d5f657b3368c2c2cb5b7da517ff79d46c1ea4de292bfb93e7a4df82c44ca280a3f754df1e091083f2ed4ce56527c4e57c94efcd3b04497ffbaa9ed1d700900cf880f5661d812fe48987f1c671685a85312e6fbe1441810e4ed9f329c9f3e17169811a55a08204b9308204b5308204b130820399a003020102020851c6445e37a11844300d06092a864886f70d01010b05003081b4310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e312d302b060355040b1324687474703a2f2f63657274732e676f64616464792e636f6d2f7265706f7369746f72792f313330310603550403132a476f2044616464792053656375726520436572746966696361746520417574686f72697479202d204732301e170d3139303931373037303030305a170d3230303931373037303030305a3078310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c6531153013060355040a130c476f446164647920496e632e312b302906035504031322476f2044616464792056616c69646174696f6e20417574686f72697479202d20473230820122300d06092a864886f70d01010105000382010f003082010a0282010100ae315133b92966adeb58ae591482e5966669b9d2648e95b6ed0fa6cb5c223dbc9f43973df2bbcf4daf997804a93b8974c7096f56cdcf5d8a795a31ec206da45a5b638228bc3edac18efb10125baf04e1b735a4e84609a39675214cd2f707b465dc17a47e585e47f0bf878d2a182a6c1a609eab3cbeae9ced94cc88063ca21f85f3044f0679dbde841ee8f7ab5cfa55f3f322f7f572d5c334443ce4de7666c98313d1247c29e21c39ee6ac5b390502912b1555f2eb88fb1e403c128054d7a933d6178050e31de7df620ee247b477bc7f3343e28119d99c620f0cda449f05c21145717025f11106a30e685376667b8d33647abaa38cfe4cdffac4fa58946204d550203010001a38201003081fd300c0603551d130101ff04023000300e0603551d0f0101ff0404030206c030130603551d25040c300a06082b06010505070309301d0603551d0e0416041467847e97197c025c2f95ebf8099c3392d22dd9ac300f06092b060105050730010504020500304c0603551d1f044530433041a03fa03d863b687474703a2f2f63726c2e676f64616464792e636f6d2f7265706f7369746f72792f6d6173746572676f64616464793269737375696e672e63726c304a0603551d2004433041303f060b6086480186fd6d010717013030302e06082b060105050702011622687474703a2f2f63726c2e676f64616464792e636f6d2f7265706f7369746f72792f300d06092a864886f70d01010b0500038201010028f18e7deda37c09e926ff9b8227b420313fa692672ec3452bf8d76c543ca79328cce89f4f4d0be51a4a287da5bd7addcae336b6a3c95bb82a674475067925aa53628ad9335b7102f12f54548cd97a5e93a2c5fb8583c5a6e0a8b7160740f17966f0204306a790a16795455f248a3e6db38dc51977eb09a4395d4ff17362bedc23d5a04cc86b4554cb11332a2a505f7e42db7d816b8a379c40669aa33147a9e830b5d12c4d8d6f94aa3e11586c6844d8fb42ae1dbb10e2d3cfb6cb4108dafad6229d5bd5e60c2d51229438c3e94af97302e0f538f369876af98960f4059addcb4125afd70963834819e0f89e7102987b2fc43a567d456ab9382848d2eb75dff83021060a2b0601040182370a0b040101ff041029da1fe040af4bac014af2b8451e0f1b300906052b0e03021a050003150061ac55450dd5a5cddd8ad657761422ad4a9b8e06318201ed308201e90201013081c13081b4310b30090603550406130255533110300e060355040813074172697a6f6e61311330110603550407130a53636f74747364616c65311a3018060355040a1311476f44616464792e636f6d2c20496e632e312d302b060355040b1324687474703a2f2f63657274732e676f64616464792e636f6d2f7265706f7369746f72792f313330310603550403132a476f2044616464792053656375726520436572746966696361746520417574686f72697479202d20473202087f6b7d96f19586bd300d06092a864886f70d01010b0500300d06092a864886f70d010101050004820100659e5372b1aad6f11511908fccaa05396c6e5589f3fc92a65173fff20e4c7756676ca654532dc95e9fa142c333034c9a68eeadc2eebcea17161619e90120ae4b4d6decbfc6358ec9e8fd026e215f5f95f5938e52a0d3a8b20517c7365703c72a7ce6300c5ffc543b89967809970440d921e5b1a585e144e226159b8d37e3af0117509ff7cc6aaee3b22f9a6f573f16a747931119e683e3cc6515d739ca5c12071ce2abc5d71d6179331123cac6ca044ba59005b2d2a66ccb95dd55aeab69e10e11d1a9fcbbe8f519491f8ceffd085af8d10c77bed54d54b60528a9ac2a8ef31bc11537f723f6c350f135641ae02cf6cb927f70315fea089907c3657c110e79a4>
/ByteRange [0 2424 16904 451]                              
>>
endobj
xref
0 9
0000000000 65535 f 
0000001093 00000 n 
0000001036 00000 n 
0000002251 00000 n 
0000000089 00000 n 
0000000015 00000 n 
0000001978 00000 n 
0000000294 00000 n 
0000002131 00000 n 
10 2
0000001225 00000 n 
0000001884 00000 n 
trailer
<<
/Size 12
/Info 10 0 R
/Root 1 0 R
/ID [<bb6dca6a7c5b7ebe832bb44e49d83efb><bb6dca6a7c5b7ebe832bb44e49d83efb>]
>>
startxref
16975
%%EOF


Entire generated document (first part being identical with the one above)

%PDF-1.6
%âãÏÓ
5 0 obj
<<
/ProcSet [/PDF /ImageC /Text]
/Font
<<
/F10 6 0 R
>>
>>
endobj
4 0 obj
<<
/Type/Page
/Parent 2 0 R
/MediaBox [0 0 612.000 792.000]
/TrimBox [0 0 612.000 792.000]
/CropBox [0 0 612.000 792.000]
/BleedBox [0 0 612.000 792.000]
/Contents 7 0 R
/Resources 5 0 R
>>
endobj
7 0 obj
<<
/Length 689
>>
stream
1.000 g
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 67.200 77.506 Tm
[(\001)(\002)(\003)(\004)(\005)(\006)(\004)15(\007)(\006)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 67.200 63.106 Tm
[(\005)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 67.200 999.106 Tm
[(\005)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 0.000 10.306 Tm
[(\005)]TJ
ET
Q
q
0.750 0.000 0.000 -0.750 0.000 792.000 cm
0.000 g
/F10 13.333 Tf
0 Tr
0.000 Tc
BT
1 0 0 -1 748.800 10.306 Tm
[(\005)]TJ
ET
Q

endstream
endobj
2 0 obj
<<
/Type/Pages
/Count 1
/Kids [4 0 R ]
>>
endobj
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
/AcroForm
<<
/DR
<<
/Font
<<
>>
>>
/Fields [ 8 0 R  ]
/SigFlags 3
>>
/Version /1.6
>>
endobj
10 0 obj
<<
/Producer (þÿ\000\130\000\106\000\040\000\104\000\145\000\142\000\165\000\147\000\040\000\130\000\056\000\130\000\056\000\130\000\040\000\142\000\165\000\151\000\154\000\144\000\040\000\130\000\130\000\130\000\040\000\055\000\040\000\124\000\162\000\151\000\141\000\154\000\040\000\115\000\157\000\144\000\145)
/Creator (þÿ\000\130\000\106\000\040\000\104\000\145\000\142\000\165\000\147\000\040\000\130\000\056\000\130\000\056\000\130\000\040\000\142\000\165\000\151\000\154\000\144\000\040\000\130\000\130\000\130\000\040\000\055\000\040\000\124\000\162\000\151\000\141\000\154\000\040\000\115\000\157\000\144\000\145)
/Trapped /False
>>
endobj
11 0 obj
<<
/Type /Encoding
/Differences [
5 /space
4 /e
3 /m
2 /o
1 /s
6 /t
7 /x
]
>>
endobj
6 0 obj
<<
/Type /Font
/Subtype /Type1
/BaseFont /Times-Roman
/Encoding 11 0 R
/FirstChar 1
/LastChar 7
/Widths [389 500 778 444 250 278 500 ]
>>
endobj
8 0 obj
<<
/Type /Annot
/Subtype /Widget
/Rect [0.000 0.000 0.000 0.000]
/P 4 0 R
/T (TEST)
/FT /Sig
/V 3 0 R
>>
endobj
3 0 obj
<<
/Type /Sig
/Filter /Adobe.PPKMS
/SubFilter /adbe.pkcs7.detached
/Name (Test KeyStore)
/Location (RO Bucharest)
/Reason (debug sig)
/M (D:202002240829Z)
/Contents <*same as above*>
/ByteRange [0 2424 16904 451]                              
>>
endobj
xref
0 9
0000000000 65535 f 
0000001093 00000 n 
0000001036 00000 n 
0000002251 00000 n 
0000000089 00000 n 
0000000015 00000 n 
0000001978 00000 n 
0000000294 00000 n 
0000002131 00000 n 
10 2
0000001225 00000 n 
0000001884 00000 n 
trailer
<<
/Size 12
/Info 10 0 R
/Root 1 0 R
/ID [<bb6dca6a7c5b7ebe832bb44e49d83efb><bb6dca6a7c5b7ebe832bb44e49d83efb>]
>>
startxref
16975
%%EOF

14 0 obj
<<
/Length 1522
/Filter /FlateDecode
>>
stream
xÚ3hbÿkÐÄ~‰‘Ñ€“U›™IŠ•Á ÂÈeeaf

60àq8„Ù‹2«òó
…
A"ìÂ\ÁÉù%%Å)‰9©†¢Â A.a÷|—Ä””Jϼd=CmM0³°’{¾D<,1'3%±$3?OÁ±´$#¿(³¤RAWÁÝHœ×ÈÀÀÈÈØÀØÄÜÀ2
Ê514s4±ë]«  ÄLlœÚlŒ¬¬ìŒ@🥉íƒAÛ.F†MlȮH
€²—€Bç-¬8ÏIð xÏ Û ÓÀ)àYD¶qðÆçd—½~b±ôG÷Š c?‡C{ÕûΘ4,2¾þ;gó‡-:
ç˜8ê³k§}œÚ¶·Ãä‚p!Xàð²qjµy´}çedäfe`nbdd(»ªu$ó
ÿÄ×eQ+çl÷Î,ØWV³e͇Y¦Ž/l²¦OžðÆòðó—Õ§3.lXס.q|ú,‡šÿ³#SÝcŸÎåøõFöí¥‰þ혖˜us#gæºÃüꎼ{÷¡†½îÇ$žÂëýŽBWªžK¸½d.¶·ß%•&økyé­G-‰üý'¦ø¨i•­ÛÛ¿¨öÔSý%Û;K|D·æ')o®™Â¹ëxwn|jµqÆ¡C§£k—Šÿ¯¼’#·äž¦öïÉÏ—Üo:⳨añ÷ûrœÍŸÞú<MU?ò´fÊû³Ö,žõ¿WÍ»xaφ¯i²úO:Û?+̈j5ÔËß'âØÈçwó³æÉÏ3¥B4±ì4hbÙ
Ä
š˜g.`fbdbâ<æg¾PÂ-È·•t¤$ IGštô’ósu éG×@$Ç-¬’QRR`¥¯ŸœZTR¬—žŸS¨_”Z_œY’_T©ohl`InZð䜚\Z”ªàÔ—™–™œX’Š–ìäÄy
-
,
Í
Ì
€ ’«ÜËMŒJÈaÌN–ü@q.&Pú\gh¼S3míëˆu‘"MO§¥eî¼”Ò7uÛ[þe§c”l÷Ìwžnûi÷yßõ3+XVZw–çÌ;{>¶«2ÊðBî’¨èä&=v·öýŠ^Ïòp»é’nœ‹§•*ú\úξ%õŽø’ºˆ8÷ûÛ{µ$´r¤æ­¶Ù·nÎÛ)g:ØlÉ·~fñg«¼}¯EîÅ÷Õ1¿B?Vúþµèêa›'÷ÊÒN6_T©Ñ|$cù.ëèæ šBCãõvôo|Â|PƒÕ·j²mb+Ÿá½Úo
ïTªÝ«6±Óœ;ó˜Â‡³K<?Ä(Š„‹3Å
d<k5OKßqÙÌ}õ*‹óOÎþ_ã¿´ÓMÁ7”‰™‘qq#0éý5à†«¬0¨°c2` Ç‘,?ˆÇÂÌÄv ²ª,<\l‚™Ó@$ÈÇ"Æ"’ÞR7]²†)FêëœsŒ']Ò½¹Æ€QF²²0¸H½<‹«³ãû¶mÖ°TY”ƒ+Mæ&—¤A%2‹‹K3óÒõ€¼@¦)° Í2°gãNhó`lû›ËÈ.ÎLuz0W21Š)¶[á¥ñ±¯öíâΗjÿg7©oQ0´_6)]ï°«öë9!6Ë'kœy1ßß—û©”—FíÒ½UwO=6Û¶ødô­t—R¶JÕUÁI]7£™>ꇄôܬŠ›¼èèïÖæ£Ë¬Ø.Æîð±2탂3Ûò Ó§ºÆ«tÙånî=*Yþšs‰e¬ÿÇâ¤}w”¯.ð9‘írZÐXK+ ¾Îévmcv—ù‡´Y‹
ÝW¾0ØzQÇ·7Ê*;Áˆœ—¿ÖÉîxtùü¶ÓŽ·~]Sš}õn Ò‹Ã/½~3=øjñ9³=ëggÂÖYwO;ª®¿Î™Üì!ùàǼB¦ÕúG¬Âj]³vZhx\z]zÿ‡"0Y›Ì¹¸Y@)A@ó–ü‡õÞk½>íp•ã—FªZ˜Eׄºò^]zön×µð2¥µ^³ûØ ±ÑÁÑ
endstream
endobj
16 0 obj
<<
/Length 1482
/Filter /FlateDecode
>>
stream
xÚ3hb¿mÐľ•‰‘Ñ€“U›™IŠ•Á ±ÉÈgeaf

60àq8„Ù‹2«òó
…
A"ìÂ\ÁÉù%%Å)‰9©†R A.aA÷|—Ä””J½äü\ϼd=C=³°º{¾XR!(?¿D!,1'3%±$3?OÁ±´$#¿(³¤RAWÁÝHœ×ÈÀÀÈÈØÀØÀÜØ8
Ê514s4±34±ýâ«lœÚlŒ¬¬ìŒ@🥉í0Pt?#Â&¶@æ$@Ù¥@¡…ÿ6¶
Jð xÕ Å ÉÀ
)>XDd•óûؼ§Ëß½¿PTùầLû´¥YD¬fµ²¤kl{ÿm/«cžÂÁ)·øï11²70`¹@.A^6N­6¶ï¼ŒŒÜ¬ÌMŒŒì›9n–®IW:qýØù±_’zsÂcøwœ«ì4Ëù%ë®H¿–‹n3æ>/¼úwù–Å5ç4Ó¬[,¬~¬?a$ÐP~#þñæÒ·¾»ýÚTnº.ÿuº]šZÌKåÏê[zœZÿµ·««tîHXÉp†sÊ æYÿx»bt/$Z¸‡ïoˆMý³Þ)ï’m“çsÆSëÅîÿ{}Ieé_ÿ÷i‡î+­úziµKåÒGçNÊöÕóÇó   ©Øn^v%’¡¹É‚óåIk­÷KÙî'N6¼vgÓÙæ¨_yÿç]è¾:sZoŠA¹·ñ‰“Žs[¾Ïzi¸Nÿy牮èÜKÍU\_å¹îU碛†ðSÁ?&K»AK3×41§/`fbdbâd¸~Lÿï”ðæhafÐØLõäch I>¨ÉÇ9µ¨$3-39±$-ýȉóZXš˜ $« ¸ƒ"‘41*!‡#8Åñó0#(é­34Þ©™¶öuĺH‘¦§ÓÒ2w^J雺í-ÿ²Ó1J¶{æ;O·ý´û¼ïú™,+­;KŽsæ‡=ÛUeøF!wITtr“Æ»[û~E¯gy¸ÝtÉ7ÎÅÓJ}.}gß’zG|I]Dœû‡ýí½ZZ9R  óVÛì[7çí”3l6‹ä[?³ø³UÞ¾×"÷âûê˜_¡Ÿ?+}ÿZtõ°‰‹Í“{ei'›…/ªÔh>’±|—utó„ M¡¡ñz;ú7>a>¨Áê[5Ù6±‚•Ïð^í7…w*ÕîÕÇ?›ØiÎyLáÃÙ%žbEÂřⲞµš§¥ï¸læ¾z•Åù'gÿ¯ñ_Úé¦àÊÄÌÈÀ¸¸ñ‹AãG`ØÊ
ƒÊ2&pdÉòƒx,ÌLl„A|U.6H¹ÆÌi äccIo©›.Yã?õõÎ9Æ“.éÞ\cÀ(YY˜€)פ^žÅ˜FL/0lÓÏ())°Ò×O.ÊÑKÏOÅ·~QjA~qfI~Q¥~zJ0ŽuÓô€Š¼@&(°88سq'´y0¶ýÍedg4 %¨Ë˜Å”Œ­(Ú–¶¦H7bJéLÁ†ÊUì+ÿ–íU}_·º÷yÐÁ]ÿ6¨1tü“ȳ¥Ëê¼¢7m<­ýbIU͉TžÃ!¹<O“ÅT:<¦Y=|)wË´Ðâæßú
=_ÚmðôUþÀ²ÂHu–m–·×áÝŠCÏmv}pyhÇJ-ŸÑ˜L¯×ÐL8Ìtn¹£’ȵß^G´…W¼Êf¼Ït`tÑ–Ûç/É\Œ_p¥)?~ößZ–3ls7³-ŠµlÜ·/ÎüƒÛAëîE¦Ì*»¾rÍ\ÖüÝ·õùÂ,>‡]{ÌôN„ßkÑÿ& uâJЧ²©Š»78†±Ævß|¹´ë½êïW§5,_œ:¶ÙôáiE6.`²06™sq³€b_`Ú¡ Ã=¼‡c~/W.–“vt@ª!˜Eâä}´ÅOÙ4W¤-Â&ÁwŸýŸ* «²œ
endstream
endobj
20 0 obj
[
14 0 R
16 0 R
]
endobj
15 0 obj
<<
/Length 1147
/Filter /FlateDecode
>>
stream
xÚ3hb3hbq[ÀÌÄÈÄÄQŸ];íãÔ¶½¼lœZmmßy¹Y·rp²1‡²° 3…
ð8ÂìŽE™Uùy‰†Â‚ va®àäü’’â”ÄœTC)   —° {¾KbJJ¥^r~®Ž‚g^²ž¡®6HŽ[X%£¤¤ÀJ_?9µ¨¤X/=?¦P¿(µ ¿8³$¿¨RßÐØÀ¤œYXË=_l–BpjriQª‚3P_fZfrbIª‚ciIF~QfI¥‚®‚»‘œ8¯¡¹¡‘©¡¥Q”8¯‘× ÕW‚ü_qø&Uæ$æ¥
@¼Å”Ÿœ]–™ô•„ÄWü®ÉE™ùy
Áùi%å‰E©†¢Â`Gòðh饂å@þ0hbTBPFVæ&F~ 8S##Ã’{+bÂÍú3÷ÈÈ
Ì~´âØMmý5áišá¶åV—3ž^}Úbiâ×Ìõ›ÍšŒ>Û/Â9Íõ€¥vÅ‚–)¹RŽ¼*•¬hÜV7¥T§¢ÓËOUêbËÃ8½%[Å
úÄ\Tuöÿªæ{<uaò^Ñy¬Ï>é¯ù¬ÃÙüÎKqú¾M»/Ä·‡%Üß‘éŸ5ó
»×RéL3-þÅo8ÛW$IçêüÚ´†i–»üò×ÕJO§d±<»^¡ÿ`ÓB‘»,aQƒÞM²ï¥³Yg­“ªˆ‰?xJP0qI_ïkÖ ¹/’ã=ï¿_ý«ù畹!5s:ùj¾óù½Á #ÕÌûÂ_Wq&fFÆÅMŒ€!²Ç€„²ÂŒŒÿY˜4A<U%6m6FVVvfF8‹‰+¡Íƒ±í‡/#38IÊòƒ4²03±.00ñåYôt´h,Pkƒ§´¢”t–ž’™nTl¤k®”1ˆiS`  31ð`ã›ÿ7—‘]œÉÀÒÀf5£˜6Rº…¦?œÉ×€ƒ-½‘˜ÅÊ`F02²dd¨ÀøŒmP#ó“‹PŒ2p€«bj3!Áb°×€Þ*1yK™˜xDíUï;cÒl°ÈøúïœÍ¶è4œ3P)d‘1jBI¾M\HIY¤ˆEŒE„{÷NŸ'—/û¾Ý=ÁcFç.7úïhÅ3(qOˆä-©örŒKÜ6ýËÊzYâï¾)Tlž1ñêd¡ €@uÛ_º§¶}~íðã÷æÝ}B«[~°p:ÊÛrñE€ÅË`IçkÅf½Þ³0ü^Åc³ÝºžÆ¾ûÿ¿o™èxÖrséÉŠƒÌF‡]¯¿PVQI}û組z.Û¾ÿ»Wñý.ûn`§Ú©ÆZIáËs—Š¦ÏòžôŸq®3³ÌÁ<õÜÕ{×ܷ”;–!´ìí6©ìÞ¥1&%mQ¸öKókó.™=¯ózäÉo²fZ0wÞ.¿–Þy8ÁÿÙâ]ºr­¹÷¥|ïn~¥eµ5yÓ÷ןìõ˜ò­¬üï%ŸŽÅmâM¥)É6GæÏ? ¸Íב
endstream
endobj
17 0 obj
<<
/Length 1008
/Filter /FlateDecode
>>
stream
xÚ3hb¹`Ðļc3##»/§V›GÛw^FFnVƒÆfCnN6æP6a¦Ð`C>‡C˜Ý±(³*?/ÑPØ@$Â.Ìœœ_RRœ’˜“j(e ätÏwILI©ÔKÎÏÕQðÌKÖ344ÐÉ1k¸ç+€%‚òóKœS‹J2Ó2“KRKK2ò‹2K*tÜäÄyÚL
Œ
Ì
€ Jœ×™kи…ê®Ô5ÐÉq«d””Xéë'W¬—žŸS¨_”Z_œY’_T©ohl`ñ”ÜSÁ©É¥E©ø¼ÕĨ„ÞŒ¬ÌMŒü@q.¦&FF†N\Y_¶÷Êä¤×);9r³ÜLïÓÿo—z¾ÿ\Ò3› ™[b®Þ¡«+²“›“&œãÏÌ™yBJ¤Û猫ñ«Ž;ó¯×þ×8·2üÈy½/ö6±îf‰í9l>Í1°OÐ;ä‡Æ¾=û>XÈ}Þ ö#Í=9÷^¡š{¿…{ðE7Ù-ï0¼r]³wOáÍUù·oŸ5°ªô÷qÿ!û>úБ¹   Ö79O¼±ÄØïÕækêþkU»–ûrõ²u%¬)á[]B¯èjYÙýر÷¥Ó””#bV½Ö=¯4^Ï£À^ÿâ>‹å¡L¦œä _å¥O”´ŸØ9Y" ÄÔ;ÓoõeO=ù;/ýfbfd`\ÜÄ(1~` Ë
32þga5`Rà8–å    ° S/›,ˆÏÇ"Æ"âph¯zß“fƒEÆ×çlþ°E§áœ<HZ™EÂ@¬AÄjV+»@ºÆ¶÷ßö²:æ)œr‹ÿž  ‡6#++;##‹†š
ŒoÀØ&MùÉÅ(‰ÀÀd¬<‹žŽÖjmðS”ƒ¢2=¥˜ÌuÓô€2n m
,ö¶Öl,@&ƒ(
AmdbSSL(á¡åWfP²á¨Ë™,pÂbÇ´•¼ÿ/Œ÷gyŸc7§ƒíd@ÿ²âïá†Òûö<Ñ¿ýc×åè[ž?«LâãYt=+¹Øpë×K¬9tÅN¸¾¥FÕ_0ÌàÈ6—¹Õ:sŸÆ={Ï“¸jÿ-éw-óv4×t>ç²\¸€w¢ü—Âk›nÞ(ZQ¬"·uß)ñΤéÕªŒügH'ÝÜr™?Pkö—=ÅÊΙ-9{ó†Î«u³¿jmšpÑ·T¢Ë¾Ëq‚rm´÷¿%̳Ý6NHhþQàxîР ‡w¿gÒ¿$òÎEô&׺å]Æo7ê–™©Ýay=ÿ{¢¼èöüwnÓ4Ö.T«åâ\®Ç²¸wÏ=,Œ Lÿ±Õ
endstream
endobj
21 0 obj
[
15 0 R
17 0 R
]
endobj
12 0 obj
[
14 0 R
16 0 R
]
endobj
13 0 obj
[
15 0 R
17 0 R
]
endobj
18 0 obj
<<
/CRL 12 0 R
/Cert 13 0 R
>>
endobj
19 0 obj
<<
/671442037AB30797512E2AB3B61C015CF3A79DA4 18 0 R
>>
endobj
22 0 obj
<<
/VRI 19 0 R
/CRLs 20 0 R
/Certs 21 0 R
>>
endobj
1 0 obj
<<
/Type /Catalog
/Pages 2 0 R
/AcroForm
<<
/DR
<<
/Font
<<
>>
>>
/Fields [ 8 0 R  ]
/SigFlags 3
>>
/Version /1.6
/DSS 22 0 R
/Extensions
<<
/ESIC
<<
/BaseVersion /1.7
/ExtensionLevel 5
>>
>>
>>
endobj
xref
0 2
0000000000 65535 f 
0000023125 00000 n 
12 11
0000022878 00000 n 
0000022912 00000 n 
0000017355 00000 n 
0000020541 00000 n 
0000018951 00000 n 
0000021762 00000 n 
0000022946 00000 n 
0000022993 00000 n 
0000020507 00000 n 
0000022844 00000 n 
0000023064 00000 n 
trailer
<<
/Size 24
/Root 1 0 R
/Prev 16975
/ID [<bb6dca6a7c5b7ebe832bb44e49d83efb><7733472c6eca1171d8388b938109f336>]
>>
startxref
23335
%%EOF


Also I hardcoded the IDs in both versions because from what I understand, the ID must be unique, but the way that you calculate it is unimportant so if I just want it to work without errors it doesn't seem very important right now.


Solution

  • Solution

    the initial cross references must be continuous and may not have gaps. Adobe Reader signature validation sometimes is picky in such details, in particular when validating later revisions

    by mkl