IThaiのブログ

IT関連の話題やタイに関する様々なことを書いていきます。

JSSE(Java Secure Socket Extension)を使いSSL通信する - キーストアのインポート

前回のエントリでSSLとは何か、またSSL通信に関わる用語について簡単に書きました。

今回はJSSEについて調べてみます。

JSSE とはJavaのSSLおよびTLSプロトコルのフレームワークおよび実装を提供し、データ暗号化、サーバー認証、メッセージの整合性などの機能が含まれるので、JSEEを使えば簡単にSSL通信が実装できますよ、ということ。

JSSEではキーストア、トラストストアというものが必要になります。

・キーストア
自らが作成したサーバー証明書を保存するもの
・トラストストア
CA(認証局)が発行したルート証明書・中間証明書など自らが信頼する証明書を保存するもの

SSL通信をするには、あらかじめ自身のトラストストアにサーバー証明書(キーストア)を保存しなければなりません。

以下を参考にキーストアからトラストストアにインポートしてみます。

インポートに使用するのはJDK付属のkeytoolコマンドになります。
また、手元にあるキーストアはpkcs12というタイプです。

SunのJDKの場合、デフォルトのトラストストアファイルが「$JAVA_HOME/jre/lib/security/cacerts」に用意されています。

#  keytool -importkeystore -srckeystore ca.p12 -srcstoretype pkcs12 -destkeystore cacerts
出力先キーストアのパスワードを入力してください:
新規パスワードを再入力してください:
ソースキーストアのパスワードを入力してください:
別名 1 のエントリのインポートに成功しました。
インポートコマンドが完了しました:  1 件のエントリのインポートが成功しました。
0 件のエントリのインポートが失敗したか取り消されました

これでSSL通信をする準備が整ったので、
次回はJSSEを使って実装してみます。

Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまで

Javaで作って学ぶ暗号技術 - RSA,AES,SHAの基礎からSSLまで