Как решить WSO2 IS 5.8.0 Проверка подлинности SAML не прошла проверку подписи - PullRequest
0 голосов
/ 23 сентября 2019

Получение проблемы для Signature verficiation failed в WSO2-IS-5.8.0.

Я пробую простое руководство по аутентификации OTP по электронной почте, данное WSO2 по ссылке .Я выполнил все шаги, но во время входа по ссылке: http://localhost:8080/travelocity.com Я получаю следующее исключение на Tomcat.

[org.apache.xml.security.signature.XMLSignature] : Signature verification failed.
[org.opensaml.xml.signature.SignatureValidator] : Signature did not validate against the credential's key
[org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager] : Validation exception :  Ignored FQCN: org.apache.commons.logging.impl.SLF4JLocationAwareLog
org.opensaml.xml.validation.ValidationException: Signature did not validate against the credential's key
        at org.opensaml.xml.signature.SignatureValidator.validate(SignatureValidator.java:79)
        at org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.validateSignature(SAML2SSOManager.java:1041)
        at org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.validateSignature(SAML2SSOManager.java:897)
        at org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:581)
        at org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processSSOResponse(SAML2SSOManager.java:525)
        at org.wso2.carbon.identity.sso.agent.saml.SAML2SSOManager.processResponse(SAML2SSOManager.java:358)
        at org.wso2.carbon.identity.sso.agent.SAML2SSOAgentFilter.doFilter(SAML2SSOAgentFilter.java:98)
        at org.wso2.sample.is.sso.agent.SSOAgentSampleFilter.doFilter(SSOAgentSampleFilter.java:103)
        at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
        at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
        at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
        at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
        at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:444)
        at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
        at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:104)
        at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:1025)
        at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
        at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
        at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1137)
        at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.doRun(AprEndpoint.java:2579)
        at org.apache.tomcat.util.net.AprEndpoint$SocketProcessor.run(AprEndpoint.java:2568)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
        at java.lang.Thread.run(Thread.java:748)

Для Identity Provider Я выбрал Upload IDP certificate для Choose IDP certificate type.Сертификат, который я использую для этого же, находится по адресу <IS_HOME>repository\resources\security\wso2.crt.Каталог tokenstore внутри этого же устройства пуст.

Для Поставщик услуг Я выбрал параметр Upload SP certificate из Select SP Certificate Type.Пем, который я загружаю в него, генерируется с помощью следующих команд из каталога: samples\sso\sso-agent-sample\src\main\resources

  1. Первая команда: 'C:\Program Files\Java\jdk1.8.0_221\bin\keytool.exe' -export -alias wso2carbon -file wso2.crt -keystore wso2carbon.jks -storepass wso2carbon
  2. Вторая команда: 'C:\Program Files\OpenSSL-Win64\bin\openssl.exe' x509 -inform der -in .\wso2carbon.crt -out wso2carbon.pem

Я также пытался с опцией выбора Use SP JWKS endpoint в Select SP Certificate Type в Service Provider и в Identity Provider выбран Use IDP JWKS endpoint в Choose IDP certificate type: все еще получая ту же проблему.

Какое будет возможное решение для этого?В каком случае мне здесь не хватает?Скорее всего, что я понимаю в .pem в SP и .crt в IP не совпадают.Как я мог решить эту проблему.Если я пропустил правильное выполнение crt / pem, было бы здорово, если бы вы могли добавить точные команды, которые будут превышены для сертификата.

...