【问题标题】:Take an existing certificate and manipulate the contents获取现有证书并操作内容
【发布时间】:2017-02-10 13:19:48
【问题描述】:

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

是否存在允许我执行此操作的现有功能 (Java)?

【问题讨论】:

  • X509V3CertificateBuilder 是最接近您想要的东西。您可以从原始证书复制您想要的字段。一旦您更改任何内容,签名将不再有效,但如果您只是在做实验,您可以使用自己的私钥对修改后的证书进行签名。
  • 查看github.com/sensepost/apostille - 克隆一个或多个 X509 证书(链)的工具

标签: java x509certificate bouncycastle x509


【解决方案1】:

我不确定您是否真的可以做到这一点...此类证书的部分好处是它们不能被篡改和修改。

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

我可能在这个问题上错了,但我不知道这样做。

【讨论】:

    【解决方案2】:

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-11-24
      • 2021-04-27
      • 1970-01-01
      • 1970-01-01
      • 2016-06-22
      • 1970-01-01
      • 2011-11-21
      相关资源
      最近更新 更多