Nils Ohlmeier wrote:
On Monday 10 October 2005 19:54, Klaus Darilion wrote:
As it is now, the current tls code does not really allow for flexibility, i would say. How about creating some kind of module that would allow in-depth access to tls functions, such as
- tls_verify_peer_cert()
- tls_check_from()
- tls_check_to()
I agree. We will need this functions. We should also document what the current implementation is validating (when authenticating a server certificate: which domain is checked against which part of the certificate?) ...
Just a note: your are thinking/discussing here about the connection layer. But when the script is processed the connection is already established. So the only thing which you can do in the script is verifying the client certificate. As the connection is already established you can only reject the request on the SIP layer. And client certificates usually work only in proxy-toproxy scenarios, but not for typical UA's. Server certificate verification can only be handled by a global policy.
basically, there are two cases: 1) incoming TLS connections - you can check the connection properties from script (based on the source IP, like if it's a proxy peer, check if a certificate was provided). You may reject the connection on SIP level 2) outgoing connections - you can set before relaying the desired parameters for the outgoing TLS connection (again, based on the destination IP, if it's peer or not). In this case the rejection will take place directly at connection layer.
based on this you can deal in a secure way with both UAC and proxy certificated.
regards, bogdan