ラベル openldap の投稿を表示しています。 すべての投稿を表示
ラベル openldap の投稿を表示しています。 すべての投稿を表示

2013年6月25日火曜日

InstallCertでJREに証明書インポート

InstallCertの使い方がわかったのでちょっと書いておく

InstallCert.java

http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java

<使い方>

java InstallCert [ホスト]:[ポート]


実行すると%JAVA_HOME%/lib/security/jssecacerts を読み込む
なければcacertsを読み込み 

ホストに接続して、必要な証明書を追加したものを実行ディレクトリにjssecacertsというファイル名で
出力してくれる

なので、jssecacertsを%JAVA_HOME%/lib/security/cacertsというファイルと置き換えるとよい

これは色々使えるかも?

2013年6月22日土曜日

openldapの証明書をjavaにimport

openldap(windows)には
もともとopenldapにはsecure\certs\server.pem
という証明書がついていたのでそれをjavaでインポートする

pemはjavaでは扱えないようなのでopensslで変換する

1.
openssl pkcs8 -topk8 -nocrypt -in server.pem -inform PEM -out key.der -outform DER
openssl x509 -in server.pem -inform PEM -out cert.der -outform DER

参考
http://www.agentbob.info/agentbob/79-AB.html

 2.
上記サイトのImportKey.javaを実行
java ImportKey key.der cert.der
keystore.ImportKey が作成される


3.
証明書作成
keytool -export -alias importkey -keystore keystore.ImportKey -storepass importkey -file tomcat.cer
参考
http://apis.jpn.ph/fswiki/wiki.cgi?page=Java%2Fkeytool#p7
4.
証明書をインポート

keytool -import -storepass changeit -keystore  "%JAVA_HOME%/jre/lib/security/cacerts"  -alias localhost -file tomcat.cer


こんな感じだけどaliasとパスワードは違うかも
これでjavaでSSL通信が可能に

これ以外にも下記のやつを引数をサーバアドレスにして
を実行すると自動でcertをインポートしてくれるらしいけど たぶんそれだけでは足りない

http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java