SignedCms.CheckSignature()以新的证书 - >新的序列?
-
12-09-2019 - |
题
我使用
SignedCms.CheckSignature(certColl,真)
(只有一个在certColl证书)来验证PKCS-7消息的签名。我的问题是,我不想改变我的服务器上的签名者证书(的公共部分)签名者已经更新他的证书:-(公钥,颁发者和使用者都保持不变签名者已经更新了他的证书后了!所以这有工作 - 至少在我看来,即使我可不是一个加密怪胎:-)
..但是,不幸的是,.NET框架在抛出一个异常加密“无法找到原始签名人”之类的堆栈跟踪准确说:
SignerInfo.CheckSignature(X509Certificate2Collection extraStore,布尔verifySignatureOnly)
此必须是由于签署证书的序列号已经改变,并且所述SignerIdentifier属性是只读,并设置为IssuerAndSerialNumber。
有谁知道如何解决办法呢?
或我实施“手工制作”的签名与某物像核实:signedMessage.ComputeSignature(签名者,FALSE)
?预先感谢和快乐编程, Krile
解决方案
有关所有感兴趣的关于这个问题:
有人告诉我,这是由于PKCS#7规范,其中指出,执行subjectKeyIdentifier总是被设置为IssuerAndSerialNumber。
不隶属于 StackOverflow