子ページ
  • トラブルシューティング

比較バージョン

キー

  • この行は追加されました。
  • この行は削除されました。
  • 書式設定が変更されました。

...

書式設定済み
# ./bin/aacli.sh --configDir=conf/ --principal="test001" --requester="https://test-sp1.gakunin.nii.ac.jp/shibboleth-sp"
Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shibboleth.AttributeResolver': Invocation of init method failed; nested exception is edu.internet2.middleware.shibboleth.common.service.ServiceException: Configuration was not loaded for shibboleth.AttributeResolver service, error creating components.
...
Caused by: edu.internet2.middleware.shibboleth.common.service.ServiceException: Configuration was not loaded for shibboleth.AttributeResolver service, error creating components.
...
Caused by: org.springframework.beans.factory.BeanCreationException: Unable to create relational database connector, JDBC driver can not be found on the classpath
        at edu.internet2.middleware.shibboleth.common.config.attribute.resolver.dataConnector.StoredIDDataConnectorBeanDefinitionParser.buildApplicationManagedConnection(StoredIDDataConnectorBeanDefinitionParser.java:169)
...

アンカー
amplt
amplt

ローカルに配置したSPメタデータの証明書更新時のエラー

SPからの指示に従って「https://sp.example.ac.jp/Shibboleth.sso/Metadata」といったURLから取得したメタデータをIdPのローカルに配置して運用している場合、SP側の証明書更新時に取得したメタデータをそのまま利用するとエラーが発生する場合があります。(「.../Shibboleth.sso/Metadata」からダウンロードできるファイルはShibboleth SPが自動生成するメタデータです)

例えば、SPが「メタデータ記載の証明書更新手順(SP)」に従って証明書更新を行っている場合に発生する可能性があります。

  1. メタデータ記載の証明書更新手順(SP) の「1日目  SPに対して設定変更1(新証明書を暗号化用として追加)」をSPで実施すると、「.../Shibboleth.sso/Metadata」からダウンロードできるSPメタデータに新しい証明書が追加されます。新しいメタデータはShibboleth SPの設定に従ってKeyDescriptorに use="encryption" という暗号化用途のみで利用するための設定が追加されます。

    SPが自動生成するメタデータIdPのローカルに配置したメタデータ
    旧証明書 : use指定なし
    新証明書 : use="encryption"
    旧証明書 : use指定なし
  2. IdP管理者はSPが自動生成するファイルを取得して、IdPのローカルにあるメタデータを更新します。

    SPが自動生成するメタデータIdPのローカルに配置したメタデータ
    旧証明書 : use指定なし
    新証明書 : use="encryption"
    旧証明書 : use指定なし
    新証明書 : use="encryption"
  3. メタデータ記載の証明書更新手順(SP) の「X+15日目 SPに対して設定変更2(新証明書をメインにし旧証明書を暗号化用に変更)」をSPで実施します。このとき、SP, IdPで利用できる証明書の用途に不一致が発生してしまい、署名用途(use="signing")で利用できる証明書がなくなってしまいます。このため、IdPでローカルに配置したメタデータが更新されるまでの間、エラーとなることが考えられます。

    SPが自動生成するメタデータIdPのローカルに配置したメタデータ
    旧証明書 : use="encryption"
    新証明書 : use指定なし
    旧証明書 : use指定なし
    新証明書 : use="encryption"

→ この問題はSPが自動生成したメタデータをそのまま利用することにあります。 2. において、IdPのローカルに配置するメタデータから新証明書のKeyDescriptorに設定されているuse属性を削除することで、SPの設定変更に影響を受けずにメタデータの更新を行うことができます。(useを指定しない場合は暗号化用途 (encryption) 、署名用途 (signing) のどちらにも利用できるため)

→ 学認申請システムでは、上記でご紹介した手順と同じで メタデータ記載の証明書更新手順(SP) の「1日目  学認申請システムにて証明書を追加(予備の欄に)」を行ったときには、新証明書のKeyDescriptorのuse属性は設定していません。 

SP関連

SPで認証後にエラー(A valid authentication statement was not found in the incoming message)

...