「 http://code.google.com/p/java-use-examples/source/browse/trunk/src/com/aw/ad/util/InstallCert.java 」の InstallCert.java ファイルを使用して証明書を生成しましたJava 7(CentOS 5.9にインストールされました)。
プログラムを正常にコンパイルして実行した後、InstallCert がサーバー ホストとのハンドシェイクを試みたときに、UnsupportedOperationException を受け取りました。ウェブ上でいくつかの検索を行った後、この問題を解決する解決策を見つけました。InstallCert.java ファイルに加えた変更を見つけてください。
以下の行を置き換えました:
SSLSocket socket = (SSLSocket)factory.createSocket(host, port);
この新しい行:
SSLSocket socket = (SSLSocket)factory.getDefault().createSocket(host, port);
上記の変更を行った後、SSLSocket ハンドシェイクが成功するようになりました。しかし、SavingTrustManager インスタンスの chain() メソッドを呼び出すと、null値が返されました。このため、証明書ファイルは作業ディレクトリに生成されませんでした。
この問題を克服し、証明書ファイルを正常に生成するために誰かが助けてくれれば幸いです。
注: Java 6 では問題は発生しませんでしたが、上記の問題は Java 7 で発生しました。