签合同前先问三句:这份数字签名真能验出问题吗
上周帮一位做采购的签合签名朋友看合同,他把 PDF 拖进阅读器,同前指着右上角一行小字说:“你看,先问这儿写着已签名,句份没问题吧?数字”我让他点开那行字,签名属性里写着“签名有效性未知”,验出证书链还断了一截。问题他愣了半天:“那这算签了还是签合签名没签?”这个问题,比“怎么签”更值得先弄明白。同前
数字签名不是先问一枚盖章图片,它把文件内容、句份签名者身份和签名时间绑在一起,数字任何一处对不上,验出验证就会报警。问题但报警的签合签名方式很安静:有的软件只显示一个灰色问号,有的干脆把异常折叠进二级菜单。所以在动手签、或者接收别人签好的文件之前,先问自己三个选择问题,比急着点“签名”按钮有用得多。
第一问:这份文件签完之后,还会不会被人改
数字签名的核心承诺是“签完即冻结”。一旦文件被改动一个空格,验证就会失败。反过来说,如果你明知这份文件后面还要反复编辑、还要别人填字段、还要走多轮会签,那就别急着做最终签名。
我见过一个反例:某公司用带签名的 PDF 发报价单,客户在空白处手写批注后扫描回传,销售再把扫描件当成“已签合同”归档。结果年底审计时,法务打开原件一看,签名早已失效,因为扫描件是新的文件,跟原签名毫无关系。正确做法是分清两件事:需要锁定的定稿版本做签名;需要协商的过程稿另存副本,别在同一份文件上反复折腾。
判断标准很朴素:问一句“这份文件从今往后还会不会有人往里填字、改数、换附件”。答案是会,就先别签,或者先约定好哪一版才算定稿。数字签名的价值在于锁定,不在于方便修改。
第二问:签名证书是谁发的,过期了没有
很多人只盯着“有没有签名”,不看“谁在担保这个签名”。打开签名属性,通常能看到证书颁发机构、证书有效期和证书链状态。这三项里任何一项不对劲,签名的证明力都要打折扣。
证书过期是最容易被忽略的一种。签名当时证书有效,验证时证书已过期,不同软件的处理不一样:有的仍判定签名有效但提示证书过期,有的直接标红。这不一定是伪造,但意味着你需要额外核对签名时间戳——如果签名带了可信时间戳,能证明“签的时候证书还有效”,问题就小很多;如果没有时间戳,只凭一个过期证书,说服力就弱。
还有一种情况是自签名证书。自己生成的证书可以用来内部流转、测试流程,但它不构成对第三方的身份担保。拿自签名证书去签对外合同,对方验出来“不受信任的颁发者”,解释起来很麻烦。所以第二问的落点是:对外文件用受信任机构颁发的证书,内部文件可以用自签名,但要在流程里写清楚用途边界。
这里也是数字签名最容易被忽略的细节之一:签名面板上那个“有效”字样,往往只说明文件没被改过,不说明签名人身份已被核实。两件事要分开看。
第三问:验证环境和你签字的环境是不是同一套
有人在自己电脑上签完,发给对方,对方打开却提示“签名无效”。第一反应是文件被篡改,其实更常见的原因是证书链没装全,或者对方用的阅读器不认这种签名格式。
我建议在正式发出前做一次“换机验证”:把文件发到自己另一个设备,或者请同事用不同软件打开,看签名状态是否一致。如果只在某一台机器上显示有效,那这份签名的可移植性就有问题。核对表可以很短:签名属性里证书链是否完整、是否带时间戳、换一台机器打开是否仍显示有效、对方常用的阅读器版本是否支持。四项都过,再发出去。
还要注意一个操作习惯:别在签名之后又用“另存为”或在线压缩工具处理文件。某些工具会重写 PDF 结构,签名随之失效。签名应放在流程的最后一步,前面该改的都改完。
什么时候不该签、不该改、不该装
不该签的情形:文件还在协商、证书来源不明、对方要求你先签再补授权文件。这三类情况下,先停下来问清楚,比事后解释省事。
不该改的情形:已经完成的签名文件,不要为了“加个备注”去编辑再保存。需要补充内容,另出一份补充说明,两份文件各自签名,关系反而清楚。
不该装的情形:来源不明的“签名助手”“证书导入工具”。证书和私钥的安装涉及身份凭证,装错工具可能把私钥暴露出去。需要装证书,走单位 IT 或证书颁发机构的官方指引,别从聊天群里接安装包。
回到开头那位朋友,他最后没有直接采信那行小字,而是让对方重新用有效证书签了一版,并附上时间戳。事情不大,但省掉了后面扯皮的可能。数字签名不难用,难的是在点下按钮之前,愿意多问那三句。