Skip to content

Instantly share code, notes, and snippets.

@treinberger
Created November 28, 2012 21:19
Show Gist options
  • Save treinberger/4164617 to your computer and use it in GitHub Desktop.
Save treinberger/4164617 to your computer and use it in GitHub Desktop.
package com.certtest;
import java.net.Socket;
import java.security.KeyStore;
import java.security.Principal;
import java.security.PrivateKey;
import java.security.cert.CertificateException;
import java.security.cert.X509Certificate;
import java.util.ArrayList;
import java.util.Arrays;
import javax.net.ssl.KeyManager;
import javax.net.ssl.KeyManagerFactory;
import javax.net.ssl.X509KeyManager;
import org.appcelerator.kroll.KrollProxy;
import org.appcelerator.kroll.annotations.Kroll;
@Kroll.proxy(creatableInModule = Certtest2Module.class)
public class AdditionalKeyStoresKeyManager extends KrollProxy implements
X509KeyManager {
private X509KeyManager defaultKeyManager;
public AdditionalKeyStoresKeyManager(KeyManager[] keyManagers) {
for (KeyManager keyManager : keyManagers) {
if (keyManager instanceof X509KeyManager) {
defaultKeyManager = (X509KeyManager) keyManager;
android.util.Log.d("KEYMMANAGER", "ADDING ONE");
}
}
}
@Override
public String chooseClientAlias(String[] keyType, Principal[] issuers,
Socket socket) {
String result = defaultKeyManager.chooseClientAlias(keyType, issuers, socket);
android.util.Log.d("KEYMMANAGER", "ClientAlias = " + result);
return result;
}
@Override
public String chooseServerAlias(String keyType, Principal[] issuers,
Socket socket) {
String result = defaultKeyManager.chooseServerAlias(keyType, issuers, socket);
android.util.Log.d("KEYMMANAGER", "ServerAlias = " + result);
return result;
}
@Override
public X509Certificate[] getCertificateChain(String alias) {
return defaultKeyManager.getCertificateChain(alias);
}
@Override
public String[] getClientAliases(String keyType, Principal[] issuers) {
String[] result = defaultKeyManager.getClientAliases(keyType, issuers);
android.util.Log.d("KEYMMANAGER", "ClientAliases = " + result.toString());
return result;
}
@Override
public PrivateKey getPrivateKey(String alias) {
return defaultKeyManager.getPrivateKey("tomcat");
}
@Override
public String[] getServerAliases(String keyType, Principal[] issuers) {
return defaultKeyManager.getServerAliases(keyType, issuers);
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment