2012-01-04 7 views
2

java.security.certのX509certificateクラスを見ると、getExtendedKeyUsage()getKeyUsage()のようなメソッドがあります。 keytoolを使ってこれらの値を設定する方法はありますか?keytoolを使用して使用属性を設定する方法

+0

現在の証明書(私が想定していたもの)のために何かを変更しようとしているのですか、またはBrunoが正しく新しい証明書にこれを使用できると推測していますか? –

答えて

4

-extkeytool in Java 7ためのオプション。KUEKUオプション特に、-extドキュメント下の表を確認してください。

(注)通常、JREの他のバージョンでのJava 7のkeytoolで扱う生産ストアを/使用することができます(を含みますJava 6)

もちろん、これは生成する証明書要求(この場合、使用するCAはCSRの一部のコンテンツを無視または変更することがあります)または発行した証明書(つまり、あなたはCAです)。既存の証明書を変更することはできません。

0

もしあれば、私はそれを見たことがなく、私はちょうど(おそらく非常に)JDKにチェックした。重要な使用法は、署名された属性(クリティカルな拡張子)である必要があるので、発行CAの署名を破るため、一般的に変更することはできません。特定のアプリケーション(属性は別に保存されていますが、Javaキーストア内の関数ではありません)は、X509標準と互換性がないため変更できません。

+1

"署名された属性(クリティカルな拡張子)"。署名付き属性と重要な拡張子は同じではありません。すべての属性(およびX.509証明書の内容全体)は、発行CAによって署名されます。拡張が重要であるかどうかは異なります。これは、CAが消費者にこの特定の拡張を理解しなければならないことを伝える方法です。 – Bruno

+0

@Brunoあなたは当然ですが、&に変更されました。投稿時に少し眠そうです - 私は著者が既存の証明書を変更しようとしていると仮定していました。 –

0

このオプションはkeytool -ext EKU = codeSigning のようですが、個人的にまだ試していません。

関連する問題