テストアカウントで接続確認する
1.httpdとJettyの再起動
接続確認前にhttpdとJettyを再起動します。
# systemctl stop jetty
# systemctl restart httpd # systemctl start jetty
2.テストSPにアクセス
テストSPにアクセスしログインを行ってください。学認のテストSPは技術ガイドに記載しています。テストフェデレーションと運用フェデレーションで利用するSPが異なりますのでご注意ください。
テストSPにアクセスしたら、画面中央の「接続テスト」ボタンを押下してください。
3.DSのIdP選択画面が表示
DSのIdP選択画面から構築したIdPを選択します。
※学認DSについての注意点:
一度選択したIdPが表示されている状態で、別のIdPを選択したい場合は、
「リセット」リンクをクリックすると選択可能な全てのIdPが表示されます。
4.ログイン
設定したIDとPasswordを利用してログイン
・接続確認用ユーザ情報は、以下のようになっています。
ID:test001、パスワード:test001
ID:test002、パスワード:test002
ID:test003、パスワード:test003
何れかを使用して、ログインしてください。
ID, パスワードを入力してログインした後、IdPv3の標準機能となった送信属性同意画面が表示されます。
Acceptをクリックして表示される環境変数に、IdPで公開するように設定した値(LDAPに保存されている eduPersonPrincipalNameなど)が含まれていることを確認します。
これが、SPへ送信したユーザの属性情報となります。
表示例)
phpinfoの場合
PHP Variables
variable | value |
_SERVER["unscoped-affiliation"] | faculty |
5.メタデータ署名検証が正常に機能していることの確認
metadata-providers.xmlに設定した取得するメタデータを改竄されたものに変更して、適切に署名検証が失敗することを確認してください。
metadata-providers.xmlの以下の部分を修正し、Tomcatを再起動してください。(元がgakunin-test-metadata.xmlの場合はgakunin-test-metadata-tampered.xmlに修正してください)
<MetadataProvider id="HTTPMetadata"
xsi:type="FileBackedHTTPMetadataProvider"
backingFile="%{idp.home}/metadata/localCopyFromXYZHTTP.xml"
metadataURL="https://metadata.gakunin.nii.ac.jp/gakunin-metadata-tampered.xml">
メタデータの署名検証に失敗した場合には、IdPのログファイル(/opt/shibboleth-idp/logs/idp-process.log)に以下の様なメッセージが出力されます。
11:44:03.060 - ERROR [org.opensaml.saml2.metadata.provider.SignatureValidationFilter:311] - Signature trust establishment failed for metadata entry URLMD 11:44:03.067 - ERROR [org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider:393] - Error filtering metadata from https://metadata.gakunin.nii.ac.jp/gakunin-metadata-tampered.xml org.opensaml.saml2.metadata.provider.FilterException: Signature trust establishment failed for metadata entry at org.opensaml.saml2.metadata.provider.SignatureValidationFilter.verifySignature(SignatureValidationFilter.java:312) ~[opensaml-2.5.3.jar:na] (...略...) 11:44:03.071 - ERROR [org.opensaml.saml2.metadata.provider.AbstractMetadataProvider:411] - Metadata provider failed to properly initializing, halting org.opensaml.saml2.metadata.provider.MetadataProviderException: org.opensaml.saml2.metadata.provider.MetadataProviderException: Error filtering metadata from https://metadata.gakunin.nii.ac.jp/gakunin-metadata-tampered.xml at org.opensaml.saml2.metadata.provider.AbstractReloadingMetadataProvider.refresh(AbstractReloadingMetadataProvider.java:266) ~[opensaml-2.5.3.jar:na] (...略...) 11:44:03.073 - ERROR [edu.internet2.middleware.shibboleth.common.config.BaseService:188] - Configuration was not loaded for shibboleth.RelyingPartyConfigurationManager service, error creating components. The root cause of this error was: org.opensaml.saml2.metadata.provider.FilterException: Signature trust establishment failed for metadata entry
検証に失敗した場合、起動に失敗しますのでIdPで認証しようとすると代わりにエラー画面(HTTP Status 404)が表示されます。また、この時点でバッキングファイルは改竄されたもので上書きされていますので、バッキングファイルを使って復旧することもできません。
バッキングファイルは /opt/shibboleth-idp/metadata/localCopyFromXYZHTTP.xml にあります。
確認後は、設定を元に戻すのを忘れないでください。