Проблема с сертификатом версии 1 в сценарии входа в систему с WSO2 EI в качестве клиента - PullRequest
0 голосов
/ 07 сентября 2018

Мне нужно позвонить в бэкэнд-службу, защищенную с помощью signonly, это услуга сторонней организации. Сертификат, который мне присылают, это V1, и когда я использовал его с SOAPUI или java-клиентом, он работал нормально ... XML-запрос содержит эту часть:

<wsse:SecurityTokenReference wsu:Id="STR-E79369ED26AA07A72315362651483883">
    <ds:X509Data>
        <ds:X509IssuerSerial>
            <ds:X509IssuerName>CN=2323434,OU=test,O=test,L=test,ST=test,C=CU</ds:X509IssuerName>
            <ds:X509SerialNumber>11718339280033114430</ds:X509SerialNumber>
        </ds:X509IssuerSerial>
    </ds:X509Data>
</wsse:SecurityTokenReference>

И я могу получить успешный ответ.

Но если я использую EI WSO2 с конечной точкой с политикой входа в систему с этим InitiatorToken:

           <sp:InitiatorToken>
                <wsp:Policy>
                    <sp:X509Token sp:IncludeToken="http://schemas.xmlsoap.org/ws/2005/07/securitypolicy/IncludeToken/Never">
                        <wsp:Policy>
                            <sp:WssX509V3Token10/>
                            <sp:RequireIssuerSerialReference/>
                        </wsp:Policy>
                    </sp:X509Token>
                </wsp:Policy>
            </sp:InitiatorToken>

Я получаю эту ошибку:

An unsupported token was provided (An X509 certificate with version 3 must be used for SKI. The presented cert has version: 1)

Если я заменил сертификат на другой, кроме V3, я смогу увидеть запрос с тегом ds: X509IssuerSerial , но с ошибками в ответе из-за сбоя проверки подписи на стороне сервера.

Есть идеи, как решить эту проблему?

...