flytkgl / PDFQFZ

PDF加盖骑缝章的小工具
1.43k stars 176 forks source link

新版本自签名盖章出错 #4

Closed btwise closed 2 years ago

btwise commented 2 years ago
  用你最后更新的版本,X509Certificate2方法数字签名使用自签名生成的证书无法正确盖章,上一版本的Pkcs12Store好像没有问题,能否修正一下 !

32d2b03ec9e837bb829a742b93b3582 5bcaf164051a95d852444f94b0d689c

flytkgl commented 2 years ago

我感觉是你.net的问题,要.net4.7.2版本以上才支持生成证书,推荐.net4.8

btwise commented 2 years ago

我感觉是你.net的问题,要.net4.7.2版本以上才支持生成证书,推荐.net4.8

你是指我电脑里的.NET环境还是项目的.NET环境? 我测试的是你编译好的,也是这个提示啊,我电脑是WIN11系统,有4.8啊

btwise commented 2 years ago

证书可以生成,这个pfx文件也能导入到系统证书区域,但是即使单独指定它来盖章,也是那样的提示,但是用其它软件生成的证书,指定后是可以正确盖章的,也就是说代码生成证书可以生成,但盖章是出错

flytkgl commented 2 years ago

难道我版本上传错了,我重新上传个看下

btwise commented 2 years ago

难道我版本上传错了,我重新上传个看下

应该不是,因为是我自己编译后发现有这个现象,所以用你编译好的,结果一样,说明还是签名部分有点问题

flytkgl commented 2 years ago

我两台电脑测试都正常啊,你把450行的SHA1改成SHA256再编译看下

flytkgl commented 2 years ago

还有你没用管理员权限运行吧,我用管理员权限运行会报错,普通权限运行反而没问题

btwise commented 2 years ago

还有你没用管理员权限运行吧,我用管理员权限运行会报错,普通权限运行反而没问题 没有啊,我试试

btwise commented 2 years ago

还有你没用管理员权限运行吧,我用管理员权限运行会报错,普通权限运行反而没问题

我测试,管理员模式运行也是一样的问题,我在改改你说的加密方式试试

btwise commented 2 years ago

我两台电脑测试都正常啊,你把450行的SHA1改成SHA256再编译看下

试过了,也是一样,如果改成SHA256,即使使用我其他的证书,也会提示算法错误

btwise commented 2 years ago

cert = new X509Certificate2(certPath, textpass.Text, X509KeyStorageFlags.MachineKeySet | X509KeyStorageFlags.PersistKeySet | X509KeyStorageFlags.Exportable);

是不是这句生成证书的问题?百度说是权限的问题

flytkgl commented 2 years ago

不是,我改进了下数字签名方式,你再看下吧

flytkgl commented 2 years ago

我使用管理员权限运行会出现跟你一样的报错,所以我觉得还是你权限的问题

btwise commented 2 years ago

我使用管理员权限运行会出现同样的问题,所以我觉得还是你权限的问题

我用哪种方式都有这个问题,权限问题咋处理,我试试你新改的

btwise commented 2 years ago

挺奇怪,在我的笔记本上即使是用之前的代码,也可以签名,但是在公司的台式机上就不行,换了一台WIN7的机器,也是一样的现象,周一去测试,我笔记本上都可以正常工作,没法对比

flytkgl commented 2 years ago

还不行的话,你可以改回之前Pkcs12Store的方式,其实不影响的,我只是有强迫症,不想看到有循环所以才改用X509的

btwise commented 2 years ago

还不行的话,你可以改回之前Pkcs12Store的方式,其实不影响的,我只是有强迫症,不想看到有循环所以才改用X509的

所以最好搞清楚是什么原因,满足一下强迫症😁