Java で自己署名証明書を処理する方法について何度も問題が寄せられており、実装が提供されることがよくあります。ただし、これらの実装によって、求めているセキュリティ/信頼が得られるかどうかはわかりません。
私の状況は次のとおりです。サーバー アプリケーションに接続するクライアント プログラムがあります。これらの両方を完全に制御できます。クライアントが https を使用してストリームをサーバーの URL に投稿し、サーバーが応答します。現在(これは私が修正しようとしているものです)、サーバーには自己署名証明書があります。Java はこれを好まないため、テストのみを目的として、証明書を信頼することで証明書を完全に無視しています。
SSLについての知識はほとんどありません。私の上司は、自己署名証明書を使用することができ、暗号を作成しない限り安全であると言っています。キー公開。これは私には正しいように思えますが、自己署名証明書は中間者攻撃に対して自動的に脆弱であると多くの投稿が述べています。これは、SSL が暗号を送信することを意味しますか。証明書と一緒にキー?
両端を制御できるので、秘密鍵を使用してデータを自分で暗号化し、最後に鍵を使用して復号化する必要がありますか? または、SSL を使用する理由はありますか?