簡體   English   中英

如何使用Java套接字向我自己的基於TCP的協議添加加密?

[英]How can I add encryption to my own TCP-based-Protocol using Java Sockets?

因此,我有一個有效的協議,客戶端需要使用用戶名和密碼進行身份驗證才能登錄服務器。 然后服務器和客戶端將交換消息和文件。 一切正常,我正在使用輸入/輸出流。 我還需要為會話和用戶/密碼驗證添加加密。 我不想在我的jar中存儲對稱密鑰,因此我想為此需要一個公共/私有密鑰。 我知道我可以使用公共/私有加密來發送對稱密鑰,但是我真的不知道如何在Java中做到這一點。 我想我可以只對郵件使用加密,而不對文件傳輸使用加密。

我用谷歌搜索它,發現使用Java套接字使用加密的各種方法,最好的(正確的)方法是什么? 使用CipherOutput(Input)Stream? 還是有另一種方法?

如果有人可以發布一段代碼,我將不勝感激

SSL。 請參見javax.net.ssl和《 JSSE參考指南》。

如果您時間有限,則可以使用SSH端口轉發

您將在服務器上設置防火牆規則,該規則將僅允許直接從防火牆主機訪問明文端口。

然后,在客戶端上,您將設置端口轉發SSH會話(ssh client上的-L選項)。

然后,客戶端計算機將與轉發端口上的本地主機進行純文本對話,並且所有對話都將通過SSH隧道進行加密。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM