...
- IdPで認証前にブラウザにエラー
→relying-party.xmlにこのSPだけに対する特殊な<RelyingParty>設定があり、かつその中に書式設定済み Error Message: SAML 2 SSO profile is not configured for relying party https://sp.example.ac.jp/shibboleth-sp
SAML2SSOProfile
の設定が抜けているとこのエラーになります。
もしくは、このSPが最近追加されたものである場合、IdPが最新のメタデータ取得に失敗している可能性があります。 - attribute-filter.xmlに属性を送信するように設定しているはずなのに送信されない。
→attribute-filter.xml中のAttributeFilterPolicy要素のidが重複していると、最後のものしか有効にならないようです。idが重複しないように修正してください。 - 2.3.8もしくはそれ以前のIdPで認証前にログにエラー
ブラウザには以下のエラーが表示されます。書式設定済み 1:19:57.770 - ERROR [org.opensaml.xml.security.SigningUtil:250] - Error during signature verification java.security.SignatureException: Signature length not correct: got 256 but was expecting 128
以下の条件を全て満たす場合、認証要求(AuthnRequest)の署名検証時に確率的に問題が発生することが確認されています。IdPのバグで、2.4.0で修正予定です。SPメタデータに記載されている不要な証明書を削除することにより回避可能です。書式設定済み Error Message: Message did not meet security requirements
詳細: https://issues.shibboleth.net/jira/browse/JXT-99- IdPがJava 7を使用している。
- 接続しようとしているSPのメタデータに1024bitの証明書と2048bitの証明書が混在している。
- SPが認証要求(AuthnRequest)に署名している。
- aacli.shが実行できない問題の対処
Shibboleth IdPにはaacli.shというコマンドがあり、任意のSP(entityID)と任意のユーザ名を引数に与えることでSPに送出される属性がXMLで取得できます。IdP 2.3.5以降ではIdPに含まれるファイルが変更となった影響でそのまま実行するとNoClassDefFoundError
となります。
→ 上記エラーが出力された場合はTomcatのjarファイルを参照するようにしてください。書式設定済み $ sudo -u tomcat /opt/shibboleth-idp/bin/aacli.sh --configDir /opt/shibboleth-idp/conf/ --principal=test001 --requester=https://sp.example.ac.jp/shibboleth-sp Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shibboleth.HandlerManager': Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: javax/servlet/ServletRequest at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:480) :
→ aacli.shコマンドの詳細は https://wiki.shibboleth.net/confluence/display/SHIB2/AACLI をご参照ください。書式設定済み $ sudo ln -s $CATALINA_HOME/lib/servlet-api.jar /opt/shibboleth-idp/lib/
→ 参考情報 : 情報交換メーリングリストupki-fed:00419
- IdP起動時のエラー
SPを起動時に下記のエラーが
アンカー amplt amplt
IdPを起動時に下記のエラーが idp-process.log に出力されます。
→上記のエラーは relying-party.xml にXML文法としての間違いがある場合に出力されます。書式設定済み 14:51:13.419 - INFO [edu.internet2.middleware.shibboleth.common.config.BaseService:158] - Loading new configuration for service shibboleth.RelyingPartyConfigurationManager 14:51:13.506 - 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.xml.sax.SAXParseException: The entity name must immediately follow the '&' in the entity reference.
→例えば relying-party.xml にパスフレーズ付きの証明書を設定するとき、パスフレーズに '&' や '<' を含む場合はこれらの文字列をそのまま設定することはできません。これらの文字を含む場合は文字参照で '&' や '<' のように記述してください。- 誤ったパスフレーズ設定例
書式設定済み <security:Credential id="IdPCredential" xsi:type="security:X509Filesystem"> <security:PrivateKey Password="myKeyPa$$word&"> /opt/shibboleth-idp/credentials/server-enc.key </security:PrivateKey>
- 正しいパスフレーズ設定例
書式設定済み <security:Credential id="IdPCredential" xsi:type="security:X509Filesystem"> <security:PrivateKey Password="myKeyPa$$word&"> /opt/shibboleth-idp/credentials/server-enc.key </security:PrivateKey>
- 誤ったパスフレーズ設定例
...
- SP起動時のエラー
SPを起動時に下記のエラーが出力されます。
また /var/log/shibboleth/shibd.log には下記のエラーが出力されています。書式設定済み $ sudo /etc/init.d/shibd start Starting shibd: configuration is invalid, check console for specific problems [FAILED]
→上記のエラーは shibboleth2.xml にXML文法としての間違いがある場合に出力されます。書式設定済み 2013-02-12 14:36:06 ERROR XMLTooling.ParserPool : fatal error on line 105, column 145, message: expected entity name for reference 2013-02-12 14:36:06 ERROR Shibboleth.Config : error while loading resource (/etc/shibboleth/shibboleth2.xml): XML error(s) during parsing, check log for specifics 2013-02-12 14:36:06 FATAL Shibboleth.Config : caught exception while loading configuration: XML error(s) during parsing, check log for specifics
→例えばCredentialResolverにパスフレーズ付きの証明書を設定するとき、パスフレーズに '&' や '<' を含む場合はこれらの文字列をそのまま設定することはできません。これらの文字を含む場合は文字参照で '&' や '<<' のように記述してください。- 誤ったパスフレーズ設定例
書式設定済み <CredentialResolver type="File" key="cert/server-enc.key" certificate="cert/server-enc.crt" password="myKeyPa$$word&"/>
- 正しいパスフレーズ設定例
書式設定済み <CredentialResolver type="File" key="cert/server-enc.key" certificate="cert/server-enc.crt" password="myKeyPa$$word&"/>
- 誤ったパスフレーズ設定例