У меня встроенный SAML 2.0 в моей системе, и я использую как IDP файл http://idp.ssocircle.com/idp-meta.xml. На прошлой неделе мое приложение отлично работало, но со вчерашнего дня (5 декабря 2016 года) у меня есть ошибка без внесения каких-либо изменений в файл конфигурации.SAML ERROR: Не удалось построить схему PKIX для ненадежных учетных данных
The error is:
2016-12-06 10:00:07 ERROR: PKIX path construction failed for untrusted credential: [subjectName='CN=idp.ssocircle.com' |credential entityID='https://idp.ssocircle.com']: unable to find valid certification path to requested target
2016-12-06 10:00:07 INFO : I/O exception (javax.net.ssl.SSLPeerUnverifiedException) caught when processing request: SSL peer failed hostname validation for name: null
2016-12-06 10:00:07 INFO : Retrying request
Мой metada боб:
<bean id="metadata" class="org.springframework.security.saml.metadata.CachingMetadataManager">
<constructor-arg>
<list>
<bean class="org.opensaml.saml2.metadata.provider.HTTPMetadataProvider">
<constructor-arg>
<value type="java.lang.String">http://idp.ssocircle.com/idp-meta.xml</value>
</constructor-arg>
<constructor-arg>
<value type="int">5000</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadataDelegate">
<constructor-arg>
<bean class="org.opensaml.saml2.metadata.provider.FilesystemMetadataProvider">
<constructor-arg>
<value type="java.io.File">WEB-INF/saml/sp_sg.xml</value>
</constructor-arg>
<property name="parserPool" ref="parserPool"/>
</bean>
</constructor-arg>
<constructor-arg>
<bean class="org.springframework.security.saml.metadata.ExtendedMetadata">
<property name="local" value="true"/>
<property name="securityProfile" value="metaiop"/>
<property name="sslSecurityProfile" value="pkix"/>
<property name="signMetadata" value="true"/>
<property name="signingKey" value="apollo"/>
<property name="encryptionKey" value="apollo"/>
<property name="requireArtifactResolveSigned" value="false"/>
<property name="requireLogoutRequestSigned" value="false"/>
<property name="requireLogoutResponseSigned" value="false"/>
<property name="idpDiscoveryEnabled" value="false"/>
<property name="idpDiscoveryURL" value="http://localhost:8080/portal_report_sg/saml/discovery"/>
<property name="idpDiscoveryResponseURL" value="http://localhost:8080/portal_report_sg/saml/login?disco=true"/>
</bean>
</constructor-arg>
</bean>
</list>
</constructor-arg>
<property name="hostedSPName" value="http://88.161.49.14/sg1"/>
Спасибо за вашу помощь.
Благодарим за отзыв. Я попытался импортировать в хранилище ключей, но у меня есть ошибка: открытый ключ ответа и Keystore не совпадают. На французском языке: erreur keytool: java.lang.Exception: Les clés publiques de la réponse et du Keystore ne concordent pas' – mkaayn
Это, вероятно, придирчиво к правильному формату PEM - я обновил выше. –
Он работает. Большое вам спасибо. – mkaayn