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

比較バージョン

キー

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

...

IdP起動時のエラー(The entity name must immediately follow the '&' in the entity reference)

 


IdPを起動時に下記のエラーが idp-process.log に出力されます。

...

書式設定済み
Error Message: SAML 2 SSO profile is not configured for relying party https://sp.example.ac.jp/shibboleth-sp

→relying-party.xmlにこのSPだけに対する特殊な<RelyingParty>設定があり、かつその中に SAML2SSOProfile の設定が抜けているとこのエラーになります。
 もしくは、このSPが最近追加されたものである場合、IdPが最新のメタデータ取得に失敗している可能性があります。

IdPで認証時にブラウザにエラー(Message was signed, but signature could not be verified)

Shibboleth認証時にブラウザに下記のエラーが出力されます。

書式設定済み
opensaml::FatalProfileException
The system encountered an error at Tue Apr 30 12:13:14 2013
To report this problem, please contact the site administrator at root@localhost.
Please include the following message in any email:
opensaml::FatalProfileException at (https://sp.example.ac.jp/Shibboleth.sso/SAML2/POST)
Message was signed, but signature could not be verified.

→IdPの設定ファイル relying-party.xml で <security:Credential id="IdPCredential"> の security:Certificate に設定している証明書(対応する秘密鍵は security:PrivateKey で指定されていること)と、学認申請システムに登録した証明書が一致することを確認してください。不一致である場合は上記のエラーが出力されます。

relying party https://sp.example.ac.jp/shibboleth-sp

→relying-party.xmlにこのSPだけに対する特殊な<RelyingParty>設定があり、かつその中に SAML2SSOProfile の設定が抜けているとこのエラーになります。
 もしくは、このSPが最近追加されたものである場合、IdPが最新のメタデータ取得に失敗している可能性があります。

IdPで認証時にブラウザにエラー(Message was signed, but signature could not be verified)

IdPで認証時にブラウザにエラー(Message expired, was issued too long ago)

...

注意

一部の古いバージョン(tomcat6-dta-ssl-1.1.0.jar)はJava 6の環境では動きません。起動時にcatalina.outに以下のエラーが出力されます。最新版を使うようにしてください。

書式設定済み
Caused by: java.lang.UnsupportedClassVersionError: edu/internet2/middleware/security/tomcat6/DelegateToApplicationJSSEImplementation : Unsupported major.minor version 51.0

 


JDK 8u60 , 8u51 , 7u85 , 6u101でのメタデータ取得エラー

...

書式設定済み
# ./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)
...

...


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

...

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

    SPの設定SPが自動生成するメタデータ⇒伝播中⇒IdPのローカルに配置したメタデータ
    旧証明書 : 署名&暗号化用途
    新証明書 : 暗号化用途
    旧証明書 : use指定なし
    新証明書 : use="encryption"
     

    旧証明書 : use指定なし
  2. SP管理者からの通知に従い、IdP管理者はSPが自動生成するファイルを取得してIdPのローカルにあるメタデータを更新します。

    学認に参加しているSPでは メタデータ記載の証明書更新手順(SP) の「X日目  承認、学認メタデータに反映」に該当する部分です。

    SPの設定SPが自動生成するメタデータ=伝播済=IdPのローカルに配置したメタデータ

    旧証明書 : 署名&暗号化用途
    新証明書 : 暗号化用途

    旧証明書 : use指定なし
    新証明書 : use="encryption"
     

    旧証明書 : use指定なし
    新証明書 : use="encryption"
  3. メタデータ記載の証明書更新手順(SP) の「X+15日目 SPに対して設定変更2(新証明書をメインにし旧証明書を暗号化用に変更)」をSPで実施します。この瞬間、SPに設定された証明書の用途とIdPが想定する証明書の用途に不一致が発生してしまいます。つまりSPは設定通り署名用途として新証明書を使いますが、IdPは新証明書は暗号化用途のみに使えるものと考えているためにこれを受け付けません。IdPでローカルに配置したメタデータが更新されるまでの間この状態が続き、エラーとなることが考えられます。

    SPの設定SPが自動生成するメタデータ⇒伝播中⇒IdPのローカルに配置したメタデータ

    旧証明書 : 暗号化用途
    新証明書 : 署名&暗号化用途

    旧証明書 : use="encryption"
    新証明書 : use指定なし
     

    旧証明書 : use指定なし
    新証明書 : use="encryption"
  4. その後「Y+15日目 SPに対して設定変更3(旧証明書削除)」でも問題が生じます。この時点で3.で自動生成されたメタデータがIdPのローカルに配置されていますが、これに暗号化用途の旧証明書が含まれているため、依然としてIdPは旧証明書を暗号化用途に用い、設定変更3が行われたSPではそれを復号できずにエラーとなります。このエラーもIdPでローカルに配置したメタデータが更新されるまで続くことになります。

    SPの設定SPが自動生成するメタデータ⇒伝播中⇒IdPのローカルに配置したメタデータ

    旧証明書 : 不使用
    新証明書 : 署名&暗号化用途

    旧証明書 : 存在しない
    新証明書 : use指定なし
     

    旧証明書 : use="encryption"
    新証明書 : use指定なし

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

...

  • 「a) 学認申請システムが生成したattribute-filterを直接読み込む方法」を採用している場合

    書式設定済み
    12:55:10.810 - WARN [org.opensaml.util.resource.ResourceChangeWatcher:168] - Resource https://office.gakunin.nii.ac.jp/ProdFed/export/attribute_filter/PIxxxxJP?target=uapprovejp221 could not be accessed
    org.opensaml.util.resource.ResourceException: Unable to contact resource URL: https://office.gakunin.nii.ac.jp/ProdFed/export/attribute_filter/PIxxxx?target=uapprovejp221
            at org.opensaml.util.resource.HttpResource.exists(HttpResource.java:94) ~[openws-1.4.4.jar:na]
            at org.opensaml.util.resource.FileBackedHttpResource.exists(FileBackedHttpResource.java:120) ~[openws-1.4.4.jar:na]
            at org.opensaml.util.resource.ResourceChangeWatcher.run(ResourceChangeWatcher.java:149) ~[openws-1.4.4.jar:na]
            at java.util.TimerThread.mainLoop(Timer.java:534) [na:1.6.0_22]
            at java.util.TimerThread.run(Timer.java:484) [na:1.6.0_22]
    Caused by: javax.net.ssl.SSLHandshakeException: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
            at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) ~[na:1.6.0_22]
            at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1697) ~[na:1.6.0_22]
            (...省略...)
    Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
            at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:324) ~[na:1.6.0_22]
            at sun.security.validator.PKIXValidator.engineValidate(PKIXValidator.java:224) ~[na:1.6.0_22]
            at sun.security.validator.Validator.validate(Validator.java:235) ~[na:1.6.0_22]
            at sun.security.ssl.X509TrustManagerImpl.validate(X509TrustManagerImpl.java:147) ~[na:1.6.0_22]
            at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:230) ~[na:1.6.0_22]
            at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:270) ~[na:1.6.0_22]
            at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1144) ~[na:1.6.0_22]
            ... 21 common frames omitted
    Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
            at sun.security.provider.certpath.SunCertPathBuilder.engineBuild(SunCertPathBuilder.java:197) ~[na:1.6.0_22]
            at java.security.cert.CertPathBuilder.build(CertPathBuilder.java:255) ~[na:1.6.0_22]
            at sun.security.validator.PKIXValidator.doBuild(PKIXValidator.java:319) ~[na:1.6.0_22]
            ... 27 common frames omitted

    → JDKのトラストアンカーに必要なCA証明書が入っていないことが原因です。「IdPのトラストアンカーの確認と必要なCA証明書の導入」にしたがって, パッケージのアップデート,またはCA証明書の導入を行ってください。

  • 「b) 学認申請システムが生成したattribute-filterをローカルにダウンロードした上で読み込む方法」を採用している場合

    書式設定済み
    $ wget https://office.gakunin.nii.ac.jp/ProdFed/export/attribute_filter/PIxxxxJP?target=uapprovejp221
    --2015-06-29 19:12:37--  https://office.gakunin.nii.ac.jp/ProdFed/export/attribute_filter/PIxxxxJP?target=uapprovejp221
    office.gakunin.nii.ac.jp をDNSに問いあわせています... 157.1.67.71
    office.gakunin.nii.ac.jp|157.1.67.71|:443 に接続しています... 接続しました。
    エラー: office.gakunin.nii.ac.jp の証明書(発行者: /C=JP/O=SECOM Trust Systems CO.,LTD./CN=SECOM Passport for Web EV 2.0 CA)の検証に失敗しました:
      発行者の権限を検証できませんでした。
    office.gakunin.nii.ac.jp に安全の確認をしないで接続するには、`--no-check-certificate' を使ってください。
    SSL による接続が確立できません。

    → wget等のコマンドが参照するトラストアンカーに必要なCA証明書が入っていないことが原因です。「SPのトラストアンカーの確認と必要なCA証明書の導入」にしたがって, パッケージのアップデート,またはCA証明書の導入を行ってください。SP向けの手順としてご紹介していますが,今回のようなIdPにおけるwgetコマンド等の対処でも手順は同じです。

...


SP関連

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

...