Apologies, I hit 'Send' too early. Finished a sentence below:

On Sun, Sep 4, 2016 at 1:41 PM David Benjamin <david...@chromium.org> wrote:

> I have no involvement in systems that would want this (our implementation
> just ignores it), but it seems a TLS-style registry would be better than
> using OIDs anyway. Concretely:
>
> A CertificateExtension is a hint to the client about what kind of
> certificates are acceptable. We have a registry of u16s for them. Clients
> ignore extensions they don't understand, so it is ultimately on the server
> to check the certificate is acceptable (as it always is). If we wish to
> filter on OIDs, we define, e.g., a key_usage value whose contents have some
> KeyUsage-specific meaning.
>
> That would buy us:
>
> - More consistency with other TLS fields.
>
> - More compact encoding. (At the cost of going getting to define 2^16 rule
> types, but this seems to have been everywhere else.)
>
> - It is easy to look up what a CertificateExtension means and avoid
> conflicts. I can go to the registry and see that type 43 means "match
> KeyUsage in this way". For OIDs, it's not obvious whether
>

For OIDs, it's not obvious whether a given OID has had a matching rule
defined. (Existing X.509 extensions do not have TLS-level matching rules
defined. I expect new ones will be defined without them too.)


> - Relatedly, we can define multiple kinds of matching rules on the same
> OID. Suppose we define it one way and we realize we got it wrong. The OID
> scheme means we're stuck with it. The TLS-style scheme allows us to define
> key_usage_v2 if needed.
>
> - Less confusion about known OIDs with unknown matching rules. The text is
> a little funny right now. There are plenty of known extension OIDs right
> now with unknown matching rules. Do we fallback to exact match (which means
> we can never change this) or should clients ignore those? That enforcing
> known OIDs is a MUST-level requirement makes this messier.
>
> - More flexibility in defining future rule types. Perhaps we want to say
> some extension is not present. Or some rule is really a combination of two
> OIDs. Or not an OID at all like "your RSA key must be at least 2048 bits".
>
> What do folks think?
>
> David
>
> On Sun, Sep 4, 2016 at 6:56 AM Ilari Liusvaara <ilariliusva...@welho.com>
> wrote:
>
>> How are the OIDs and values in CertificateRequest extensions encoded
>> exactly (I can't make it out from the text)?
>>
>>
>> Does the OID part have the ASN.1 OID TLV tag and length (e.g.
>> is EKU 0x55 0x1D 0x25 or 0x06 0x03 0x55 0x1D 0x25)?
>>
>>
>> And how is the value encoded? Using the same encoding as
>> extnValue payload of respective extension in X.509 certifcates?
>> Or is it OID-specific (and if it is, what exactly goes to it
>> for EKU and KU? RFC 5280 ExtKeyUsageSyntax and KeyUsage?)
>>
>>
>> (Currently the text just refers to DER encoding, and in a
>> way that could be read to apply to just to values).
>>
>>
>> -Ilari
>>
>> _______________________________________________
>> TLS mailing list
>> TLS@ietf.org
>> https://www.ietf.org/mailman/listinfo/tls
>>
>
_______________________________________________
TLS mailing list
TLS@ietf.org
https://www.ietf.org/mailman/listinfo/tls

Reply via email to