>> First, let me demote (2) from a SHOULD to a MAY, since there is a
>> workaround.
>> 
>> The thinking is that it may be common for deployments to use the same
>> "cert-to-name" strategy everywhere (e.g., IDevID certificates), and
>> hence there is no need to specify a "fingerprint" in order to lookup
>> what strategy to use.  For these cases, it would be better to not
>> specify a fingerprint at all.  If this remains "mandatory true", the
>> best fallback would be to specify the fingerprint for the *root* CA
>> certs spanning the end-entity certs connecting to that endpoint.
> 
> Are we still talking about the usage of cert-to-name in
> ietf-netconf-server?  

....and ietf-restconf-server, yes.



> If so we have (as one example):
> 
>  +--rw netconf-server
>     +--rw listen! {ssh-listen or tls-listen}?
>        ...
>        +--rw endpoint* [name]
>           ...
>           +--rw (transport)
>              ...
>              +--:(tls) {tls-listen}?
>                 +--rw tls
>                    ...
>                    +--rw netconf-server-parameters
>                       +--rw client-identification
>                          +--rw cert-maps
>                             +--rw cert-to-name* [id]
>                                +--rw id           uint32
>                                +--rw fingerprint  x509c2n:tls-fingerprint
>                                +--rw map-type     identityref
>                                +--rw name         string
> 
> [we can discuss if this is the best structure, but that's another
> thread]
> 
> What would a "cert-to-name" entry mean if the fingerprint isn't present?


Your snippet excludes "tis-server-perameters".   Here is a more complete view:

  +--rw restconf-server
     +--rw listen! {http-listen or https-listen}?
        +--rw endpoint* [name]
           +--rw name           string
           +--rw (transport)
              +--:(http)
              |  +--rw http
              |     ...
              +--:(https)
                 +--rw https
                    +--rw tcp-server-parameters
                    |  ...
                    +--rw tls-server-parameters
                    |  +--rw server-identity
                    |  |  ...
                    |  +--rw client-authentication!
                    |  |  +--rw (required-or-optional)
                    |  |  |  ...
                    |  |  +--rw (local-or-external)
                    |  |     +--:(local)
                    |  |     |  +--rw ca-certs!  
                    |  |     |  |  ...
                    |  |     |  +--rw client-certs!
                    |  |     |     ...
                    |  |     +--:(external)
                    |  |        ...
                    |  +--rw hello-params
                    |  |  ...
                    +--rw http-server-parameters
                    |  +--rw server-name?             string
                    |  +--rw protocol-versions
                    |  |  +--rw protocol-version*   enumeration
                    |  +--rw client-authentication!
                    |     ...
                    +--rw restconf-server-parameters
                       +--rw client-identification
                          +--rw cert-maps
                             +--rw cert-to-name* [id]
                                +--rw id             uint32
                                +--rw fingerprint
                                |       x509c2n:tls-fingerprint
                                +--rw map-type       identityref
                                +--rw name           string


The "tls-server-parameters" container defines the certificates used to 
authenticate the client's cert.   In many deployments, regardless how the 
client cert is authenticated, the "client-identification" section only needs to 
explain extract the "name" from the cert, a fingerprint isn't needed to 
identify either the client's end-entity or some intermediate cert.




> 
>> New issue.  Why isn't "list cert-to-name" order-by user given:
>> 
>>          "The id specifies the order in which the entries in the
>>           cert-to-name list are searched.  Entries with lower
>>           numbers are searched first.";
>> 
>> I suspect that this is for SNMP compatibility, but then your earlier
>> response on this thread said regarding "mandatory true" and empty
>> fingerprint values suggested that more appropriate YANG-isms should be
>> used, in general.  "ordered-by user" vs "ordered by id" seems like
>> such a case.
> 
> Yes I agree.  I don't recall but I also suspect the motivation was
> simple mapping to the MIB.  (mapping a zero-length string to/from an
> optional leaf is straightforward).

Is it too late to fix?   No reason to hold onto SNMP compatibility, given SNMP 
is now deprecated...


Kent // contributor

_______________________________________________
netmod mailing list
[email protected]
https://www.ietf.org/mailman/listinfo/netmod

Reply via email to