7 jul 2011 kl. 16.45 skrev Brez Borland:

> On Thu, Jul 7, 2011 at 3:11 PM, Olle E. Johansson <o...@edvina.net> wrote:
>  
> > > 2) not perform validation of the upstream element cert. Because by
> > > forwarding a response, by definition, it acts as a server in this 
> > > particular
> > > transaction(request, and any responses to it).
> > >
> > > Why one would care validating a certificate of an upstream element when
> > > forwarding a response, if one doesn't case about that validity when he's
> > > forwarding a request?
> >
> > It could occur that proxy A presents to proxy B a client TLS
> > certificate owning domain atlanta.com, and then proxy A routes a
> > request witth From domain "atlanta.com" to proxy B. Let's also suppose
> > that the Via contains "myserver.org" in sent-by-host.
> >
> > proxy B cannot forward a response to proxy A using the TLS connection
> > so resolves myserver.org and connects there using TLS. Then proxy A
> > shows a certificate for domain atlanta.com rather than myserver.org.
> > Should proxy B allow it?
> >
> > Proxy B should not discard data(certificates previously received) 
> > associated with Proxy A when it tries to reconnect to it. I think Proxy B 
> > should retain the certificate atlanta.com, and have it associated with 
> > myserver.org, at least for the lifetime of transaction. So after resolving 
> > and connecting to myserver.org it could compare the newly received 
> > certificate atlanta.com with the one in caches.
> >
> Never ever. You can't assume that because you got a certificate valid for one 
> domain that it's valid for another based on reverse DNS... If the target URI 
> domain doesn't match the certificate, it's not a valid connection. TLS and 
> certificates doesn't give room for "assuming" or "guessing". That's just 
> wrong.
> 
> Two policies are possible, the server-only cert validation, and mutual cert 
> validation. We are discussing server-only cert validation scenario.
> 
> Why would Proxy B want to _validate_ the certificate of Proxy A if it have 
> not done so when Proxy A established a connection? Proxy B might want to 
> _verify_ that Proxy A presented the same certificate when Proxy B falls back. 
Proxy A sets up a connection to proxy B and have a request with a SIP target 
URI in mind. It needs to validate proxy B before transmitting the message. I 
think we're in agreement there.

When proxy B sets up a connection to proxy A with another target SIP URI, it 
needs to validate that URI. It can't assume anything, nothing, since it has 
never gotten a certificate from proxy A...

> 
> If connection is invalid Proxy B(UAS) doesn't become a UAC to Proxy A just 
> because the underlying connection was closed and Proxy B is now reconnecting. 
> Proxy B is forwarding a _response_, therefore its role is UAS. And in the 
> scenario in question, UAC cert is not validated.
> 
>  
> 
> > Anyhow, I agree that it does not make sense to verify a certificate
> > when sending a response using the fallback mechanism (sending it to
> > the Via sent-by-host).
> >
> If you still have a valid connection. But if you don't....
> 
> 
> You silently discard the response. This is as per rfc3261, Section 16.9.
RIght. That's one way of doing it.

> 
> 
> 
> This is one helluva topic!
Agree!

/O
_______________________________________________
Sip-implementors mailing list
Sip-implementors@lists.cs.columbia.edu
https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors

Reply via email to