簡単に言えば、私の上司は、私たちが作成した多くのアプリケーションでシングルログインを使用したいと考えており、このニーズのために CAS を試しています。
SSO として CAS をインストールしようとしています。Java bin の keytool から jks ファイルを生成します。いくつかのサービスを追加しようとするまで、ログインとログアウトは正常に機能します。
https://localhost:8443/cas/services/j_acegi_cas_security_check?ticket=ST-2-Ts4EoUqKfeGOGGi1XbXq-cas01.example.org
このエラーが出ます:
java.lang.RuntimeException: javax.net.ssl.SSLHandshakeException: java.security.cert.CertificateException: No name matching localhost found
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:341)
org.jasig.cas.client.util.CommonUtils.getResponseFromServer(CommonUtils.java:305)
org.jasig.cas.client.validation.AbstractCasProtocolUrlBasedTicketValidator.retrieveResponseFromServer(AbstractCasProtocolUrlBasedTicketValidator.java:50)
org.jasig.cas.client.validation.AbstractUrlBasedTicketValidator.validate(AbstractUrlBasedTicketValidator.java:207)
だから私はグーグルでこのことを試してみましたが、それでも失敗しました:
最初にこのコマンドを実行すると成功しました:
keytool -genkey -alias localhost -keyalg RSA -keystore C:\Users\User\Documents\keystore.jks -keysize 2048
keytool -certreq -alias localhost -keystore C:\Users\User\Documents\keystore.jks -file C:\Users\User\Documents\localhost.csr
jksファイルをJavaにインポートする
keytool -import -trustcacerts -alias localhost -keystore "C:/Program Files/Java/jdk1.7.0/bin/jre/lib/security/cacerts" -file "D:\apache tomcat 6\bin\keystore.jks"
しかし、エラーが出ます:
keytool error: java.lang.Exception: Input not an X.509 certificate
また、x509ファイルを生成してみてください
openssl x509 -in "C:\Users\User\Documents\localhost.csr" -out "C:\Users\User\Documents\localhost.der" -outform DER
しかし、このエラーが出ます:
unable to load certificate
24516:error:0906D06C:PEM routines:PEM_read_bio:no start line:.\crypto\pem\pem_li
b.c:696:Expecting: TRUSTED CERTIFICATE
私が試すことができる解決策があればアドバイスをお願いします。
PS:Windows 8 64ビットでTomcat 6を使用しています。(そのため、他の場所で使用すると機能しないため、常にドキュメントフォルダーを使用します)