On 8 Apr 2012, at 10:30, Pushpalanka Jayawardhana wrote:

> Hi Scott,
> 
> I could come over the first modification needed for the previous signature.
> Now the generated signature is according to the recommendations of the
> signature properties as in W3C specification.

This is great progress Pushpalanka - having this kind of proof-of-concept on 
the core signature generation is important as all the other aspects of 
implementation depend upon it. Good job!

> 
> <!-- Comment before -->
> <apache:RootElement xmlns:apache="http://www.apache.org/ns/#app1";
> xmlns:foo="http://example.org/#foo"; attr1="test1" attr2="test2"
> foo:attr1="foo's test">Some simple text
> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
> <ds:SignedInfo>
> <ds:CanonicalizationMethod Algorithm="
> http://www.w3.org/TR/2001/REC-xml-c14n-20010315
> "></ds:CanonicalizationMethod>
> <ds:SignatureMethod Algorithm="
> http://www.w3.org/2001/04/xmldsig-more#rsa-sha256";></ds:SignatureMethod>
> <ds:Reference URI="">
> <ds:Transforms>
> <ds:Transform Algorithm="
> http://www.w3.org/2000/09/xmldsig#enveloped-signature";></ds:Transform>
> <ds:Transform Algorithm="http://www.w3.org/2006/12/xml-c14n11
> "></ds:Transform>
> </ds:Transforms>
> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1
> "></ds:DigestMethod>
> <ds:DigestValue>f+pDsT3LzyKV9Sg6rdK5bBrQlbo=</ds:DigestValue>
> </ds:Reference>
> <ds:Reference URI="http://www.w3.org/TR/xml-stylesheet";>
> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1
> "></ds:DigestMethod>
> <ds:DigestValue>iFzAxy5gZ3Z9LhSXqPhzFILiY9U=</ds:DigestValue>
> </ds:Reference>
> <ds:Reference URI="http://www.nue.et-inf.uni-siegen.de/index.html";>
> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1
> "></ds:DigestMethod>
> <ds:DigestValue>Hpg+6h1k1jYY5yr3TRzDZzw23CQ=</ds:DigestValue>
> </ds:Reference>
> </ds:SignedInfo>
> <ds:SignatureValue>
> M5o14IAQNDc/a5ms9K2PjyPcfEuH2Q3v+ZONLz4ljs43v5rmBsb4RuWN11iz7Z9CvkZ4sQQpsqsA
> 496TJ5wUg5GW/NeEflbuVdkJ3f9+ralq5KSo6T/j8UkOTLonR/b44gl33GoTzP3ncPDd2++OrZc7
> 31MWFURp86A0akjmOWlgCEqezj6FJPm5YpFnKwvQCgde95W43GJ0gePBmJoSTbERucfRMZi8/kA7
> l8Yq0dNPiOMVjScKUPzYjXKIFg5qLDdFuzhkv9MZTh9RufsB8MInPnS92ZKryrWUOGwV1naZfHMq
> MXY7G9Uu5ZsKNx85hdOasW87zsRa0Lf3zJMDa5trbqKLVKM9yn8mFZHNl2Q2AFjO1ixdZ5NrLWnU
> Cx12LncMFunld60TP22vtH4Xju0G/K4nftuXR176YC+9fHrSi+rGTOu67eSrjW6cioEHaVLui4TS
> 3TGfCVhxFInyviVS0qEUijA5sVr91RIsCzO9aGiXVrdaaHKNMdOtDIxM0x7JGlxSuT8qq0eRDsM8
> 9dQyr5T4frdmCpZmwbhW0kgkQRtLEce1xcZ1D2XHQOOFInjfEUDhHYvf8piokfFMVg/U7IONoTUx
> Lzn49KlbHo+OD4Q9ItIUcRe0NxRZj8uqn6WBdCtML2NDTCvxwY66nKRUHuQX8d9WuwN/fpd+xoY=
> </ds:SignatureValue>
> <ds:KeyInfo>
> <ds:X509Data>
> <ds:X509Certificate>
> MIIFaDCCA1CgAwIBAgIET4EkWDANBgkqhkiG9w0BAQUFADB2MQswCQYDVQQGEwJMSzEQMA4GA1UE
> CBMHV2VzdGVybjEQMA4GA1UEBxMHQ29sb21ibzEPMA0GA1UEChMGQXBhY2hlMQ8wDQYDVQQLEwZX
> b29raWUxITAfBgNVBAMTGFB1c2hwYWxhbmthIEpheWF3YXJkaGFuYTAeFw0xMjA0MDgwNTM4MzJa
> Fw0xMzA0MDMwNTM4MzJaMHYxCzAJBgNVBAYTAkxLMRAwDgYDVQQIEwdXZXN0ZXJuMRAwDgYDVQQH
> EwdDb2xvbWJvMQ8wDQYDVQQKEwZBcGFjaGUxDzANBgNVBAsTBldvb2tpZTEhMB8GA1UEAxMYUHVz
> aHBhbGFua2EgSmF5YXdhcmRoYW5hMIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAhdtK
> P8M6CXJurcLr212+AFrxTOGiN17kT4MB3TjhxNcmJbgHkJY8vYzqU5qaoT/8pzI/PdKtpYdHpeJE
> u8WqwxJHeC0XnbAH3XV72UVVHqu6OPp1Pynp+BFQYymLhKb77ktJWqDjRRYpfRrd8zH2N7vMrWue
> oXW9ug8iC5svrlkQiVJeTRMYiEq9s74Em0leBafKIIIp1XDnezmhmhvYRxHuWyEg0o1/bPD5KFx7
> ZXgliw1sLZHUO7+uXLLabEck5BtGtMFrB3A3NYEAXSPEX+Q4DbTh8R0sIcjDavTzXATAx86uH4YO
> wgx2BJHItHgpn6yvTrIyABIY56gYwdE9lgP/N+h41D5MIeWgFysmmT2pOMhwuZOfBuhj7N4zIcCW
> wXu1IjksXqxBdBq4pFNKIKYOSJy0JehxeApQ2K+Gcv5Hp7EhR6K9r+hrwtI9jhY+/Li0rybh/Mf7
> 7e/gron3Pp3CVhHSd7tiAcvscnhegO26QDcfvUZtr10r9xEpKsYp0ORZ5fCTHrrpG8EOdsWs34a6
> VuSiAP/Nv2aTJLPlAxXDTU8hOSlOOO1TJsumE6VsIrGCc8c2U+4gortLt30CdAe1k/aG7P87+KT1
> tnDy82sYUunB2admIO2ysXkg/UFJzWLZV/RbVYXj2EE/eNBDmu54Hi2Y7DsgzKfJjGpJdKkCAwEA
> ATANBgkqhkiG9w0BAQUFAAOCAgEAe7mZ5uSuDSr6G5Gr8k1pChfSnndddXu1nPXuT8vLPswdSCnS
> uVl9oSRIZFGxIbnMzjh86QsawmPtqiGb7LxjkvkxlE1CKB94lpFFOeQZkO4DhjykVRrz+eLuTT9B
> Dnt0zY8099i/IDPeroGLCg+2oadAc50to8ZmXehQ1H1M5g7e26kmzm+7vV3tEuDnbzcq3iAFSwkQ
> R817YESA2zEO9z8E41r6Q+gQFOw5XpP4FL55M1sDURWDo6Lm/eeLkThNulO0DD06PfqCAzcAFeMi
> XejAw81ACKoa35ZojaqnWDmaMesNIP0rTqAb3Cd+vP2Jvb+u3kMAb9PtgDGTUCYIAH+hrMcSl4OT
> lVLy/mCEmnsx1BidiyctT0YVrGMarpZDsW6lBzK+eZ3cxVhE6TWLvx0bBSxcDuRSQJBey9pUQMQq
> L1YiWSBvBqMg9cq7qlUIoN13LgG8NKCWkZqtjdKRwsINGj+aZXodBA7+DrD28UE69PL9KYx04Rkd
> NsOHYqZloY9fmP2NGEv4bIHkUC+X7rBpoVP1UAaFjC4fMDeHIsr3ngshdznpZK9v2BHXJ8Irqhn2
> EbTOkdtbK3hH2oKcZ/SE4y8AUABWHcWXNIU5icejz8VPB+WxDUhGQl3Ju01HvAea+hxxGhVH9HNN
> AHhsro4QtptUph70504o4C+7+pQ=
> </ds:X509Certificate>
> </ds:X509Data>
> <ds:KeyValue>
> <ds:RSAKeyValue>
> <ds:Modulus>
> hdtKP8M6CXJurcLr212+AFrxTOGiN17kT4MB3TjhxNcmJbgHkJY8vYzqU5qaoT/8pzI/PdKtpYdH
> peJEu8WqwxJHeC0XnbAH3XV72UVVHqu6OPp1Pynp+BFQYymLhKb77ktJWqDjRRYpfRrd8zH2N7vM
> rWueoXW9ug8iC5svrlkQiVJeTRMYiEq9s74Em0leBafKIIIp1XDnezmhmhvYRxHuWyEg0o1/bPD5
> KFx7ZXgliw1sLZHUO7+uXLLabEck5BtGtMFrB3A3NYEAXSPEX+Q4DbTh8R0sIcjDavTzXATAx86u
> H4YOwgx2BJHItHgpn6yvTrIyABIY56gYwdE9lgP/N+h41D5MIeWgFysmmT2pOMhwuZOfBuhj7N4z
> IcCWwXu1IjksXqxBdBq4pFNKIKYOSJy0JehxeApQ2K+Gcv5Hp7EhR6K9r+hrwtI9jhY+/Li0rybh
> /Mf77e/gron3Pp3CVhHSd7tiAcvscnhegO26QDcfvUZtr10r9xEpKsYp0ORZ5fCTHrrpG8EOdsWs
> 34a6VuSiAP/Nv2aTJLPlAxXDTU8hOSlOOO1TJsumE6VsIrGCc8c2U+4gortLt30CdAe1k/aG7P87
> +KT1tnDy82sYUunB2admIO2ysXkg/UFJzWLZV/RbVYXj2EE/eNBDmu54Hi2Y7DsgzKfJjGpJdKk=
> </ds:Modulus>
> <ds:Exponent>AQAB</ds:Exponent>
> </ds:RSAKeyValue>
> </ds:KeyValue>
> </ds:KeyInfo>
> </ds:Signature></apache:RootElement>
> <!-- Comment after -->
> 
> 
> 
> 
> 
> On Mon, Apr 2, 2012 at 7:31 PM, Scott Wilson <[email protected]
>> wrote:
> 
>> 
>> On 31 Mar 2012, at 17:14, Pushpalanka Jayawardhana wrote:
>> 
>>> Hi Scott,
>>> 
>>> It's great to know that this will be useful for many.
>>> 
>>> Meanwhile I tried to work with Apache Santuario going through the
>> samples.
>>> Following is what I could generate by now.
>> 
>>> 
>>> "<!-- Comment before -->
>>> <apache:RootElement xmlns:apache="http://www.apache.org/ns/#app1";
>>> xmlns:foo="http://example.org/#foo"; attr1="test1" attr2="test2"
>>> foo:attr1="foo's test">Some simple text
>>> <ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#";>
>>> <ds:SignedInfo>
>>> <ds:CanonicalizationMethod Algorithm="
>>> http://www.w3.org/TR/2001/REC-xml-c14n-20010315
>>> "></ds:CanonicalizationMethod>
>>> <ds:SignatureMethod Algorithm="
>> http://www.w3.org/2000/09/xmldsig#dsa-sha1
>>> "></ds:SignatureMethod>
>>> <ds:Reference URI="">
>>> <ds:Transforms>
>>> <ds:Transform Algorithm="
>>> http://www.w3.org/2000/09/xmldsig#enveloped-signature";></ds:Transform>
>>> <ds:Transform Algorithm="
>>> http://www.w3.org/TR/2001/REC-xml-c14n-20010315#WithComments
>>> "></ds:Transform>
>>> </ds:Transforms>
>>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1
>>> "></ds:DigestMethod>
>>> <ds:DigestValue>f+pDsT3LzyKV9Sg6rdK5bBrQlbo=</ds:DigestValue>
>>> </ds:Reference>
>>> <ds:Reference URI="http://www.w3.org/TR/xml-stylesheet";>
>>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1
>>> "></ds:DigestMethod>
>>> <ds:DigestValue>iFzAxy5gZ3Z9LhSXqPhzFILiY9U=</ds:DigestValue>
>>> </ds:Reference>
>>> <ds:Reference URI="http://www.nue.et-inf.uni-siegen.de/index.html";>
>>> <ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1
>>> "></ds:DigestMethod>
>>> <ds:DigestValue>Hpg+6h1k1jYY5yr3TRzDZzw23CQ=</ds:DigestValue>
>>> </ds:Reference>
>>> </ds:SignedInfo>
>>> 
>> <ds:SignatureValue>GovQY6sXC6Pup7MH/xtpCjbTNd1gOib8gwj8khwMUwmZ9aEC5g58rQ==</ds:SignatureValue>
>>> <ds:KeyInfo>
>>> <ds:X509Data>
>>> <ds:X509Certificate>
>>> 
>> MIIC9jCCArQCBDruqiowCwYHKoZIzjgEAwUAMGExCzAJBgNVBAYTAkRFMR0wGwYDVQQKExRVbml2
>>> 
>> ZXJzaXR5IG9mIFNpZWdlbjEQMA4GA1UECxMHRkIxMk5VRTEhMB8GA1UEAxMYQ2hyaXN0aWFuIEdl
>>> 
>> dWVyLVBvbGxtYW5uMB4XDTAxMDUwMTEyMjA1OFoXDTA2MTAyMjEyMjA1OFowYTELMAkGA1UEBhMC
>>> 
>> REUxHTAbBgNVBAoTFFVuaXZlcnNpdHkgb2YgU2llZ2VuMRAwDgYDVQQLEwdGQjEyTlVFMSEwHwYD
>>> 
>> VQQDExhDaHJpc3RpYW4gR2V1ZXItUG9sbG1hbm4wggG3MIIBLAYHKoZIzjgEATCCAR8CgYEA/X9T
>>> 
>> gR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuAHTRv
>>> 
>> 8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOuK2HX
>>> 
>> Ku/yIgMZndFIAccCFQCXYFCPFSMLzLKSuYKi64QL8Fgc9QKBgQD34aCF1ps93su8q1w2uFe5eZSv
>>> 
>> u/o66oL5V0wLPQeCZ1FZV4661FlP5nEHEIGAtEkWcSPoTCgWE7fPCTKMyKbhPBZ6i1R8jSjgo64e
>>> 
>> K7OmdZFuo38L+iE1YvH7YnoBJDvMpPG+qFGQiaiD3+Fa5Z8GkotmXoB7VSVkAUw7/s9JKgOBhAAC
>>> 
>> gYASWfn+G1k/nWntj9jX7Nk5JKaiLZ9BLR16eJJxqff33THLfdGs98Xmh2oRWZVh9PMV8oTP3hpR
>>> 
>> cRipjZUZVEIqsBlOGTVLCg4H5TJ81JWOiprh+mkhClNqUr8l5Hu7FBSvQB6inryeva7j0aKNiIvK
>>> 
>> 8vfHTiUZpnyNRhkveBlM0jALBgcqhkjOOAQDBQADLwAwLAIUPDd/UmB9GeHqvGjny30Bvjt0AkUC
>>> FA9ab72kKuB5geYGeckbBrcgPnZk
>>> </ds:X509Certificate>
>>> </ds:X509Data>
>>> <ds:KeyValue>
>>> <ds:DSAKeyValue>
>>> <ds:P>
>>> 
>> /X9TgR11EilS30qcLuzk5/YRt1I870QAwx4/gLZRJmlFXUAiUftZPY1Y+r/F9bow9subVWzXgTuA
>>> 
>> HTRv8mZgt2uZUKWkn5/oBHsQIsJPu6nX/rfGG/g7V+fGqKYVDwT7g/bTxR7DAjVUE1oWkTL2dfOu
>>> K2HXKu/yIgMZndFIAcc=
>>> </ds:P>
>>> <ds:Q>l2BQjxUjC8yykrmCouuEC/BYHPU=</ds:Q>
>>> <ds:G>
>>> 
>> 9+GghdabPd7LvKtcNrhXuXmUr7v6OuqC+VdMCz0HgmdRWVeOutRZT+ZxBxCBgLRJFnEj6EwoFhO3
>>> 
>> zwkyjMim4TwWeotUfI0o4KOuHiuzpnWRbqN/C/ohNWLx+2J6ASQ7zKTxvqhRkImog9/hWuWfBpKL
>>> Zl6Ae1UlZAFMO/7PSSo=
>>> </ds:G>
>>> <ds:Y>
>>> 
>> Eln5/htZP51p7Y/Y1+zZOSSmoi2fQS0deniScan3990xy33RrPfF5odqEVmVYfTzFfKEz94aUXEY
>>> 
>> qY2VGVRCKrAZThk1SwoOB+UyfNSVjoqa4fppIQpTalK/JeR7uxQUr0Aeop68nr2u49GijYiLyvL3
>>> x04lGaZ8jUYZL3gZTNI=
>>> </ds:Y>
>>> </ds:DSAKeyValue>
>>> </ds:KeyValue>
>>> </ds:KeyInfo>
>>> </ds:Signature></apache:RootElement>
>>> <!-- Comment after -->"
>>> 
>>> Following modifications need to be done to be used in Wookie as I
>>> understood.
>>> 
>>>  - DSA is the used signature algorithm where recommended algorithm is
>> RSA
>>>  - This is a signature enveloped by the document and what is needed is
>>>  a separate signature files
>>>  - The signatures for widgets need to consider images, sounds files and
>>>  have to check the behavior
>>> 
>>> I am hoping to work on the above modifications in the given order.
>>> I have submitted draft proposal at
>>> 
>> http://www.google-melange.com/gsoc/proposal/review/google/gsoc2012/pushpalanka/14002
>>> .
>>> It will be great if I can have your comments on that to improve it too.
>> 
>> Yes, I saw the proposal go up on the GSoC site - I read it the other day
>> and I think its looking good.  I think the steps required all look
>> achievable, and the end result would be something of value not just to
>> Wookie but via the signing jar to other W3C Widgets implementations (I
>> could see it being used in at least two other projects...)
>> 
>>> 
>>> On Tue, Mar 27, 2012 at 12:59 PM, Scott Wilson <
>>> [email protected]> wrote:
>>> 
>>>> On 26 Mar 2012, at 11:08, Pushpalanka Jayawardhana wrote:
>>>> 
>>>>> Hi Scott,
>>>>> 
>>>>> Thanks a lot for the valuable opinions.
>>>>> 
>>>>> - I asked in the list [email protected] and got a reply
>>>> from
>>>>> Marcos Caceres saying that OpenSSL will help, which is used in the W3C
>>>>> test suite for XML Digital Signatures for
>>>>> widgets<http://dev.w3.org/2006/waf/widgets-digsig/test-suite/tools/>.
>>>>> But OpenSSL is implemented in C and need some workaround to use here.
>>>> Apache
>>>>> Sanuario <http://santuario.apache.org/> seems a better option which
>>>>> includes the standard JSR 105 (Java XML Digital Signature) API and
>>>>> implemented in Java. This library has been used in several other
>> Apache
>>>>> projects like Rampart and WSS4J.
>>>> 
>>>> Looks good!
>>>>> 
>>>>> 
>>>>> - In allowing authors and distributors to sign their widgets, I think
>>>>> you meant having  '.sh' and '.bat' files. I'm glad to know your
>>>> opinion on
>>>>> signing via an executable jar which will have it's own simple user
>>>>> interface. That way it won't be dependent on the platform.
>>>> 
>>>> Yes, that was what I meant, but I think your idea is better :)
>>>> 
>>>> (I was discussing widgets-digsig on the Mozilla lists as well this week,
>>>> and a nice easy tool for signing widgets would be welcome there too.)
>>>> 
>>>> Thank you and Best Regards,
>>> --
>>> Pushpalanka Jayawardhana | Undergraduate | Computer Science and
>> Engineering
>>> University of Moratuwa
>>> 
>>> +94779716248 | http://pushpalankajaya.blogspot.com
>>> 
>>> Twitter: http://twitter.com/Pushpalanka | Slideshare:
>>> http://www.slideshare.net/Pushpalanka
>> 
>> 
> 
> Best Regards,
> -- 
> Pushpalanka Jayawardhana | Undergraduate | Computer Science and Engineering
> University of Moratuwa
> 
> +94779716248 | http://pushpalankajaya.blogspot.com
> 
> Twitter: http://twitter.com/Pushpalanka | Slideshare:
> http://www.slideshare.net/Pushpalanka

Reply via email to