この前書いた「RSA暗号」のエントリについて、学科の友達と話していたら、「Javaのio関連のクラスに暗号化のクラスをラッピングできたらいい感じじゃないか?」という話題が出てきたので、調べてみました。
検索で引っ掛けてみると、JavaAPIの中のページに詳細な情報がありました。
http://java.sun.com/j2se/1.4/ja/docs/ja/guide/security/CryptoSpec.html
java.securityパッケージは、RSA暗号も含めた暗号化に関するクラスが含まれています。でも、さすがにjava.io.*Streamをラッピングしたらすぐに暗号が送れるようになるというわけではなさそうです。公開鍵暗号で通信するとしたら、相手から公開鍵をもらってこないといけないし、ソケットでの通信と同じような前準備をもう一回しないとダメそうです。ioをラッピングしてくれそうなクラスは、自作しないとダメっぽいですね。
とりあえず現段階ではこうかと思いますが、本当は違うのかも。また調べてみます。
ちなみに、暗号化して通信する方法が以下のURLに記述してあったりするので、参考にしてみてください。基本的な考え方は、「暗号化→OutputStream」「InputStream→復号化」です。
コメントする