@@ -263,3 +263,55 @@ void test_connectivity(bool signal_wrong_fingerprint) {
263
263
264
264
cout << " Success" << endl;
265
265
}
266
+
267
+ const char * key_pem =
268
+ " -----BEGIN PRIVATE KEY-----\n "
269
+ " MIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg3bbuT2SjSlMZH/J1\n "
270
+ " vHwmF0Blb/DBc/v7f1Za9GPUXHmhRANCAATDpmYxZozjVw6xlERNjJJGgfY3bEmj\n "
271
+ " xAKFRq3nbxbDHvMEs34u9HntMZWJ0hp3GUC+Ax7JHTv3cYqSaAg2SpR4\n "
272
+ " -----END PRIVATE KEY-----\n " ;
273
+
274
+ const char * cert_pem =
275
+ " -----BEGIN CERTIFICATE-----\n "
276
+ " MIIBgjCCASigAwIBAgIJAPMXEoZXOaDEMAoGCCqGSM49BAMCMEoxDzANBgNVBAMM\n "
277
+ " BmNhLmNvbTELMAkGA1UEBhMCVVMxCzAJBgNVBAcMAkNBMRAwDgYDVQQKDAdleGFt\n "
278
+ " cGxlMQswCQYDVQQIDAJDQTAeFw0yNDA1MDUxNjAzMjFaFw0yNDA4MTMxNjAzMjFa\n "
279
+ " MDExCzAJBgNVBAYTAkNOMRAwDgYDVQQKDAdiYW96LmNuMRAwDgYDVQQDDAdiYW96\n "
280
+ " Lm1lMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEw6ZmMWaM41cOsZRETYySRoH2\n "
281
+ " N2xJo8QChUat528Wwx7zBLN+LvR57TGVidIadxlAvgMeyR0793GKkmgINkqUeKMQ\n "
282
+ " MA4wDAYDVR0TAQH/BAIwADAKBggqhkjOPQQDAgNIADBFAiAPNldqGJHryfjPFyX3\n "
283
+ " zfHHWlO7xSDTzdyoxzroFdwy+gIhAKmZizEVvDlBiIe+3ptCArU3dbp+bzLynTcr\n "
284
+ " Ma9ayzQy\n "
285
+ " -----END CERTIFICATE-----\n " ;
286
+
287
+ void test_pem () {
288
+ InitLogger (LogLevel::Debug);
289
+
290
+ Configuration config1;
291
+
292
+ config1.certPem = cert_pem;
293
+ config1.keyPem = key_pem;
294
+
295
+ PeerConnection pc1 (config1);
296
+ atomic_bool done;
297
+ string f;
298
+
299
+ pc1.onLocalDescription ([&done, &f](Description sdp) {
300
+ f = sdp.fingerprint ().value ().value ;
301
+ done = true ;
302
+ });
303
+
304
+ auto dc1 = pc1.createDataChannel (" test" );
305
+
306
+ // Wait a bit
307
+ int attempts = 10 ;
308
+ while (!done && attempts--)
309
+ this_thread::sleep_for (1s);
310
+
311
+ cout << " Fingerprint: " << f << endl;
312
+
313
+ if (f != " 07:E5:6F:2A:1A:0C:2C:32:0E:C1:C3:9C:34:5A:78:4E:A5:8B:32:05:D1:57:D6:F4:E7:02:41:12:E6:01:C6:8F" )
314
+ throw runtime_error (" The fingerprint of the specified certificate do not match" );
315
+
316
+ cout << " Success" << endl;
317
+ }
0 commit comments