[Date Prev][Date Next]
[Chronological]
[Thread]
[Top]
Re: SASL/EXTERNAL (TLS)
At 12:04 PM 8/17/00 +0200, Michael Ströder wrote:
>"Kurt D. Zeilenga" wrote:
>>
>> The authentication identity can be in any form.
>
>The identity has to be unique?
It doesn't not have to be globally unique. But, locally,
it should be unique with the realm and mechanism.
>> I rather the
>> form be as "natural" as possible. That is, if the authentication
>> identity is derived from an X.509 certificate, the identity
>> should be "natural" (e.g. X.500) form.
>
>I would not even speak of a X.500 form when using a cert DN since
>most CAs issue certs without caring about directory structure at
>all. E.g. look at my freemail cert DN issued by Thawte:
>
>/S=Stroeder/G=Michael/CN=Michael Stroeder/Email=michael@stroeder.com
Which is exactly why we should use this, the natural form, as the
authentication identity.
>Just use the cert DN as unstructured but unique identifier
>regardless of being meant as X.500 name in former days.
Exactly what we are doing. We're rely on the underlying service,
TLS in this case, to provide a string representing the authentication
identity. We support any form. When no separate authorization
identity is provided, we imply an authorizaton identity of:
u:/S=Stroeder/G=Michael/CN=Michael Stroeder/Email=michael@stroeder.com
Which we'll then try turned into the DN:
uid=S=Stroeder/G=Michael/CN=Michael Stroeder/Email=michael@stroeder.com
but will fail due to use of characters which need to be escaped.
When I (or someone else) gets a chance, we'll implement escaping,
so it will be:
uid=S\3DStroeder/G\3DMichael/CN\3DMichael Stroeder/Email\3Dmichael@stroeder.com
And once Mark gets done, it likely will look like:
uid=S\3DStroeder/G\3DMichael/CN\3DMichael Stroeder/Email\3Dmichael@stroeder.com, cn=EXTERNAL, cn=AUTHZ
when you can then regex into the DN of your choice.
>Note: The
>cert DN has only to be unique within the name-space of a CA. Two
>different CAs can issue different certs with the same DN.
True. ldap_pvt_tls_get_peer() will likely need to
be extended to support a variety of other certificate types
and/or authentication forms as well as to deal with name-space
issues. Likely "X509:" should be prefixed to X.509 certificates
and a CA DN appended. So, we'd end up with a authcId of
X509:S\3DStroeder/G\3DMichael/CN\3DMichael Stroeder/Email\3Dmichael@stroeder.com//CA:ca-x500-dn
which then would be stuff into the DN as noted above, then
regexed as directed.