我有大量的自签名证书,这些证书目前正被多个客户端使用,这些证书在创建时使用了SHA1 (在cert中显示的‘SHA1WITHRSA’)算法。
我的老板要求我考虑与SHA2 (256号)重新签署这些文件,而不是重新生成一个新的密钥,然后与SHA2自签,因为这将是一个后勤噩梦。我们曾经是我们自己的CA,如果所有的密钥都由我们签名,这将使这成为可能,但我们停止了这样做,并刚刚开始发放自签名证书。
我不确定这是否可能。我们可以很容易地访问用于生成原始(自)签名的客户端站点上的私钥(S),但是,由于我不是密码专家,我不知道一旦(公开的)密钥被自签名,是否有可能以某种方式分离该签名,以及( 2)用新生成的私钥替换它,就像第一次生成和签名密钥一样。
一个更精通密码的人能对此有所了解吗?
发布于 2017-03-02 23:25:37
是的,您可以这样做,但是您也需要更改签名生成算法的OID。这可能需要一些更高级的ASN.1解码和重新编码。这很可能比计算签名更有问题。
显然,证书的指纹也会改变(因为这仅仅是在证书的二进制编码上)。因此,如果证书被放置在信任存储中,请注意这一点。
https://crypto.stackexchange.com/questions/44357
复制相似问题