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