I'm struggling to get DTLS working on Windows. I am calling talk_base::InitializeSSL(null) and also applying the DtlsSrtpKeyAgreement:true constraint, but I'm assuming that I'm missing a bunch of other steps as createOffer (or createAnswer) always fails for me and I see log errors like "Error: cannot create identity digest with no identity". When the DtlsSrtpKeyAgreement constraint is false I can generate offers and answers just fine.
I noticed in sslconfig.h that it looks like SChannel will be used on Windows by default unless you explicitly elect to use OpenSSL or NSS (via the SSL_USE_SCHANNEL or SSL_USE_OPENSSL defines) but I can't see Where or If they would be set on Windows. Android, iOS, and Posix all seem to enable them (in common.gypi) it's just Windows that doesn't seem to. It seems like SSLIdentity::FromPEMStrings always returns NULL when SChannel is in play, which would explain the errors I'm seeing.
What's the correct way of enabling OpenSSL (or NSS if I should be using that instead) on Windows? Should I be building OpenSSL and then modifying the various WebRTC build files to reference it?
I've done a bunch of searching on discuss-webrtc without much success. I did find
https://code.google.com/p/webrtc/issues/detail?id=1838, which seemed promising, but the issue has alredy been closed as 'fixed' without mentioning what the resolution was.
I'd appreciate any insight at this point as I feel like I'm probably missing a couple of obvious steps.
This is on Windows with MS Visual Studio 2010.