IMHO, you have data corruption somewhere in your program. The fact
that you can't reproduce the problem with xmlsec command line tool
indicates to me that this is somewhere in your code.

Did you try valgrind?

Aleksey

On 2/2/2010 11:34 PM, mahendra N wrote:
Hi Aleksey,
                  Still I am not able to reproduce the error on command
line. I have done some further analysis on the topic.

I was looking through the xmlsec-1.2.12 code,
We verify the signature using /xmlSecDSigCtxVerify/ function in xmldsig.c

There is a very strange behavior observed, /xmlSecDSigCtxVerify
/returns/ xmlSecDSigStatusInvalid / when an XML file is tampered. the
function works perfectly fine , but some how the value of status is
always /xmlSecDSigStatusSucceeded /when it returns from
/xmlSecDSigCtxVerify /
I put some print statements in the xmlsec code in /xmlSecDSigCtxVerify
/function.
the function returns dSigCtx->status = /xmlSecDSigStatusInvalid but the
it is always /
/dSigCtx->status = /xmlSecDSigStatusSucceeded /when we try to print the
value of /dSigCtx->status after return from
x/mlSecDSigCtxVerify/ function. even when I modified the code and set
/dSigCtx->status = /xmlSecDSigStatusUnknown /, the value of
/dSigCtx->status was //xmlSecDSigStatusSucceeded after return form ////
/xmlSecDSigCtxVerify /function.//////////
//
//
//Some how the value of /dSigCtx->status is being set to
//xmlSecDSigStatusSucceeded /always.Any help would be greatly
appreciated.////
////
////
////Thanks in advance,////
////Mahendra Naik////


2010/2/1 Aleksey Sanin <[email protected] <mailto:[email protected]>>

    The symbol lookup problem is again related to multiple version of
    xmlsec library.

    This makes me suspicious that the second problem is also caused by
    mismatch of between headers and actual loaded .so library.

    One more idea - try to compile xmlsec as static library w/o
    dynamic loading for crypto library.

    Aleksey


    On 2/1/2010 4:11 AM, mahendra N wrote:

        Hi aleksey,
                         Yes, there were multiple versions of library on my
        system. I have resolved the issue now. Now i get the following error

        xmlsec1: symbol lookup error: /usr/lib64/libxmlsec1.so.1: undefined
        symbol: xmlSecNameAESKeyValue

        And one more observation:
        when i try to access the following value
        dsigCtx->signMethod->status ; i get a segmentation fault on
        windriver
        linux(mips). but it works fine on red hat linux(x86).
        Regards,
        Mahendra Naik

        2010/1/29 Aleksey Sanin <[email protected]
        <mailto:[email protected]> <mailto:[email protected]
        <mailto:[email protected]>>>


            You have multiple versions of the library on your system.
            Incorrect LD_LIBRARY_PATH?

            Aleksey


            On 1/29/2010 1:24 AM, mahendra N wrote:

                Hi Aleksey,
                                  when i try to reproduce the error , i
        get the
                following error

          
func=xmlSecCheckVersionExt:file=xmlsec.c:line=170:obj=unknown:subj=unknown:error=1:xmlsec
                library function failed:mode=abi compatible;expected minor
                version=2;real minor version=2;expected subminor
        version=12;real
                subminor version=11

                Error: loaded xmlsec library version is not compatible.
                Error: initialization failed


                Thanks and Regards,
                Mahendra Naik
                2010/1/29 Aleksey Sanin <[email protected]
        <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>

        <mailto:[email protected] <mailto:[email protected]>>>>


                    Can you reproduce the problem with xmlsec command
        line utility?
                    Unfortunately, I don't have mips around and I can't
        debug
                this. It
                    smells like some compilation issue either in xmlsec
        or openssl.
                    Try to compile openssl from C code, don't use
        assembler. And
                also
                    try to disable all the optimizations in the openssl
        and gcc.

                    Aleksey



                    On 1/28/2010 8:32 PM, mahendra N wrote:

                        we are using xmlsec 1.2.12 to check whether a
        license
                file is
                        tampered.
                        Were are tesing it on x86, SPARC and mips.
                xmlSecDSigCtxVerify
                        function
                        is used to check whether the signature is valid
        or not.
                on  x86 and
                        SPARC i get the logs as :

                        xmlSecOpenSSLEvpDigestVerify:         XmlSec
        Error data and
                        digest do
                        not match (12)

                        xmlSecDSigCtxPtr->status = xmlSecDSigStatusInvalid;

                        but in case of mips the logs are;

                        xmlSecOpenSSLEvpDigestVerify:         XmlSec
        Error data and
                        digest do
                        not match (12)

                        xmlSecDSigCtxPtr->status =
        xmlSecDSigStatusSucceeded;

                        so tampering of license is undetected on mips.


                        2010/1/28 Aleksey Sanin <[email protected]
        <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>

        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>>>



                            Sorry, I don't understand. Can you provide
        an example?

                            Aleksey


                            On 1/28/2010 3:45 AM, mahendra N wrote:

                                Hi,
                                         We are using
        xmlSecDSigCtxVerify API to
                check
                        whether a
                                license
                                file is tampered. . The license file is
        in w3
                XML format.
                                Shouldn the
                                status element of xmlSecDSigCtxPtr structure
                capture the
                        error
                                if the
                                license file is tampered. but ,its
        happening,
                but the
                        error is
                                caught by
                                signKey element on x86, but the signKey
        accesses
                a wrong
                        pointer in
                                mips. how should we go about the issue..
                                Thanks and Reagrds,
                                Mahendra Naik




          _______________________________________________
                                xmlsec mailing list
        [email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>
        <mailto:[email protected] <mailto:[email protected]>
        <mailto:[email protected] <mailto:[email protected]>>>>


        http://www.aleksey.com/mailman/listinfo/xmlsec





_______________________________________________
xmlsec mailing list
[email protected]
http://www.aleksey.com/mailman/listinfo/xmlsec

Reply via email to