2017-02-10 4 views
0

既存のX509証明書を取得し、正確なコピーを作成し、テスト目的で内容を変更するにはどうすればよいですか?私が変更したいものは、署名を無効にする、サブジェクトフィールドの一部を変更する、証明書ポリシー拡張フィールドを変更する、基本制約拡張フィールドを変更する、期限切れにするなどです。私はこれを行うことができます(Java)?既存の証明書を取得して内容を操作する

+2

を使用することができます。[X509V3CertificateBuilder](https://www.bouncycastle.org/docs/pkixdocs1.5on/org/bouncycastle/cert/X509v3CertificateBuilder.html)は、欲しいです。元の証明書から必要なフィールドをコピーすることができます。一度変更すると、署名は無効になりますが、実験をしている場合は、自分の秘密鍵で変更した証明書に署名することができます。 –

答えて

0

証明書は、発行認証局(または自己署名)によってデジタル署名されています。コンテンツを変更すると署名が無効になりますので、既存の証明書のコピーを作成して属性を変更する場合は、新しい署名が必要です

秘密鍵を所有している場合は、同じ公開鍵ですが、フィールドは異なります。自分のCAで署名することもできますし、自己署名されたCAで署名した場合は、秘密鍵で署名してください。

テストの目的で、bouncycastleで独自の証明書を作成することができます。たとえば、コードSelf signed X509 Certificate with Bouncy Castle in Java

2

実際にこれを行うことができるかどうかはわかりません。これらのような証明書の利点の一部は、改ざんや変更ができないことです。

代わりに独自のテストを作成することはできますか?おそらく既存のものを修正しようとする方が簡単でしょう。

私は間違っているかもしれませんが、私はこれをやっていることに気づいていません。

関連する問題