On Mon, Mar 11, 2024 at 2:04 PM David Harris <david.har...@pmail.gen.nz>
wrote:

> Thank you for taking the time to answer my questions - most appreciated.
>
> Your answer has addressed questions 1 and 2 for me. I'm still unclear on
> certain aspects of question 3, though:
>
> [...]
>
> The pseudocode for "sig-alg" says:
>
>     signature    =  sig-alg (d-domain, selector, data-hash)
>
> I took this as meaning that the d-domain and selector strings need to be
> passed to something before the data-hash; the problem was what that
> "something" was - I had been assuming that it was a third hash that was
> then
> signed, yet the rest of the section says (in more than one place) that
> only two
> hashes are required.
>
> Having read through your response, which describes the process as I was
> originally expecting to follow it, I now wonder if this is another case of
> the
> pseudocode having confused me as it did in question (1)... Are we perhaps
> intended to read "d-domain" and "selector" as parameters that are used to
> choose the appropriate signing key, rather than as input to the signed
> data
> itself?
>

Yes.  The d-domain and selector are used to compose the DNS name at which
the verifier will look for the public key, so naturally that tuple also
identifies the corresponding private key you need to use when signing.

I suppose you could think of it this way as well:

signature = sig-alg(private_key(d-domain, selector), data-hash)

...where the private_key() function yields the private key matching the
(d-domain, selector) tuple.

-MSK
_______________________________________________
Ietf-dkim mailing list
Ietf-dkim@ietf.org
https://www.ietf.org/mailman/listinfo/ietf-dkim

Reply via email to