-
Notifications
You must be signed in to change notification settings - Fork 67
Fixed tls->verify_server #7
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
This breaks the case for platforms that use multiple proxies by mapping the proxy host name to multiple IP addresses in DNS. The reason the DNS lookup is performed in python is because pjsip's DNS lookup is broken. pjsip will do a DNS lookup for every request within the dialog, which means that in-dialog requests and the BYE can end up on a different proxies than the original INVITE. It seems to work in your case because you only have one IP address mapped for the proxy. In addition other things depend on routes being IP addresses, like for example generating the contact URI, which with your change will do a name resolution that will block the twisted thread, whenever that contact is requested by sipsimple during the dialog and may even result in different contact URIs within dialog (for example in a call transfer when a REFER is sent). |
Can we go two steps back and first create a full-blown issue report? The issue reported here affects all products from AG Projects based on SIP SIMPLE Client SDK. That means, tools like the SIP Clients and Blink are not able to connect via SIP over TLS, except: In other words: Even if the remote SIP server offers a valid certificate, with a domain in its certificate as usual, Blink is not able to validate that certificate. Steps to Reproduce
Note Actual Result Root Cause Step Two Approach A
How to apply Attila’s approach even for Blink?
Approach B Approach C
|
Approach B sounds reasonable. If you can provide a patch for existing codebase we are willing to look at integrating it. |
All new developments take place here |
Implemented in AGProjects/python3-sipsimple@799a0b6 |
Created this patch, after installing blink on Arch Linux from AUR.
Couldn't get my-sip-account->advanced->TLS-Verify-Server working.
Without the TLS Server Verification the communication is vulnerable to MITM attack vectors.
My SIP server for testing was Asterisk 16.5.0 w/ chan_pjsip + TLSv1.2 and the certificate from letsencrypt. For letsencrypt I enabled CA:
/etc/ssl/certs/DST_Root_CA_X3.pem
I've tested two use cases:
$ dig bogar.io NAPTR
- SSL CERT CN:bogar.io
vox.bogar.io
Reference: