Значения подписи OpenSSL и SoapUI

У нас есть порт openssl на HP Nonstop, и у нас есть требование отправить SOAP-запрос с тем же заголовком безопасности, который генерирует SoapUI. До сих пор нам удавалось получить совпадение значения дайджеста (3 долгих дня). Теперь я застрял, пытаясь сгенерировать ту же сигнатуру в openssl, которую мы видим в SoapUI.

У меня есть два ввода: один файл, содержащий двоичное значение дайджеста и другой, содержащий значение дайджеста base64.

У меня есть то же хранилище ключей.pfx, которое загружается в SoapUI на HP NSK, но мне пришлось преобразовать его в файл.pem (openssl pkcs12 -in pfx -out pem -nodes).

Я нашел три отдельные команды openssl, которые сгенерируют подпись, но ни одна из них не соответствует подписи SoapUI из идентичного значения дайджеста:

openssl dgst -sha1 -и randfile -sign pem dgst.txt | openssl enc -base64> sig

openssl rsautl -sign -inkey pem -in dgst.txt | openssl enc -base64> sig

openssl pkeyutl -inkey pem -in dgst.txt | openssl enc -base64> sig

Пара команд openssl позволит вам указать '-sha', '-sha1' и т. Д. Из них одиннадцать, я пробовал всех. Нет совпадения на подписи.

Любая помощь в этом? Собираюсь в третий день здесь, и я подумал, что это было легко.

Вот заголовок безопасности, сгенерированный SoapUI. Я удалил подпись для краткости и любой информации, идентифицирующей клиента. Я в основном показываю это, чтобы указать, какие алгоритмы указываются и т. Д.

    <wsse:Security xmlns:wsse="redacted" xmlns:wsu="redacted">
<ds:Signature Id="SIG-7175F72748C072A4761529013840614108" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
    <ds:SignedInfo>
        <ds:CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
            <ec:InclusiveNamespaces PrefixList="soapenv v1 v11 v2" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
        </ds:CanonicalizationMethod>
        <ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
        <ds:Reference URI="#id-CE0A4571D7DB69D8CE152339585717529">
            <ds:Transforms>
                <ds:Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
                    <ec:InclusiveNamespaces PrefixList="v1 v11 v2" xmlns:ec="http://www.w3.org/2001/10/xml-exc-c14n#"/>
                </ds:Transform>
            </ds:Transforms>
            <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
            <ds:DigestValue>redacted</ds:DigestValue>
        </ds:Reference>
    </ds:SignedInfo>
    <ds:SignatureValue>removed for brevity</ds:SignatureValue>
    <ds:KeyInfo Id="redacted">
        <wsse:SecurityTokenReference wsu:Id="redacted">
            <ds:X509Data>
                <ds:X509IssuerSerial>
                    <ds:X509IssuerName>CN=Symantec Class 3 Secure Server CA - G4,OU=Symantec Trust Network,O=Symantec Corporation,C=US</ds:X509IssuerName>
                    <ds:X509SerialNumber>redacted</ds:X509SerialNumber>
                </ds:X509IssuerSerial>
            </ds:X509Data>
        </wsse:SecurityTokenReference>
    </ds:KeyInfo>
</ds:Signature>

0 ответов

Другие вопросы по тегам