获取现有证书并操纵内容

时间:2017-02-10 13:19:48

标签: java x509certificate bouncycastle x509

如何获取现有的X509Certificate,制作完整的副本并更改内容以进行测试?我想改变的一类是使签名无效,更改主题字段的部分,更改证书策略扩展字段,更改基本约束扩展字段,将其设置为已过期等。

是否有允许我这样做的现有功能(Java)?

2 个答案:

答案 0 :(得分:2)

我不确定你是否能真正做到这一点......这些证书的部分好处是它们不会被篡改和修改。

你能不能只创建自己的测试版?尝试修改现有文件可能会更容易。

我可能错了,但我不知道这样做。

答案 1 :(得分:0)

证书由颁发证书颁发机构(或自签名)进行数字签名。对内容的任何更改都将使签名无效,因此如果您复制现有证书以更改某些属性,则需要新签名

如果您拥有私钥,则可以使用相同的公钥向CA申请新证书,但具有不同的字段。您也可以使用自己的CA对其进行签名,或者如果是自签名的CA,请使用私钥对其进行签名。

出于测试目的,您可以使用bouncycastle构建自己的证书。例如,您可以使用Self signed X509 Certificate with Bouncy Castle in Java

的代码