Thanks for update. If you have a second, could you please try to run openssl pkcs12 command on Mac
to see the content of the usercert.p12 file?

Aleksey

On 2/23/11 11:54 AM, Nigel Ramsay wrote:
Hi Aleksey

As I suggested, I tried it on Ubuntu - and it just worked.

It must have been a "mac thing".

I've now gone a repeated the exact same steps on both Ubuntu 10.4 and OSX 10.6 with differing results - the Ubuntu version produced the required output, while the Mac version did not.

For those who are interested, these are the simple steps I followed:

*Mac*

port install xmlsec
wget http://www.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/keysncerts.zip <http://www.dcc.uchile.cl/%7Epcamacho/tutorial/web/xmlsec/keysncerts.zip>
unzip keysncerts.zip
wget http://www.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/doc-x509.xml <http://www.dcc.uchile.cl/%7Epcamacho/tutorial/web/xmlsec/doc-x509.xml> xmlsec1 --sign --pkcs12 keysncerts/usercert.p12 --trusted-pem keysncerts/cacert.pem --pwd hello doc-x509.xml

*Ubuntu*

apt-get install xmlsec1
wget http://www.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/keysncerts.zip <http://www.dcc.uchile.cl/%7Epcamacho/tutorial/web/xmlsec/keysncerts.zip>
unzip keysncerts.zip
wget http://www.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/doc-x509.xml <http://www.dcc.uchile.cl/%7Epcamacho/tutorial/web/xmlsec/doc-x509.xml> xmlsec1 --sign --pkcs12 keysncerts/usercert.p12 --trusted-pem keysncerts/cacert.pem --pwd hello doc-x509.xml

So anyway - thanks Aleksey for a very handy tool. There's nothing else out there like it. Certainly nothing in "Ruby land" where we do most of our work.

Cheers

Nigel




On Thu, Feb 24, 2011 at 8:33 AM, Aleksey Sanin <[email protected] <mailto:[email protected]>> wrote:

    Make sure that you actually have *both* private key and
    certificate in the usercert.p12

    Aleksey


    On 2/23/11 11:24 AM, Nigel Ramsay wrote:
    Hi

    We are trying to sign an XMl document with an X509 certificate,
    but any having problems getting the X509Data node populated.

    We are following Philippe Camacho's tutorial here:
    http://www.dcc.uchile.cl/~pcamacho/tutorial/web/xmlsec/xmlsec.html#htoc7
    <http://www.dcc.uchile.cl/%7Epcamacho/tutorial/web/xmlsec/xmlsec.html#htoc7>

    The command that we use is copied from the tutorial, and we are
    using the keysncerts.zip file that contains the appropriate keys
    and certificates.

    The command (using v 1.2.16 on Mac OSX 10.6) is:
    xmlsec1 --sign --pkcs12 usercert.p12 --trusted-pem cacert.pem
    --pwd hello doc-x509.xml

    The contents of the doc-x509.xml is (the document we are trying
    to sign):
    <References>
    <Book>
    <Author>
    <FirstName>Bruce</FirstName>
    <LastName>Schneier</LastName>
    </Author>
    <Title>Applied Cryptography</Title>
    </Book>
    <Web>
    <Title>XMLSec</Title>
    <Url>http://www.aleksey.com/xmlsec/</Url>
    </Web>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#";>
    <SignedInfo>
    <CanonicalizationMethod Algorithm=
        "http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <SignatureMethod Algorithm=
        "http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <Reference URI="">
    <Transforms>
    <Transform Algorithm=
          "http://www.w3.org/2000/09/xmldsig#enveloped-signature"; />
    </Transforms>
    <DigestMethod Algorithm=
          "http://www.w3.org/2000/09/xmldsig#sha1"/>
    <DigestValue></DigestValue>
    </Reference>
    </SignedInfo>
    <SignatureValue />
    <KeyInfo>
    <X509Data >
    <X509SubjectName/>
    <X509IssuerSerial/>
    <X509Certificate/>
    </X509Data>
    <KeyValue />
    </KeyInfo>
    </Signature>
    </References>

    We get this output from running the command:

    <?xml version="1.0"?>
    <References>
    <Book>
    <Author>
    <FirstName>Bruce</FirstName>
    <LastName>Schneier</LastName>
    </Author>
    <Title>Applied Cryptography</Title>
    </Book>
    <Web>
    <Title>XMLSec</Title>
    <Url>http://www.aleksey.com/xmlsec/</Url>
    </Web>
    <Signature xmlns="http://www.w3.org/2000/09/xmldsig#";>
    <SignedInfo>
    <CanonicalizationMethod
    Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"/>
    <SignatureMethod
    Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"/>
    <Reference URI="">
    <Transforms>
    <Transform
    Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"/>
    </Transforms>
    <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
    <DigestValue>V0ilDen0qBzCslw7EkJfhWO13/I=</DigestValue>
    </Reference>
    </SignedInfo>
    
<SignatureValue>jWDgAy5cp6+EnitDkTUiIaXMsN6tW5rEFQsTabuSm8kW7CMUEVqYxUZGT6YWtWLS
    lbCQNxOFChDSQpu30B5MIAaR+j8/FfrAmERlXv7RWzY5mb/4InvUoDF4Bs10Rqb2
    twHNsyLPpW9FTeQ7Z3ftaXShKcyPeh6zOvMwDRKLxdQ=</SignatureValue>
    <KeyInfo>
    <X509Data>
    </X509Data>
    <KeyValue>
    <RSAKeyValue>
    <Modulus>
    vBKEgNWKPbRcULxXcGzxefpve5Fryuc+CQwJz3YujE1z8jMKuLD2C700amz9vBqd
    aBlsrm9rjpjbtrEWEeja42T1kTaWPRRB6AV0EaUQg632GWkcVKpOeZcAqtpId3bL
    GFV74moYiu3JNCW5ZU084Ipd3zO5sWBaqVQxcyufwnM=
    </Modulus>
    <Exponent>
    AQAB
    </Exponent>
    </RSAKeyValue>
    </KeyValue>
    </KeyInfo>
    </Signature>
    </References>

    As you can see, the X509Data node is blank.

    We have tried including the --print-xml-debug option, and this
    shows a number of fields, including:

    <X509Data>
    <KeyCertificate>
    <SubjectName>/C=CL/ST=RM/O=littlecryptographer/CN=John
    Smith/[email protected]
    <mailto:[email protected]></SubjectName>
    <IssuerName>/C=CL/ST=RM/L=Santiago/O=littlecryptographer/CN=Philippe
    Camacho/[email protected]
    <mailto:[email protected]></IssuerName>
    <SerialNumber>11E</SerialNumber>
    </KeyCertificate>
    </X509Data>

    We have also tried these commands with our own generated keys,
    and different XML files too. We get the same result each time.

    I have searched this mailing list, and note that Braja Biswal had
    a similar problem:
    http://www.aleksey.com/pipermail/xmlsec/2009/008672.html

    We would really appreciate any help, as we seem to be out of
    ideas. Our last idea is to try the same approach using Ubuntu -
    perhaps this is "a Mac thing". We used MacPorts to install Xmlsec.

    Thanks

    Nigel



-- Nigel Ramsay
    Principal Consultant
    Able Technology

    04 910 3100
    021 323 990
    http://www.abletech.co.nz
    http://nigel.ramsay.org.nz



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




--
Nigel Ramsay
Principal Consultant
Able Technology

04 910 3100
021 323 990
http://www.abletech.co.nz
http://nigel.ramsay.org.nz

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

Reply via email to