2012-04-09 23 views
1

ピアツーピアアプリケーションを作成しています。単純な対称暗号化を実装したいと思います。javaソケットを使用した単純な対称暗号化の実装

私はこれを行う方法の良い例を探していますが、無料であればどのライブラリを使用しても構いません。

好ましくは、すべての暗号化はソケットレイヤーで行われるため、コードを変更する必要はありません。

誰かがこのような例を提供できますか?

答えて

3

JavaがすでにSSL Socketsが付属しています。暗号化を手動で実装する必要はありません。ソケットは、すべてを単独で処理します。

+1

JavaでSSLを使用してコードを書く方法を知るには、このページをご覧ください:http://igorpolevoy.com/public/Wiki.jsp?page=JavaSecurity – ipolevoy

+0

私はSSLを考えています。私は必要と考えています事前共有キーのみを使用して証明書を必要としないSSLソケットを使用することは可能ですか? – Michael

1

Java暗号化ビルドはありません。Java暗号化アーキテクチャ(JCA)& Java暗号化拡張(JCE)?

http://docs.oracle.com/javase/1.4.2/docs/guide/security/CryptoSpec.html#ProviderArch

のJava暗号化拡張機能(JCE)は 暗号化するためのAPI、鍵交換、およびメッセージ認証コード (MAC)を含むようにJCA APIを拡張します。 JCEおよびSDK の暗号化の側面は、プラットフォームに依存しない完全な暗号化APIを提供します。

ここでは、JavaでAESを使用する方法の例です:

http://java.sun.com/developer/technicalArticles/Security/AES/AES_v1.html

JCEフレームワークは 異なる暗号化アルゴリズムを使用するための非常に強力で柔軟なフレームワークです。新しい 暗号アルゴリズムに同じフレームワークを使用できるようにするプロバイダ アーキテクチャに基づいています。開発者の観点から言えば、これは抽象度がより高いレベルの を意味し、 のアルゴリズムの内部動作を心配する必要なしに、新しい暗号化アルゴリズムと新しい暗号化アルゴリズムの共通のAPIセットを意味します。

他のJavaセキュリティAPIの一部 - などJSSEなど - はJCEの上に実装し、異なる 暗号化アルゴリズム(暗号、メッセージ認証コード (MACS)、及び鍵交換を作ってそれを補完していますアルゴリズム)を利用することができます。

また、Kristian Antonsen mentionedとして、SSLSocketをチェックしてください。


とにかく、ここで別のJava暗号化ライブラリです:

http://bouncycastle.org/java.html

関連する問題