- From: =JeffH via GitHub <sysbot+gh@w3.org>
- Date: Tue, 16 Aug 2016 22:20:46 +0000
- To: public-webauthn@w3.org
equalsJeffH has just created a new issue for
https://github.com/w3c/webauthn:
== hostname canonicalization in {#makeCredential} section? ==
webauthn says (in
https://github.com/w3c/webauthn/pull/154/files#diff-ec9cfa5f3f35ec1f84feb2e59686c34dR391
L391-L396...
```
3. Set |callerOrigin| to the origin of the caller. Derive
the RP ID from |callerOrigin| by computing the "public suffix + 1" or
"PS+1"
(which is also referred to as the "Effective Top-Level Domain plus
One" or
"eTLD+1") part of |callerOrigin| [[PSL]]. Let |rpId| be the lowercase
form of this RP ID. Set |rpIdHash| to the SHA-256 hash of the UTF-8
encoding
of |rpId|.
```
this is apparently operating on the `hostname` component of
`|callerOrigin|`. (this itself needs to be clarified but tracked in a
separate issue)
instead of simply lower casing the hostname and ensuring utf-8
encoding (as done in 3d and 4th sentences), should we not be
specifying something essentially the same as done in RFC6265
<https://tools.ietf.org/html/rfc6265#section-5.1.2> ?
```
5.1.2. Canonicalized Host Names
A canonicalized host name is the string generated by the following
algorithm:
1. Convert the host name to a sequence of individual domain name
labels.
2. Convert each label that is not a Non-Reserved LDH (NR-LDH)
label,
to an A-label (see Section 2.3.2.1 of [RFC5890] for the former
and latter), or to a "punycode label" (a label resulting from
the
"ToASCII" conversion in Section 4 of [RFC3490]), as appropriate
(see Section 6.3 of this specification).
3. Concatenate the resulting labels, separated by a %x2E (".")
character.
```
this is because in this world of deployed IDNA (RFC5890 and RFC3490,
see also [1]), all operations on domain names must be done
label-by-label, on A-labels and Non-Reserved LDH (NR-LDH) labels.
Alternatively, if it is assumed that a user agent implementing
webauthn will have already performed "host name canonicalization", the
webauthn spec should state that and cite the appropriate (likely W3C)
spec requiring that processing.
[1] https://tools.ietf.org/html/rfc6265#section-6.3
```
6.3. IDNA Dependency and Migration
IDNA2008 [RFC5890] supersedes IDNA2003 [RFC3490]. However, there
are
differences between the two specifications, and thus there can be
differences in processing (e.g., converting) domain name labels
that
have been registered under one from those registered under the
other.
There will be a transition period of some time during which
IDNA2003-
based domain name labels will exist in the wild. User agents
SHOULD
implement IDNA2008 [RFC5890] and MAY implement [UTS46] or [RFC5895]
in order to facilitate their IDNA transition. If a user agent does
not implement IDNA2008, the user agent MUST implement IDNA2003
[RFC3490].
```
Please view or discuss this issue at
https://github.com/w3c/webauthn/issues/167 using your GitHub account
Received on Tuesday, 16 August 2016 22:20:53 UTC