我正在通过代码创建一个签名的PDF,由于某种原因我收到了这个错误:
至少有一个签名无效-自签署以来,文档已被更改或损坏
我将DSS属性与VRI、Certs和CRL一起使用。重要的一点是,我使用了我在其他文章中看到的关于这个过程的版本。因此,我在第一部分中有签名(带有Contents<>和ByteRange[](,在第二部分中有DSS和他的孩子。我注意到,如果我删除第二个生成的部分,Adobe Acrobat会给我:
已签名且所有签名均有效
因此,我假设Contents/ByteRange运行良好,当Acrobat试图用第二部分的信息验证签名时,问题就会出现。
以下是两个样本:
仅第一部分(创建后手动移除第二部分(
%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
[( 01)( 02)( 03)( 04)( 05)( 06)( 04)15( 07)( 06)]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
[( 05)]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
[( 05)]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
[( 05)]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
[( 05)]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 (þÿ 00130 00106 00 40 00104 00145 00142 00165 00147 00 40 00130 00 56 00130 00 56 00130 00 40 00142 00165 00151 00154 00144 00 40 00130 00130 00130 00 40 00 55 00 40 00124 00162 00151 00141 00154 00 40 00115 00157 00144 00145)
/Creator (þÿ 00130 00106 00 40 00104 00145 00142 00165 00147 00 40 00130 00 56 00130 00 56 00130 00 40 00142 00165 00151 00154 00144 00 40 00130 00130 00130 00 40 00 55 00 40 00124 00162 00151 00141 00154 00 40 00115 00157 00144 00145)
/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
整个生成的文档(第一部分与上面的文档相同(
%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
[( 01)( 02)( 03)( 04)( 05)( 06)( 04)15( 07)( 06)]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
[( 05)]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
[( 05)]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
[( 05)]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
[( 05)]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 (þÿ 00130 00106 00 40 00104 00145 00142 00165 00147 00 40 00130 00 56 00130 00 56 00130 00 40 00142 00165 00151 00154 00144 00 40 00130 00130 00130 00 40 00 55 00 40 00124 00162 00151 00141 00154 00 40 00115 00157 00144 00145)
/Creator (þÿ 00130 00106 00 40 00104 00145 00142 00165 00147 00 40 00130 00 56 00130 00 56 00130 00 40 00142 00165 00151 00154 00144 00 40 00130 00130 00130 00 40 00 55 00 40 00124 00162 00151 00141 00154 00 40 00115 00157 00144 00145)
/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]³vZhxz]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^6N6¶ï¼ŒŒÜ¬Ì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¾MHIY¤ˆ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†NY_¶÷Êä¤×);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
此外,我对这两个版本中的ID进行了硬编码,因为据我所知,ID必须是唯一的,但计算它的方式并不重要,所以如果我只是想让它正常工作而没有错误,那么它现在似乎并不重要。
解决方案
初始交叉引用必须是连续的,并且不能有间隙。Adobe Reader签名验证有时在这些细节上很挑剔,尤其是在验证后期版本时
通过mkl