Can I use using boringssl and openssl shared libraries in the same process in Windows? ()

1,035 views
Skip to first unread message

Mert Büyüktuncay

unread,
Aug 22, 2016, 2:22:25 PM8/22/16
to discuss-webrtc
Hi,

First a little summary :
I am trying to make a proof of concept work with webRTC.
I've started to work on an example project that uses web-socket for signaling (this one : https://github.com/webrtc/samples)
I've seen browser to browser communication work successfully. Now I am trying to replace one of the browser peers with an application that is written in C++.
I've used websocket++ (it has an openssl dependency) for signaling and that seemed to worked fine alone.
After then I've added the webRTC code. But now I see crashes right after the app connects to the web-socket server. 
The crash occurs during a call to SSL_set_tlsext_host_name in some preinit method that is related to ssl. 
Now before I put more work hours into this I want to make sure I am not doing something that does not make sense.


The libraries in C++ application process:
webRTC
several boost libraries (boost 1.60)
websocket++
openssl (due to websocket++)
boringssl (due to webRTC)
probably more webRTC dependencies (protobuf_lite etc.)

environment details:
windows 10
x64 
visual studio 2015
using prebuild openssl  OpenSSL 1.0.2d 
webRTC has been build with c++ exceptions ENABLED (our boost builds along with all of our other modules has exceptions on so this is a must for me)


The question is:
Is it safe to include both boringSSL and openssl in the same process if they are build as shared libraries (dll files for windows)?
And if the answer to the previous question is NO, given that google does not recommend the usage of boringssl and the majority of the libraries I've seen so far are using openssl for ssl needs which libraries can you offer 
 -- instead of boost::asio (uses openssl)
 -- for websocket based communication

My question seems like a little bit too obvious and I searched the web hours before posting here, but I just could not make myself absolutely sure.


Regards
Mert



Taylor Brandstetter

unread,
Aug 22, 2016, 3:36:43 PM8/22/16
to discuss...@googlegroups.com
You should be able to build the WebRTC library to use your own version of OpenSSL. Here's a thread where this was previously discussed: https://groups.google.com/forum/#!msg/discuss-webrtc/muT4irg2dvI/X84U9K7STi8J

In short, I think you need to set "build_ssl" to 0 and "ssl_root" to the root directory of your OpenSSL includes.

--

---
You received this message because you are subscribed to the Google Groups "discuss-webrtc" group.
To unsubscribe from this group and stop receiving emails from it, send an email to discuss-webrtc+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/discuss-webrtc/0afb08a4-acb6-4229-a214-61532e119ca4%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

radioman . lt

unread,
Aug 23, 2016, 12:29:04 PM8/23/16
to discuss-webrtc
i'm not sure if .net is ok for you but i used c# websockets with my simple wrapper, demo included https://github.com/radioman/WebRtc.NET
Reply all
Reply to author
Forward
0 new messages