aricpp icon indicating copy to clipboard operation
aricpp copied to clipboard

Ability to use wss and https

Open ferchor2003 opened this issue 4 years ago • 3 comments

In environments where security is required, we need to be able to connect to Asterisk using secure web socket (wss) and send/receive POST requests over https. The application should provide the certificates to use to connect to the asterisk server, pass them to the client so it can be used by the httpclient and the websocket classes

ferchor2003 avatar Feb 23 '21 23:02 ferchor2003

Yes, I agree: this should be on our TODO list. This development will be scheduled as soon as possible. Please note that everyone can accelerate the development by becoming a sponsor, so consider clicking the heart on top of my github page! :-)

Anyway, I should point out that the typical security scenario is that asterisk and the ARI application are both deployed on the same server, with the ARI configured to be accessed only from localhost. By restricting the access, you don't usually need ARI over https. Please consider this (temporary) solution for your project.

daniele77 avatar Feb 24 '21 07:02 daniele77

My ARI application is a Visual C++ 2015 project, of course running on a Windows server. Cannot have Asterisk in the same box. Using http and ws protocols is fine for development, but will need https and wss for production.

Note: I have done a couple of modifications to the code to get it to compile for VS 2015 because it does not support C++ 14/17 features from aricpp.

ferchor2003 avatar Feb 24 '21 18:02 ferchor2003

I know boost::beast (the library that provides HTTP and WS to aricpp ) has support for SSL, so I hope we can put this feature into aricpp soon.

In the meantime, you could try with a reverse proxy (e.g., nginx) on the windows server: asterisk would use HTTPS + WSS that are converted to HTTP + WS on the widows server by the reverse proxy, so that ARICPP can understand them.

daniele77 avatar Feb 25 '21 08:02 daniele77