- From: Joseph Reagle <reagle@w3.org>
- Date: Wed, 28 Aug 2002 13:03:31 -0400
- To: "Takeshi Imamura" <IMAMU@jp.ibm.com>, merlin@baltimore.ie
- Cc: xml-encryption@w3.org
On Monday 26 August 2002 05:02 am, Takeshi Imamura wrote:
> ... I just implemented the latest spec and tried
> your samples below.
Great, the report is updated!
>Though I didn't try the ones using XPointer because
> I didn't support it, I succeeded in the others.
I presume this means the following two cases, but all others pass? (Also,
you would not be able to validate the signature used in the example of
section 3.3?)
FIRST
> . decrypt-xml-except-xpointer.xml
> XML-mode decryption transform with XPointer exception (non-mandatory)
You don't support the following sort of expression because you don't support
full XPointer in the Except?
<dsig:Transform Algorithm="http://www.w3.org/2002/07/decrypt#XML">
<dcrpt:Except xmlns:dcrpt="http://www.w3.org/2002/07/decrypt#"
URI="#xmlns(po=http://example.org/po)xpointer(/po:PurchaseOrder/po:PaymentInfo/*[last()])"/>
</dsig:Transform>
SECOND
> . decrypt-xml-except-unresolvable-xpointer.xml
> XML-mode decryption transform with irrelevant but unresolvable
> exception
Again, you don't support the following (and even if you did, it's intended
to fail! <smile/>)
<dsig:Transform Algorithm="http://www.w3.org/2002/07/decrypt#XML">
<dcrpt:Except xmlns:dcrpt="http://www.w3.org/2002/07/decrypt#"
URI="#xpointer(/Nothing/To/Resolve)" />
</dsig:Transform>
IMPLICATIONS
"Full XPointers" appear as two "features." First, an Except URI might
include a full XPointer; this is because we say we inherit the profile of
Reference Processing specified in xmldsig. Second, when dereferencing a
full XPointer in the context of a replacement node-set, this requires some
additional tweaking/accommodation of one's code.
So, presently, we only have one implementation (Merlin) that accommodates
full XPointers in the Exception URI? If so, we have three options:
1. Be "strict" and say since we don't have two interoperable implementations
of this spec with full XPointer support, we drop both features.
2. Be "flexible" and say that since the first feature is profile/inheritted
from xmldsig, and it is optional there, we should also consider it
optional, but the dereferencing into the replacement node is dropped.
3. Be "loose" and continue with both.
What do folks want do do? Presently, I'm somewhere between 1&2. I can
certainly see the use the full XPointer, but I also think we're doing
somewhat of a disservice to folks if they create signatures using this and
others can validate them. But then again, we're not doing anything that
already isn't done in xmldsig: some folks might not except such signatures.
Also, the spec says, "Unlike XML Signature [XML-Signature], the exception
URI may be evaluated against a different document from the signature
document. If the input is a different document then, as per XPointer
[XPointer], use of the here() function is an error." I've forgotten what
this means with respect to xmldsig. What, exactly in xmldsig, is different?
Received on Wednesday, 28 August 2002 13:04:11 UTC