2011/7/7 Olle E. Johansson <o...@edvina.net>: >> 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.
So that would require that the Via in the request sent from proxy-A to proxy-B to be a domain. If it's an IP, then when proxy-B connects to it for sending the response (fallback mechanism) the certificate validation would fail. And this also requires that the domain in the request Via sent-by to point *just* to proxy-A server (no SRV stuff or varios A/AAAA records). If not, proxy-B could decide to contact other proxy rather than proxy-A itself (so the response would not be matched within its transaction and would be discarded by the new proxy). And of course, the domain in Via sent-by should be included within the certificate proxy-A presentates to proxy-B. This means that, for example: - atlanta.com points (via NAPTR/SRV) to proxy-A1, proxy-A2 and proxy-A3. - proxy-A1 has a certificate including domains atlanta.com and proxy-a1.atlanta.com. - proxy-A2 has a certificate including domains atlanta.com and proxy-a2.atlanta.com. - proxy-A3 has a certificate including domains atlanta.com and proxy-a3.atlanta.com. - proxy-A1 connects to proxy-B and presents its certificate (valid, OK). Also proxy-B presents its cert (OK). - proxy-A1 sends a request with From domain "atlanta.com" and Via sent-by "proxy-a1.atlanta.com". - TLS connection gets broken and proxy-B does fallback resolving "proxy-a1.atlanta.com" (Via sent-by). - proxy-B then opens a new TLS connection with proxy-A1 and receives the certificate with includes "proxy-a1.atlanta.com" domain, so proxy-B is happy and sends the response. In *any* other case this would not work at all, which means that this will NEVER work, not at least during this Century. But it could be cool to write a paper about it XD -- Iñaki Baz Castillo <i...@aliax.net> _______________________________________________ Sip-implementors mailing list Sip-implementors@lists.cs.columbia.edu https://lists.cs.columbia.edu/cucslists/listinfo/sip-implementors