public localKeyManager() { Console.WriteLine("enter localKeyManager"); try { var xFileInputStream = default(FileInputStream); var xKeyStore = default(KeyStore); // certmgr.msc var xKeyStoreDefaultType = "Windows-MY"; try { Console.WriteLine(new { xKeyStoreDefaultType }); xKeyStore = KeyStore.getInstance(xKeyStoreDefaultType); } catch { //xKeyStoreDefaultType = 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 = KeyStore.getInstance(xKeyStoreDefaultType); //var fa = new FileInfo(typeof(Program).Assembly.Location); //var keystorepath = fa.Directory.FullName + "/domain.keystore"; //try //{ // xFileInputStream = new FileInputStream(keystorepath); //} //catch { throw; } } Console.WriteLine("localKeyManager " + new { xKeyStore }); xKeyStore.load(xFileInputStream, null); KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); Console.WriteLine("localKeyManager " + new { kmf }); kmf.init(xKeyStore, null); 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 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; } }
public localKeyManager( string keystorepath ) { Console.WriteLine("enter localKeyManager"); try { var xFileInputStream = default(FileInputStream); var xKeyStore = default(KeyStore); // certmgr.msc var xKeyStoreDefaultType = "Windows-MY"; var xKeyStorePassword = default(char[]); //try //{ // Console.WriteLine(new { xKeyStoreDefaultType }); // xKeyStore = KeyStore.getInstance(xKeyStoreDefaultType); //} //catch { xKeyStoreDefaultType = 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 = KeyStore.getInstance(xKeyStoreDefaultType); var fa = new FileInfo(typeof(Program).Assembly.Location); try { xFileInputStream = new FileInputStream(keystorepath); xKeyStorePassword = "".PadLeft(6, '0').ToCharArray(); } catch { throw; } } Console.WriteLine("localKeyManager " + new { xKeyStore }); xKeyStore.load(xFileInputStream, xKeyStorePassword); java.util.Enumeration en = xKeyStore.aliases(); //Console.WriteLine("aliases... done"); while (en.hasMoreElements()) { alias = (string)en.nextElement(); } KeyManagerFactory kmf = KeyManagerFactory.getInstance("SunX509"); Console.WriteLine("localKeyManager " + new { kmf, 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 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; } }
internal KeyManagerDelegate(X509KeyManager keyManager, PrivateKeyStrategy aliasStrategy ) : base() { this.keyManager = keyManager; this.aliasStrategy = aliasStrategy; }