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月25日火曜日
2013年6月23日日曜日
ORA-12519 オラクルエラー
oracle XE でエラー
ORA-12519, TNS:no appropriate service handler found
おそらくセッション数が足りてないとかだろう トランザクションを何個も使うことしてたので。
根本的にはトランザクション減らすほうがよいけど めんどくさいのでオラクルのパラメータ変更にて対応
sqlplus sys/pass as sysdba
SQL> ALTER SYSTEM SET PROCESSES=150 SCOPE=SPFILE
SQL> shutdown immediate
SQL> startup
2008年の情報なので違うかもしれないけど下記が書かれていた processは 「Oracleに同時に接続できるオペレーティングシステムのユーザプロセスの最大数」 (開発してるWebアプリとかcseとかObjectBlowserとか) sessionsは 「Oracle に同時に接続できるセッションの最大数」 (process + Oracleが内部的に使用する接続数) デフォルトの初期値は sessions = 1.1 × process + 5
ついでによく忘れる画面の表示文字数 set linesize 200
おそらくセッション数が足りてないとかだろう トランザクションを何個も使うことしてたので。
根本的にはトランザクション減らすほうがよいけど めんどくさいのでオラクルのパラメータ変更にて対応
sqlplus sys/pass as sysdba
SQL> ALTER SYSTEM SET PROCESSES=150 SCOPE=SPFILE
SQL> shutdown immediate
SQL> startup
2008年の情報なので違うかもしれないけど下記が書かれていた processは 「Oracleに同時に接続できるオペレーティングシステムのユーザプロセスの最大数」 (開発してるWebアプリとかcseとかObjectBlowserとか) sessionsは 「Oracle に同時に接続できるセッションの最大数」 (process + Oracleが内部的に使用する接続数) デフォルトの初期値は sessions = 1.1 × process + 5
ついでによく忘れる画面の表示文字数 set linesize 200
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
もともと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
opensslにてCA証明書作成
CA.sh -newcaでうまくいかないので以下で対応
# mkdir -p demoCA/private
# mkdir -p demoCA/newcerts
# touch demoCA/index.txt
# touch demoCA/serial
# echo 00 > demoCA/serial
# openssl req -new -x509 -newkey rsa:2048 -out cacert.pem -keyout private/cakey.pem
openssl.confにてpolicy_matchをすべてoptionalにすればfiledが一致してなくても
うまくいく
参考
http://d.hatena.ne.jp/marmotte/20100203
サーバ証明書への署名
openssl ca -keyfile cakey.pem -cert cacert.pem -in server.csr -out server.crt
参考
http://www.ksgmt.com/article/java/javassl_clientcert.html
# mkdir -p demoCA/private
# mkdir -p demoCA/newcerts
# touch demoCA/index.txt
# touch demoCA/serial
# echo 00 > demoCA/serial
# openssl req -new -x509 -newkey rsa:2048 -out cacert.pem -keyout private/cakey.pem
openssl.confにてpolicy_matchをすべてoptionalにすればfiledが一致してなくても
うまくいく
参考
http://d.hatena.ne.jp/marmotte/20100203
サーバ証明書への署名
openssl ca -keyfile cakey.pem -cert cacert.pem -in server.csr -out server.crt
参考
http://www.ksgmt.com/article/java/javassl_clientcert.html
登録:
投稿 (Atom)