down votefavorite <http://stackoverflow.com/questions/34832602/android-play-https-video-with-certificate-private-key#>
I'm struggling for several days with an android issue, I cannot play videos from a HTTPS URL(hosted on digizuite.com if matters) using a Certificate and a Private Key: I'm having a html with these videos embedded and I need either to play inside html or outside in a player. The next source code I used in order to get the pages accesibile in WebView(so certificate it's ok) but I get error "html5: Video file not found" Error log: > 01-16 22:56:27.430 5829-6280/> E/cr_MediaResourceGetter: Error configuring > data source: setDataSource> failed: status = 0x80000000 01-16 22:56:27.430> > 5829-6280/ E/cr_MediaResourceGetter: Unable to> configure metadata extractor > 01-16 22:56:29.942> 5829-6320/e E/cr_MediaResourceGetter: Error> configuring > data source: setDataSource failed: status = 0x80000000> 01-16 22:56:29.942 > 5829-6320/> E/cr_MediaResourceGetter: Unable to configure metadata extractor > 01-16> 22:56:30.001 5829-5829/ W/MediaPlayer: Couldn't > open file on client side; trying server side: > java.io.FileNotFoundException: No content provider: > https://testname.digizuite.com/video.mp4 > 01-16 22:57:06.353 5829-5842/ E/MediaPlayer: error > (1, -2147483648) 01-16 22:57:06.360 5829-5829/ > E/MediaPlayer: Error (1,-2147483648) ------------------------------ webView.setWebViewClient(new WebViewClient() { @Override public void onReceivedClientCertRequest(WebView view, ClientCertRequest handler) { try { AssetManager assetManager = getActivity().getAssets(); InputStream inputStream = assetManager.open("test.pem"); String caCert = IOUtil.readFully(inputStream); KeyStore store = SSLContextFactory.getInstance().getKeyStore(assetManager.open("certificate_test.p12"), "password", caCert); PrivateKey privateKey = null; X509Certificate[] certificates = null; Enumeration<String> e = store.aliases(); for (; e.hasMoreElements(); ) { String alias = e.nextElement(); if (store.isKeyEntry(alias)) { KeyStore.PrivateKeyEntry entry = (KeyStore.PrivateKeyEntry) store.getEntry(alias, null); privateKey = entry.getPrivateKey(); certificates = (X509Certificate[]) entry.getCertificateChain(); } } if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { handler.proceed(privateKey, certificates); } } catch (Exception e) { e.printStackTrace(); } } }} I have installed the certificate also on Device (Settings/Security) and in Chrome it's the same problem, pages are accesibile but videos can't be played. I've installed Firefox and using a plugin "AddCertificate 1.0.10.01.1" the video was played ok. I will prepare a cold beer for a good advice :D -- You received this message because you are subscribed to the Google Groups "Android Developers" group. To unsubscribe from this group and stop receiving emails from it, send an email to android-developers+unsubscr...@googlegroups.com. To post to this group, send email to android-developers@googlegroups.com. Visit this group at https://groups.google.com/group/android-developers. To view this discussion on the web visit https://groups.google.com/d/msgid/android-developers/7c12ab57-2fa3-43d9-b42d-f2ca33a8eca8%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.