10

外部の承認済みクライアントに Web サービスを公開する Java アプリを作成しました。Web サービスは、WS-security と証明書認証を使用します。基本的に、私たちはカスタム認証局として機能します。サーバー上に Java トラストストアを維持し、クライアントの証明書に署名して追加します。現在、WS クライアントが証明書署名要求をアップロードする必要がある手動登録プロセスがあります。CSR に署名し、コマンド ラインから keytool を使用して Java トラストストアに証明書を追加し、CA 証明書と共に署名済み証明書をクライアントに返します。次に、クライアントは秘密鍵を使用して SOAP メッセージ ペイロードに署名し、署名付き証明書をメッセージに埋め込みます。サーバー側はデジタル署名を復号化し、埋め込まれた証明書が署名されていること、およびクライアントの要求を満たす前にトラストストアと一致することを確認します。

(手作業のため) 多少の痛みはありますが、このセットアップは正常に機能しています。ルート CA 証明書が間もなく期限切れになることに気付きました。そのため、メンテナンス ポリシーの設定を検討しています。自己署名ルート CA 証明書を更新するにはどうすればよいですか? 新しいものを作成してオリジナルを置き換える必要があるようです。これは、すべてのクライアントが新しい証明書を受け取り、新しい CA 証明書をインポートする必要があることに影響します。それは正しい理解ですか、それとも状況を処理するためのより良い方法があるかどうか?

問題がある場合は、openssl を使用して元のキー ペアを生成しました。

openssl req -x509 -newkey rsa:1024 -keyout cakey.pem -out cacert.pem -config openssl.cnf
4

1 に答える 1

2

ルート CA で同じ秘密鍵を保持すると、すべての証明書が新しいルートに対して引き続き正常に検証されます。必要なのは、新しいルートを信頼することだけです。

より詳しい情報

于 2012-11-07T08:04:50.547 に答える