public J2EEKeyManager(Habitat habitat, X509KeyManager mgr, String alias) { this.habitat = habitat; this.mgr = mgr; this.alias = alias; if (mgr instanceof UnifiedX509KeyManager) { UnifiedX509KeyManager umgr = (UnifiedX509KeyManager)mgr; X509KeyManager[] mgrs = umgr.getX509KeyManagers(); String[] tokenNames = umgr.getTokenNames(); tokenName2MgrMap = new HashMap(); for (int i = 0; i < mgrs.length; i++) { if (tokenNames[i] != null) { tokenName2MgrMap.put(tokenNames[i], mgrs[i]); } } supportTokenAlias = (tokenName2MgrMap.size() > 0); } }
private void initKeyManagers(KeyStore[] kstores, String[] pwds) throws Exception { ArrayList<KeyManager> keyManagers = new ArrayList<KeyManager>(); for (int i = 0; i < kstores.length; i++) { checkCertificateDates(kstores[i]); KeyManagerFactory kmf = KeyManagerFactory.getInstance( KeyManagerFactory.getDefaultAlgorithm()); kmf.init(kstores[i], pwds[i].toCharArray()); KeyManager[] kmgrs = kmf.getKeyManagers(); if (kmgrs != null) keyManagers.addAll(Arrays.asList(kmgrs)); } keyManager = new UnifiedX509KeyManager( keyManagers.toArray(new X509KeyManager[keyManagers.size()]), secSupp.getTokenNames()); }