2

さまざまな場所から受け取った証明書とプライベートキーを持っています。これらの2つの抽象オブジェクトだけが与えられた場合、証明書が関連付けられていること、または指定されたPrivateKeyの証明書であることを確認できますか?

これらがRSAキー用であるかどうかを理解し、RsaPublicKey / RsaPrivateKeyにキャストして、指数とモジュラスが一致することを確認できますが、ECDSAの場合はどうなりますか?他のタイプはどうですか?

最終的に、証明書を証明書チェーンとして使用してキーをキーストアに格納したいと思います。別のキーから証明書を使用してキーをロードしようとすると、例外がスローされるか、何らかのエラーが発生することが予想されました。しかし、それは問題ではないようですか?

4

2 に答える 2

1

まず、確かに、秘密鍵を使用してランダムなデータブロックに署名し、公開鍵を使用して検証することができます。公開鍵は証明書の一部です。これは、すべての署名アルゴリズムで機能します。

また、秘密鍵構造に一致する公開鍵が含まれていることもよくあります。確認する必要があります。一致するキーの検索が簡単になります。

于 2011-07-18T22:40:55.713 に答える
-2

秘密鍵を持ってはいけません。それは私用です。必要なのは公開鍵だけです。次に、Certificate.verify(PublicKey key)を介して証明書を検証します。

あなたに秘密鍵を与えた人は誰でも、彼らのセキュリティを致命的に危うくしました。新しい秘密鍵や署名付き証明書などを作成して展開し、以前の鍵の使用をすべて停止する必要があります。また、新しい秘密鍵を秘密にしておく必要があります。

于 2011-07-19T00:24:15.780 に答える