public jvm::java.security.cert.X509Certificate[] getAcceptedIssuers() { // tested by ? var dir = new FileInfo(typeof(TrustEveryoneManager).Assembly.Location).Directory; // firefox needs a cert here? //Console.WriteLine("X509TrustManager getAcceptedIssuers " + new { dir }); var ff = from f in dir.GetFiles() where f.Name.EndsWith(".crt") //jvm::java.security.cert.CertificateFactory.getInstance("X.509").generateCertificate( //let crt = jvm::java.security.cert.X509Certificate. select f; var a = new List<jvm::java.security.cert.X509Certificate> { }; foreach (var item in ff) { //Console.WriteLine("X509TrustManager getAcceptedIssuers " + new { item.FullName }); try { var ksfis = new jvm::java.io.FileInputStream(item.FullName); var certificate = (jvm::java.security.cert.X509Certificate) jvm::java.security.cert.CertificateFactory.getInstance("X.509").generateCertificate(ksfis); // Z:\jsc.svn\examples\javascript\ubuntu\UbuntuSSLWebApplication\UbuntuSSLWebApplication\ApplicationWebService.cs a.Add(certificate); } catch { } } //Console.WriteLine("X509TrustManager getAcceptedIssuers " + new { a.Count }); return a.ToArray(); }
public jvm::java.security.cert.X509Certificate[] getAcceptedIssuers() { // tested by ? var dir = new FileInfo(typeof(TrustEveryoneManager).Assembly.Location).Directory; // firefox needs a cert here? //Console.WriteLine("X509TrustManager getAcceptedIssuers " + new { dir }); var ff = from f in dir.GetFiles() where f.Name.EndsWith(".crt") //jvm::java.security.cert.CertificateFactory.getInstance("X.509").generateCertificate( //let crt = jvm::java.security.cert.X509Certificate. select f; var a = new List <jvm::java.security.cert.X509Certificate> { }; foreach (var item in ff) { //Console.WriteLine("X509TrustManager getAcceptedIssuers " + new { item.FullName }); try { var ksfis = new jvm::java.io.FileInputStream(item.FullName); var certificate = (jvm::java.security.cert.X509Certificate) jvm::java.security.cert.CertificateFactory.getInstance("X.509").generateCertificate(ksfis); // Z:\jsc.svn\examples\javascript\ubuntu\UbuntuSSLWebApplication\UbuntuSSLWebApplication\ApplicationWebService.cs a.Add(certificate); } catch { } } //Console.WriteLine("X509TrustManager getAcceptedIssuers " + new { a.Count }); return(a.ToArray()); }
public localKeyManager( string keystorepath ) { //Console.WriteLine("enter localKeyManager"); try { var xFileInputStream = default(jvm::java.io.FileInputStream); var xKeyStore = default(jvm::java.security.KeyStore); // certmgr.msc var xKeyStoreDefaultType = "Windows-MY"; var xKeyStorePassword = default(char[]); //try //{ // Console.WriteLine(new { xKeyStoreDefaultType }); // xKeyStore = KeyStore.getInstance(xKeyStoreDefaultType); //} //catch { xKeyStoreDefaultType = jvm::java.security.KeyStore.getDefaultType(); // http://www.coderanch.com/t/377172/java/java/cacerts-JAVA-HOME-jre-lib // /usr/lib/jvm/default-java/jre/lib/security/cacerts //Console.WriteLine(new { xKeyStoreDefaultType }); xKeyStore = jvm::java.security.KeyStore.getInstance(xKeyStoreDefaultType); //var fa = new FileInfo(typeof(Program).Assembly.Location); try { xFileInputStream = new jvm::java.io.FileInputStream(keystorepath); xKeyStorePassword = "".PadLeft(6, '0').ToCharArray(); } catch { throw; } } //Console.WriteLine("localKeyManager " + new { xKeyStore }); xKeyStore.load(xFileInputStream, xKeyStorePassword); var en = xKeyStore.aliases(); //Console.WriteLine("aliases... done"); while (en.hasMoreElements()) { alias = (string)en.nextElement(); } var kmf = jvm::javax.net.ssl.KeyManagerFactory.getInstance("SunX509"); Console.WriteLine("localKeyManager " + new { kmf, xKeyStore, alias }); kmf.init(xKeyStore, xKeyStorePassword); KeyManagers = kmf.getKeyManagers(); //Console.WriteLine("localKeyManager " + new { KeyManagers.Length }); //{ xKeyStoreDefaultType = Windows-MY } //WindowsMYKeyManagers { xKeyStore = java.security.KeyStore@ac4d3b } //WindowsMYKeyManagers { kmf = javax.net.ssl.KeyManagerFactory@1c7d56b } //WindowsMYKeyManagers { KeyManagers = [Ljavax.net.ssl.KeyManager;@f77511 } // http://docs.oracle.com/javase/7/docs/api/javax/net/ssl/KeyManager.html // http://stackoverflow.com/questions/5292074/how-to-specify-outbound-certificate-alias-for-https-calls // http://www.angelfire.com/or/abhilash/site/articles/jsse-km/customKeyManager.html foreach (var KeyManager in KeyManagers) { var xX509KeyManager = KeyManager as jvm::javax.net.ssl.X509KeyManager; if (xX509KeyManager != null) { //Console.WriteLine("localKeyManager " + new { xX509KeyManager }); InternalX509KeyManager = xX509KeyManager; } } // http://stackoverflow.com/questions/15076820/java-sslhandshakeexception-no-cipher-suites-in-common // http://stackoverflow.com/questions/7535154/chrome-closing-connection-on-handshake-with-java-ssl-server } catch { throw; } }