IdPを起動時に下記のエラーが idp-process.log に出力されます。
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 にXML文法としての間違いがある場合に出力されます。
→例えば 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>
これはXML形式の表記上の問題ですので、relying-party.xmlに限らず全ての設定ファイルが対象となります。例えばattribute-resolver.xmlのLDAPのパスワード(principalCredential
)も同様です。