私は、他のベンダーとの統合を可能にするためにシングルサインオンソリューションを開発中です。公開鍵/秘密鍵の認証と署名
私の研究しているように、1つのことは常に私を混乱させています。
パブリック/プライベートキーについての私の理解は、データは常にベンダーの公開キーで暗号化され、プライベートキーを使用して解読されるということです。ここまでは順調ですね。
しかし、メッセージが本当に私から来ていることを確認するために、私はメッセージのハッシュを計算し、自分の秘密鍵でハッシュを暗号化します(このプロセスは署名とも呼ばれます)。メッセージが私から来ていることを確認するために、ベンダーは私の公開鍵を使ってハッシュを解読し、それを暗号化されていないハッシュと比較します。一致すれば、ベンダーはそれが私のものであると確信することができます。
私の秘密鍵はどのようにしてメッセージを暗号化するのですか。公開鍵でメッセージをどのように復号化できますか?私は非対称キーがそれを許さないと思った..!すなわち、公開鍵は常に暗号化され、秘密鍵は常に復号化される。すべての説明は非常に高く評価されます..!
はい、ルート証明書も同様に機能します。ブラウザは、サーバーに送信された証明書を、ブラウザにインストールされているルート証明書と照合して検証します。ルートCA公開鍵は、証明書の「暗号化された」公開鍵を復号化するために使用されます。しかし、秘密鍵の暗号化は署名などにのみ使用し、実際のビジネスデータは常にベンダーの公開鍵を使用して暗号化する必要があると言うのは間違いありません。 –
さて、ルート証明書はRSA暗号(http://en.wikipedia)の概念に基づいています。org/wiki/RSA_(アルゴリズム))を参照してください。しかし、秘密鍵で暗号化するためにビジネスデータを使用することもできます。通常、それはあなたが記述した通りです。しかし、鍵を使って理論的に何かを解読し暗号化することはできます。 – blacklwhite