OpenSSL与SoapUI签名值

时间:2018-06-17 18:56:27

标签: openssl soapui ws-security hp-nonstop

我们在HP Nonstop上有一个openssl端口,并且要求发送一个SOAP请求,该SOAP请求具有SoapUI生成的相同安全头。到目前为止,我们已经能够获得摘要值的匹配(3天长)。现在我总是试图在我们在SoapUI中看到的openssl中生成相同的签名。

我有两个输入:一个文件包含二进制摘要值,另一个文件包含base64摘要值。

我有相同的.pfx密钥库,它在HP NSK上的SoapUI中加载但我必须将其转换为.pem文件(openssl pkcs12 -in pfx -out pem -nodes)。

我找到了三个单独的openssl命令,它们将生成一个签名,但它们都不匹配来自相同摘要值的SoapUI签名:

openssl dgst -sha1 -rand 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'其中有11个,我已经尝试过所有人。签名不匹配。

对此有何帮助?在这里第3天,我觉得这很容易。

这是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 个答案:

没有答案