[xmlsec] Emailing: EdTestFormNoMSO.zip

Edward Shallow ed.shallow@rogers.com
Wed, 24 Sep 2003 10:21:31 -0400


Aleksey,

     Thanks for your hints. The following works fine. 2 points of notice.

1) In the Pre-Digest buffer (see below) I will get extra white space and/or
CRLFs for every "subtract" I add in the transform chain. Do I need to do
another Canonicalization after the set of filters ? Can this be expressed as
a transform ?

2) Is there any way to do a "wildcard" type thing with the "subtract" so I
might use only a single filter instead of one for every //SignatureN ? Like
a sort of //Signature(*) or something ?

Thanks,
Ed  


<?xml version="1.0"?>
<Document>
	<ToBeSigned>
		<Data>We must sign this.</Data>
		<Signature1>1st exclude</Signature1>
		<Signature2>2nd exclude</Signature2>
	</ToBeSigned>
	<Signature xmlns="http://www.w3.org/2000/09/xmldsig#"
xmlns:dsig-xpath="http://www.w3.org/2002/06/xmldsig-filter2">
		<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"/>
					<Transform
Algorithm="http://www.w3.org/2002/06/xmldsig-filter2">
						<dsig-xpath:XPath
Filter="intersect"> //Document </dsig-xpath:XPath>
						<dsig-xpath:XPath
Filter="subtract"> //Signature1 </dsig-xpath:XPath>
						<dsig-xpath:XPath
Filter="subtract"> //Signature2 </dsig-xpath:XPath>
					</Transform>
				</Transforms>
				<DigestMethod
Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"/>
				<DigestValue></DigestValue>
			</Reference>
		</SignedInfo>
		<SignatureValue>
		</SignatureValue>
		<KeyInfo>
			<X509Data>
				<X509SubjectName></X509SubjectName>
				<X509IssuerSerial></X509IssuerSerial>
				<X509Certificate></X509Certificate>
			</X509Data>
		</KeyInfo>
	</Signature>
</Document>



== PreDigest data - start buffer:
<Document>
        <ToBeSigned>
                <Data>We must sign this.</Data>


        </ToBeSigned>

</Document>
== PreDigest data - end buffer

 

-----Original Message-----
From: xmlsec-admin@aleksey.com [mailto:xmlsec-admin@aleksey.com] On Behalf
Of Aleksey Sanin
Sent: September 23, 2003 11:55 PM
To: Edward Shallow
Cc: xmlsec@aleksey.com
Subject: Re: [xmlsec] Emailing: EdTestFormNoMSO.zip


>Secondly but related, how would one create parallel signatures over the 
>same data using XMLSec ?  Using 2 successive sign operations ?
>
Yes.

>Assuming one is using a template, what would it look like for the 2nd sign
operation ? 
>
Template is just an XML file, remember :)

>For this 2nd pass, does the enveloped-signature transform only exclude 
>the signature being applied (i.e. the 2nd) ?
>  
>
Enveloped transform by definition excludes only the current signature (see
XMLDSig spec for details).
It does not matter is it first or second signature.

>If so, what is the best way to exclude the 1st ? 
>
XInclude, XPath, XPath2 or XSLT transofrms are probably the simplest ways
(you might have interop problems with XPath2). But probably I wouldn't use
XSLT just for that task.

Aleksey


_______________________________________________
xmlsec mailing list
xmlsec@aleksey.com
http://www.aleksey.com/mailman/listinfo/xmlsec