密评 | PDF文件中电子签章手工验签

最近在学习密码相关知识的时候,对于PDF文件中电子签章怎么进行手工验签的过程做一个记录。题目给出一个PDF文件,通过这个文件做以下解答,有不对的地方请进行指正,附件下载地址放在最后:

问题一、请依据案例文件解析出所有证书,以插入文件形式提交证书。提示:一共6个数字证书。

问题二、请依据案例文件解析以下sha256RSA签名,并手动验证签名通过。D519E5FDAFE3F4CE97391D61DE31C15D3B31D144FF66F4045A54927E55B1119BD8D929A19C1243235C34914EB77A4CE83BC6500B54A9532B7B892D00313D5158A8D4CF27DD91B6328C1205607716914CC1217ED68A5660C7B6EDC48F53711C22A96421DAC84738D147DFE919066ACC84CBC942D7E4AF86D72BC00CC4B07F7FBFD7658B1DF5D84C9A80188D2EC3756FEC264DA9083500907CD7762CA0D1BFB1D66022586B10FFF138137ACCF18177DDC0133BA5C73F7E043D976343D592A8DAFD7F7E3974DFF3502A27DF80C0B72227280467D11BA01F7BA870950D8973FEABAFEAA3071E2ABD85E0A6FEE7FEBAF00929CDFE7EE2079D7F6B5FC6893B282B9AA6

问题三、请依据案例文件解析以下sha256RSA签名,并手动验证签名通过。

99EF7E781B7F55A6CFFC039DA8F2C0CEDD20278E4D3E7FB31F6E523A485168968DED28330E7A934E17A95C95F013BB024CDC35B7151BF20DD88B8B7A02991D1E13D655985034D469D4BF136DB2690A88AF921FDD708788169275F2AD3AD99BC1D5063E2D3ADDE21D66143082FF331D3B521F720212E5C78AFE6B0D5E8E100EF70724DF5DFBB295B8CF1DA7E6A647F0DC1F5523FC89DD2F04601F1E94DEC185FFC619352F2D5399819FA0A72C86B9A895AED48BF632C86856135837931B164A6B321C0F6A50C705B9DAE7C9D4B92D63B0A4179947988C4539F2934B4BAFEC5A19823285C42EB2BDAD2C100516A6830C93B877777A5ECF118CE42BF4C3E9E38A14801084DB6D17892E4608D65EACAA156F20545C5900105F4BBA2F82D09BCC2618DFB0919D0D909D03CD81AEC1CE40312A7BC2AE2AD45A665F28F7FA7FF9BAC593CBCFBBE833FF369F436812EEF77427EA1B0CD7DE74DA29D99BDC7ECE0D05EE059E36D4BC8457F952BE5021164EEEBF1C80106A90DD83D326BC3B907E0691EA26409BBDC7ED7BD89CCD2A2CD3FC074603A713115FEE75C9DFDC74AD4F0C75DF42876778932BAC0C7D86C966CF3B7BB13A825C8B12BE2EC46AE79AB833F73046EBE29EC3FDBF224169162F5EFE20DACFACA7F0FD4C95FB38D585A5AAE53322FBBBD2CF60337DB14EB833B0CD35F01644CF331852895718764003626693CD00FE5A

问题四、请依据案例文件解析以下sha256RSA签名,并手动验证签名通过。27F0D2713C5B5C0CE9692450C751D5389118A208E539D1E8B16DB58A9F9BD8A74C47F0CABB6D2868699D66BE17262B5B191F1A7401E242185ADEB20B7EB4A9CD4D195BCC35AE0FE7AB98BBD0D1B83E45A1AEE46142131D0BBBD6134D8960E05D746C5F68122A36BF6EA540858AAC1AA5A1A2FA4152B06CCB8A8C8616ABC4EB0332AF216ED432E19F98C6C718E0C7AFB6D53ACAE0C37F9DB89ECC4E37EF3F003F9C6C4EF1ABB214FEFD31B639986EB96CE37F8368F455FCA18F5AEC9194E0BAECF7D5D5A5F5F538B076B0196A08FA44F4EB0AD14478F43DD2E60C50F11F87553ABC5ED7FEBED97C75283CA1C7693C9135122F63E6DB81DC6D6628089F8F58296C

问题五、请依据案例文件解析PDF文件数字签名,并手动验证签名通过。

问题六、请依据案例文件解析PDF文件时间戳数字签名,并手动验证签名通过。

问题七、请依据案例文件解析PDF文件时间戳,并验证时间戳原文摘要值的一致性。提示摘要值为:68e6fc6a49e5dca5f0aa4b4a511101215d00e4bfca5a910c346cd71587e29fe3

问题八、请依据案例文件解析PDF文件签名原文,并验证PDF文件原文摘要值的一致性。提示:摘要值为:c046f7eb54839d9c6ce799e4199d763419935ea3dca4a8775b3137ed2efe3408

前置知识:

使用的工具:

010 editor

Ans.1 Editor 下载地址: https://www.sysadmins.lv/blog-en/asn1-editor-wpf-edition.aspx

在线签名验签工具: https://const.net.cn/tool

这里我使用010 editor打开pdf文档,发现内容有一大串以3082开头的hex数据,将数据拷贝出来。

注:对于一些特殊字符需要敏感,一般DER编码格式的数字证书前4位为3082。

3082324906092a864886f70d010702a082323a30823236020101310f300d06096086480165030402010500300b06092a864886f70d010701a0821027308204eb308203d3a00302010202102015044b2bcdbc749cd57c7c5e4f8efe300d06092a864886f70d01010b0500305b310b300906035504061302434e3130302e060355040a0c274368696e612046696e616e6369616c2043657274696669636174696f6e20417574686f72697479311a301806035504030c1143464341204964656e74697479204f4341301e170d3232313230363036313133325a170d3235313231373036343732355a3078310b300906035504061302434e3112301006035504080c09e5b9bfe4b89ce79c813112301006035504070c09e6b7b1e59cb3e5b882312d302b060355040a0c24e99bb6e4bfa1e68a80e69cafefbc88e6b7b1e59cb3efbc89e69c89e99990e585ace58fb83112301006035504030c09e78e8be9ab98e58d8e30820122300d06092a864886f70d01010105000382010f00……..

由于数据太长,这里我就省略后面内容,各位师傅自行拷贝,直到0000000>处结束。拿到上述数据值,保存为txt文件,使用Ans.1查看器进行打开。

Ans.1

Ans.1是一种对数据进行表示、编码、传输和解码的数据格式,常见的CA证书、PEM、CER、PFX等均采用Ans.1编码。Ans.1编码由Type+Length+Value三段内容组成,即数据类型+数据长度+数据内容三个字段。

数据类型+标识符

数据类型 十六进制标识
INTEGER(整数) 02
BITSTRING(由任意的0和1构成的字符串) 03
OCTETSTRING(由八比特值构成的字符串,类似于比特数组) 04
NULL空值 05
OBJECTIDENTIFIER(对象标识符,由一系列的整型序列组成) 06
SEQUENCE(一个有序的类型集合) and SEQUENCE OF(一个给定类型的有序集合) 10
SET(一个无序的类型集合) and SETOF(一个给定类型的无序集合) 11
PrintableString(由任意的可打印字符构成的字符串) 13
T61String(由八比特字符构成的字符串) 14
IA5String 16
UTCTime(GMT时间值) 17

通过Ans.1编码格式解析数字证书

1.证书版本号

2.证书序列号

3.签名算法

4.CA机构

5.证书有效期

6.证书主体信息

7.证书公钥

8.扩展字段

问题一解答:

有了上述知识我们就可以回答问题一的内容,寻找6个证书,前面我们获取到Contents的数据,保存为txt文件,用Ans.1 editor编辑器打开。

第一个证书王高华.cer:

寻找3082开头树状结构,其中含有上述我们说到的字段

将其高亮的hex数据拷贝出来,进行base64转换,保存base64值为1.cer后,打开后找到第一个证书。

第二个证书CFCA Identity OCA.cer:

将第一个树状图隐藏后,同上方式一样获取第二证书。

第三个证书CFCA Identity CA.cer

第四个证书CFCA Identity OCA OCSP20230710.cer:

第五个证书Sectigo RSA Time Stamping Signer #4.cer:

第六个证书Sectigo RSA Time Stamping CA.cer:

问题二解答:

给定了一个签名值信息,

千百度
© 版权声明
THE END
喜欢就支持一下吧
点赞6 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容