|
@@ -119,7 +119,7 @@ public class Remote
|
|
|
{
|
|
|
KeyPairGenerator generator = KeyPairGenerator.getInstance("RSA");
|
|
|
KeyPair pair = generator.generateKeyPair();
|
|
|
- X509Certificate certificate = SslUtil.generateX509V3Certificate(pair, "CN=anymote-remote/bigscreenbot/" + System.getProperty("os.name") + "/" + System.getProperty("os.arch") + "/" + System.getProperty("user.name") + "@" + InetAddress.getLocalHost().getHostName());
|
|
|
+ X509Certificate certificate = SslUtil.generateX509V3Certificate(pair, "CN=anymote/bigscreenbot/" + System.getProperty("os.name") + "/" + System.getProperty("os.arch") + "/" + System.getProperty("user.name") + "@" + InetAddress.getLocalHost().getHostName());
|
|
|
|
|
|
store.setKeyEntry(LOCAL_ALIAS, pair.getPrivate(), NULL, new Certificate[]{ certificate });
|
|
|
|
|
@@ -130,7 +130,72 @@ public class Remote
|
|
|
|
|
|
factory.init(store, NULL);
|
|
|
|
|
|
- this.factory = DummySSLSocketFactory.fromKeyManagers(factory.getKeyManagers());
|
|
|
+ final javax.net.ssl.X509ExtendedKeyManager manager = (javax.net.ssl.X509ExtendedKeyManager)factory.getKeyManagers()[0];
|
|
|
+
|
|
|
+ this.factory = DummySSLSocketFactory.fromKeyManagers(new KeyManager[]{
|
|
|
+ new javax.net.ssl.X509ExtendedKeyManager()
|
|
|
+ {
|
|
|
+ @Override
|
|
|
+ public java.security.PrivateKey getPrivateKey(String alias)
|
|
|
+ {
|
|
|
+ java.security.PrivateKey key = manager.getPrivateKey(alias);
|
|
|
+
|
|
|
+ System.out.println("getPrivateKey(" + alias + ") -> " + key);
|
|
|
+
|
|
|
+ return key;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public X509Certificate[] getCertificateChain(String alias)
|
|
|
+ {
|
|
|
+ X509Certificate[] chain = manager.getCertificateChain(alias);
|
|
|
+
|
|
|
+ System.out.println("getCertificateChain(" + alias + ") -> " + java.util.Arrays.toString(chain));
|
|
|
+
|
|
|
+ return chain;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String chooseServerAlias(String keyType, java.security.Principal[] issuers, java.net.Socket socket)
|
|
|
+ {
|
|
|
+ String alias = manager.chooseServerAlias(keyType, issuers, socket);
|
|
|
+
|
|
|
+ System.out.println("chooseServerAlias(" + keyType + ", " + java.util.Arrays.toString(issuers) + ", " + socket + ") -> " + alias);
|
|
|
+
|
|
|
+ return alias;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String[] getServerAliases(String keyType, java.security.Principal[] issuers)
|
|
|
+ {
|
|
|
+ String[] aliases = manager.getServerAliases(keyType, issuers);
|
|
|
+
|
|
|
+ System.out.println("getServerAliases(" + keyType + ", " + java.util.Arrays.toString(issuers) + ") -> " + java.util.Arrays.toString(aliases));
|
|
|
+
|
|
|
+ return aliases;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String chooseClientAlias(String[] keyType, java.security.Principal[] issuers, java.net.Socket socket)
|
|
|
+ {
|
|
|
+ String alias = manager.chooseClientAlias(keyType, issuers, socket);
|
|
|
+
|
|
|
+ System.out.println("chooseClientAlias(" + java.util.Arrays.toString(keyType) + ", " + java.util.Arrays.toString(issuers) + ", " + socket + ") -> " + alias);
|
|
|
+
|
|
|
+ return alias;
|
|
|
+ }
|
|
|
+
|
|
|
+ @Override
|
|
|
+ public String[] getClientAliases(String keyType, java.security.Principal[] issuers)
|
|
|
+ {
|
|
|
+ String[] aliases = manager.getClientAliases(keyType, issuers);
|
|
|
+
|
|
|
+ System.out.println("getClientAliases(" + keyType + ", " + java.util.Arrays.toString(issuers) + ") -> " + java.util.Arrays.toString(aliases));
|
|
|
+
|
|
|
+ return aliases;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ });
|
|
|
}
|
|
|
|
|
|
public List<String> listDevices()
|