Java 类javax.net.ssl.X509ExtendedKeyManager 实例源码

项目:java-buildpack-security-provider    文件:CloudFoundryContainerKeyManagerFactory.java   
@Override
protected final KeyManager[] engineGetKeyManagers() {
    List<X509ExtendedKeyManager> delegates = new ArrayList<>();

    X509ExtendedKeyManager systemKeyManager = getSystemKeyManager();
    if (systemKeyManager != null) {
        delegates.add(systemKeyManager);
    }

    FileWatchingX509ExtendedKeyManager containerKeyManager = getContainerKeyManager();
    if (containerKeyManager != null) {
        delegates.add(containerKeyManager);
    }

    return new KeyManager[]{new DelegatingX509ExtendedKeyManager(delegates)};
}
项目:javify    文件:ServerHandshake.java   
public void implRun() throws SSLException
{
  KeyExchangeAlgorithm kexalg = engine.session().suite.keyExchangeAlgorithm();
  X509ExtendedKeyManager km = engine.contextImpl.keyManager;
  Principal[] issuers = null; // XXX use TrustedAuthorities extension.
  keyAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine);
  if (keyAlias == null)
    throw new SSLException("no certificates available");
  X509Certificate[] chain = km.getCertificateChain(keyAlias);
  engine.session().setLocalCertificates(chain);
  localCert = chain[0];
  serverKey = km.getPrivateKey(keyAlias);
  if (kexalg == DH_DSS || kexalg == DH_RSA)
    dhPair = new KeyPair(localCert.getPublicKey(),
                         km.getPrivateKey(keyAlias));
}
项目:jvm-stm    文件:ServerHandshake.java   
public void implRun() throws SSLException
{
  KeyExchangeAlgorithm kexalg = engine.session().suite.keyExchangeAlgorithm();
  X509ExtendedKeyManager km = engine.contextImpl.keyManager;
  Principal[] issuers = null; // XXX use TrustedAuthorities extension.
  keyAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine);
  if (keyAlias == null)
    throw new SSLException("no certificates available");
  X509Certificate[] chain = km.getCertificateChain(keyAlias);
  engine.session().setLocalCertificates(chain);
  localCert = chain[0];
  serverKey = km.getPrivateKey(keyAlias);
  if (kexalg == DH_DSS || kexalg == DH_RSA)
    dhPair = new KeyPair(localCert.getPublicKey(),
                         km.getPrivateKey(keyAlias));
}
项目:JamVM-PH    文件:ServerHandshake.java   
public void implRun() throws SSLException
{
  KeyExchangeAlgorithm kexalg = engine.session().suite.keyExchangeAlgorithm();
  X509ExtendedKeyManager km = engine.contextImpl.keyManager;
  Principal[] issuers = null; // XXX use TrustedAuthorities extension.
  keyAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine);
  if (keyAlias == null)
    throw new SSLException("no certificates available");
  X509Certificate[] chain = km.getCertificateChain(keyAlias);
  engine.session().setLocalCertificates(chain);
  localCert = chain[0];
  serverKey = km.getPrivateKey(keyAlias);
  if (kexalg == DH_DSS || kexalg == DH_RSA)
    dhPair = new KeyPair(localCert.getPublicKey(),
                         km.getPrivateKey(keyAlias));
}
项目:wildfly-core    文件:SSLDefinitions.java   
private static X509ExtendedKeyManager getX509KeyManager(KeyManager keyManager) throws StartException {
    if (keyManager == null) {
        return null;
    }
    if (keyManager instanceof X509ExtendedKeyManager) {
        X509ExtendedKeyManager x509KeyManager = (X509ExtendedKeyManager) keyManager;
        if (x509KeyManager instanceof DelegatingKeyManager && IS_FIPS.getAsBoolean()) {
            ROOT_LOGGER.trace("FIPS enabled on JVM, unwrapping KeyManager");
            // If FIPS is enabled unwrap the KeyManager
            x509KeyManager = ((DelegatingKeyManager)x509KeyManager).delegating.get();
        }

        return x509KeyManager;
    }
    throw ROOT_LOGGER.invalidTypeInjected(X509ExtendedKeyManager.class.getSimpleName());
}
项目:classpath    文件:ServerHandshake.java   
public void implRun() throws SSLException
{
  KeyExchangeAlgorithm kexalg = engine.session().suite.keyExchangeAlgorithm();
  X509ExtendedKeyManager km = engine.contextImpl.keyManager;
  Principal[] issuers = null; // XXX use TrustedAuthorities extension.
  keyAlias = km.chooseEngineServerAlias(kexalg.name(), issuers, engine);
  if (keyAlias == null)
    throw new SSLException("no certificates available");
  X509Certificate[] chain = km.getCertificateChain(keyAlias);
  engine.session().setLocalCertificates(chain);
  localCert = chain[0];
  serverKey = km.getPrivateKey(keyAlias);
  if (kexalg == DH_DSS || kexalg == DH_RSA)
    dhPair = new KeyPair(localCert.getPublicKey(),
                         km.getPrivateKey(keyAlias));
}
项目:jdk8u-jdk    文件:CipherTestUtils.java   
private CipherTestUtils()
        throws IOException, FileNotFoundException, KeyStoreException,
        NoSuchAlgorithmException, CertificateException,
        UnrecoverableKeyException, InvalidKeySpecException {
    factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
    KeyStore serverKeyStore = createServerKeyStore(SERVER_PUBLIC_KEY,
            SERVER_PRIVATE_KEY);
    KeyStore serverTrustStore = createServerKeyStore(CA_PUBLIC_KEY,
            CA_PRIVATE_KEY);

    if (serverKeyStore != null) {
        KeyManagerFactory keyFactory1
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory1.init(serverKeyStore, PASSWORD);
        serverKeyManager = (X509ExtendedKeyManager) keyFactory1.
                getKeyManagers()[0];
    } else {
        serverKeyManager = null;
    }
    serverTrustManager = serverTrustStore != null
            ? new AlwaysTrustManager(serverTrustStore) : null;

    KeyStore clientKeyStore, clientTrustStore;
    clientTrustStore = serverTrustStore;
    clientKeyStore =
            createServerKeyStore(CLIENT_PUBLIC_KEY,CLIENT_PRIVATE_KEY);
    if (clientKeyStore != null) {
        KeyManagerFactory keyFactory
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory.init(clientKeyStore, PASSWORD);
        clientKeyManager = (X509ExtendedKeyManager) keyFactory.
                getKeyManagers()[0];
    } else {
        clientKeyManager = null;
    }
    clientTrustManager = (clientTrustStore != null)
            ? new AlwaysTrustManager(clientTrustStore) : null;
}
项目:openjdk-jdk10    文件:MyX509ExtendedKeyManager.java   
public MyX509ExtendedKeyManager(
        X509ExtendedKeyManager akm, String expectedAP, boolean doCheck) {
    this.akm = akm;
    this.expectedAP = expectedAP;
    this.doCheck = doCheck;

}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public String chooseClientAlias(final String[] strings, final Principal[] principals, final Socket socket) {
    return with(new Function<String>() {

        @Override
        public String apply(X509ExtendedKeyManager delegate) {
            return delegate.chooseClientAlias(strings, principals, socket);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public String chooseEngineClientAlias(final String[] strings, final Principal[] principals, final SSLEngine sslEngine) {
    return with(new Function<String>() {

        @Override
        public String apply(X509ExtendedKeyManager delegate) {
            return delegate.chooseEngineClientAlias(strings, principals, sslEngine);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public String chooseEngineServerAlias(final String s, final Principal[] principals, final SSLEngine sslEngine) {
    return with(new Function<String>() {

        @Override
        public String apply(X509ExtendedKeyManager delegate) {
            return delegate.chooseEngineServerAlias(s, principals, sslEngine);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public String chooseServerAlias(final String s, final Principal[] principals, final Socket socket) {
    return with(new Function<String>() {

        @Override
        public String apply(X509ExtendedKeyManager delegate) {
            return delegate.chooseServerAlias(s, principals, socket);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public X509Certificate[] getCertificateChain(final String s) {
    return with(new Function<X509Certificate[]>() {

        @Override
        public X509Certificate[] apply(X509ExtendedKeyManager delegate) {
            return delegate.getCertificateChain(s);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public String[] getClientAliases(final String s, final Principal[] principals) {
    return collect(new Function<String[]>() {

        @Override
        public String[] apply(X509ExtendedKeyManager delegate) {
            return delegate.getClientAliases(s, principals);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public PrivateKey getPrivateKey(final String s) {
    return with(new Function<PrivateKey>() {

        @Override
        public PrivateKey apply(X509ExtendedKeyManager delegate) {
            return delegate.getPrivateKey(s);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
@Override
public String[] getServerAliases(final String s, final Principal[] principals) {
    return collect(new Function<String[]>() {

        @Override
        public String[] apply(X509ExtendedKeyManager delegate) {
            return delegate.getServerAliases(s, principals);
        }

    });
}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
private String[] collect(Function<String[]> function) {
    List<String> collected = new ArrayList<>();

    for (X509ExtendedKeyManager delegate : this.delegates) {
        String[] candidate = function.apply(delegate);
        if (candidate != null) {
            Collections.addAll(collected, candidate);
        }
    }

    return collected.toArray(new String[collected.size()]);

}
项目:java-buildpack-security-provider    文件:DelegatingX509ExtendedKeyManager.java   
private <T> T with(Function<T> function) {
    for (X509ExtendedKeyManager delegate : this.delegates) {
        T candidate = function.apply(delegate);
        if (candidate != null) {
            return candidate;
        }
    }

    return null;
}
项目:java-buildpack-security-provider    文件:FileWatchingX509ExtendedKeyManager.java   
private X509ExtendedKeyManager getKeyManager(KeyStore keyStore) {
    try {
        this.keyManagerFactory.init(keyStore, new char[0]);

        for (KeyManager keyManager : this.keyManagerFactory.getKeyManagers()) {
            if (keyManager instanceof X509ExtendedKeyManager) {
                return (X509ExtendedKeyManager) keyManager;
            }
        }

        throw new IllegalStateException("No X509ExtendedKeyManager available");
    } catch (KeyStoreException | NoSuchAlgorithmException | UnrecoverableKeyException e) {
        throw new UndeclaredThrowableException(e);
    }
}
项目:java-buildpack-security-provider    文件:CloudFoundryContainerKeyManagerFactory.java   
private X509ExtendedKeyManager getSystemKeyManager() {
    synchronized (MONITOR) {
        if (this.cachedSystemKeyManager == null) {
            for (KeyManager candidate : this.systemKeyManagerFactory.getKeyManagers()) {
                if (candidate instanceof X509ExtendedKeyManager) {
                    this.logger.info("Adding System Key Manager");
                    this.cachedSystemKeyManager = (X509ExtendedKeyManager) candidate;
                    break;
                }
            }
        }

        return this.cachedSystemKeyManager;
    }
}
项目:mtls-sample    文件:SerialNumberExtractor.java   
SerialNumberExtractor() throws GeneralSecurityException {
    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    keyManagerFactory.init(null, null);
    KeyManager[] keyManagers = keyManagerFactory.getKeyManagers();
    KeyManager keyManager = keyManagers[0];
    this.keyManager = (X509ExtendedKeyManager) keyManager;
}
项目:openjdk9    文件:CipherTestUtils.java   
private CipherTestUtils()
        throws IOException, FileNotFoundException, KeyStoreException,
        NoSuchAlgorithmException, CertificateException,
        UnrecoverableKeyException, InvalidKeySpecException {
    factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
    KeyStore serverKeyStore = createServerKeyStore(SERVER_PUBLIC_KEY,
            SERVER_PRIVATE_KEY);
    KeyStore serverTrustStore = createServerKeyStore(CA_PUBLIC_KEY,
            CA_PRIVATE_KEY);

    if (serverKeyStore != null) {
        KeyManagerFactory keyFactory1
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory1.init(serverKeyStore, PASSWORD);
        serverKeyManager = (X509ExtendedKeyManager) keyFactory1.
                getKeyManagers()[0];
    } else {
        serverKeyManager = null;
    }
    serverTrustManager = serverTrustStore != null
            ? new AlwaysTrustManager(serverTrustStore) : null;

    KeyStore clientKeyStore, clientTrustStore;
    clientTrustStore = serverTrustStore;
    clientKeyStore =
            createServerKeyStore(CLIENT_PUBLIC_KEY,CLIENT_PRIVATE_KEY);
    if (clientKeyStore != null) {
        KeyManagerFactory keyFactory
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory.init(clientKeyStore, PASSWORD);
        clientKeyManager = (X509ExtendedKeyManager) keyFactory.
                getKeyManagers()[0];
    } else {
        clientKeyManager = null;
    }
    clientTrustManager = (clientTrustStore != null)
            ? new AlwaysTrustManager(clientTrustStore) : null;
}
项目:conscrypt    文件:ConscryptEngine.java   
@Override
public String chooseServerAlias(X509KeyManager keyManager, String keyType) {
    if (keyManager instanceof X509ExtendedKeyManager) {
        X509ExtendedKeyManager ekm = (X509ExtendedKeyManager) keyManager;
        return ekm.chooseEngineServerAlias(keyType, null, this);
    } else {
        return keyManager.chooseServerAlias(keyType, null, null);
    }
}
项目:conscrypt    文件:ConscryptEngine.java   
@Override
public String chooseClientAlias(
        X509KeyManager keyManager, X500Principal[] issuers, String[] keyTypes) {
    if (keyManager instanceof X509ExtendedKeyManager) {
        X509ExtendedKeyManager ekm = (X509ExtendedKeyManager) keyManager;
        return ekm.chooseEngineClientAlias(keyTypes, issuers, this);
    } else {
        return keyManager.chooseClientAlias(keyTypes, issuers, null);
    }
}
项目:jdk8u_jdk    文件:CipherTestUtils.java   
private CipherTestUtils()
        throws IOException, FileNotFoundException, KeyStoreException,
        NoSuchAlgorithmException, CertificateException,
        UnrecoverableKeyException, InvalidKeySpecException {
    factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
    KeyStore serverKeyStore = createServerKeyStore(SERVER_PUBLIC_KEY,
            SERVER_PRIVATE_KEY);
    KeyStore serverTrustStore = createServerKeyStore(CA_PUBLIC_KEY,
            CA_PRIVATE_KEY);

    if (serverKeyStore != null) {
        KeyManagerFactory keyFactory1
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory1.init(serverKeyStore, PASSWORD);
        serverKeyManager = (X509ExtendedKeyManager) keyFactory1.
                getKeyManagers()[0];
    } else {
        serverKeyManager = null;
    }
    serverTrustManager = serverTrustStore != null
            ? new AlwaysTrustManager(serverTrustStore) : null;

    KeyStore clientKeyStore, clientTrustStore;
    clientTrustStore = serverTrustStore;
    clientKeyStore =
            createServerKeyStore(CLIENT_PUBLIC_KEY,CLIENT_PRIVATE_KEY);
    if (clientKeyStore != null) {
        KeyManagerFactory keyFactory
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory.init(clientKeyStore, PASSWORD);
        clientKeyManager = (X509ExtendedKeyManager) keyFactory.
                getKeyManagers()[0];
    } else {
        clientKeyManager = null;
    }
    clientTrustManager = (clientTrustStore != null)
            ? new AlwaysTrustManager(clientTrustStore) : null;
}
项目:lookaside_java-1.8.0-openjdk    文件:CipherTestUtils.java   
private CipherTestUtils()
        throws IOException, FileNotFoundException, KeyStoreException,
        NoSuchAlgorithmException, CertificateException,
        UnrecoverableKeyException, InvalidKeySpecException {
    factory = (SSLSocketFactory) SSLSocketFactory.getDefault();
    KeyStore serverKeyStore = createServerKeyStore(SERVER_PUBLIC_KEY,
            SERVER_PRIVATE_KEY);
    KeyStore serverTrustStore = createServerKeyStore(CA_PUBLIC_KEY,
            CA_PRIVATE_KEY);

    if (serverKeyStore != null) {
        KeyManagerFactory keyFactory1
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory1.init(serverKeyStore, PASSWORD);
        serverKeyManager = (X509ExtendedKeyManager) keyFactory1.
                getKeyManagers()[0];
    } else {
        serverKeyManager = null;
    }
    serverTrustManager = serverTrustStore != null
            ? new AlwaysTrustManager(serverTrustStore) : null;

    KeyStore clientKeyStore, clientTrustStore;
    clientTrustStore = serverTrustStore;
    clientKeyStore =
            createServerKeyStore(CLIENT_PUBLIC_KEY,CLIENT_PRIVATE_KEY);
    if (clientKeyStore != null) {
        KeyManagerFactory keyFactory
                = KeyManagerFactory.getInstance(
                        KeyManagerFactory.getDefaultAlgorithm());
        keyFactory.init(clientKeyStore, PASSWORD);
        clientKeyManager = (X509ExtendedKeyManager) keyFactory.
                getKeyManagers()[0];
    } else {
        clientKeyManager = null;
    }
    clientTrustManager = (clientTrustStore != null)
            ? new AlwaysTrustManager(clientTrustStore) : null;
}
项目:javify    文件:ClientHandshake.java   
public void implRun()
{
  X509ExtendedKeyManager km = engine.contextImpl.keyManager;
  if (km == null)
    return;
  keyAlias = km.chooseEngineClientAlias(keyTypes.toArray(new String[keyTypes.size()]),
                                        issuers.toArray(new X500Principal[issuers.size()]),
                                        engine);
  engine.session().setLocalCertificates(km.getCertificateChain(keyAlias));
  privateKey = km.getPrivateKey(keyAlias);
}
项目:athenz    文件:SSLUtils.java   
private static KeyManager[] getAliasedKeyManagers(KeyManager[] managers, String alias) {
    if (managers != null) {
        if (alias != null) {
            for (int idx = 0; idx < managers.length; idx++) {
                if (managers[idx] instanceof X509ExtendedKeyManager) {
                    managers[idx] = new ClientAliasedX509ExtendedKeyManager((X509ExtendedKeyManager) managers[idx], alias);
                }
            }
        }
    }
    return managers;
}
项目:athenz    文件:KeyManagerProxyTest.java   
@Test
public void testKeyManagerProxyGeClientAliases(@Mocked X509ExtendedKeyManager mockedKeyManager) throws CertificateException {
    new Expectations() {{
        mockedKeyManager.getClientAliases("cert", (Principal[]) any); times = 1;
    }};

    KeyManagerProxy keyManagerProxy = new KeyManagerProxy(new KeyManager[]{mockedKeyManager});

    keyManagerProxy.getClientAliases("cert", null);
}
项目:athenz    文件:KeyManagerProxyTest.java   
@Test
public void testKeyManagerProxyChooseClientAlias(@Mocked X509ExtendedKeyManager mockedKeyManager) throws CertificateException {
    new Expectations() {{
        mockedKeyManager.chooseClientAlias((String[]) any, (Principal[]) any, (Socket) any); times = 1;
    }};

    KeyManagerProxy keyManagerProxy = new KeyManagerProxy(new KeyManager[]{mockedKeyManager});

    keyManagerProxy.chooseClientAlias(null, null, null);
}
项目:athenz    文件:KeyManagerProxyTest.java   
@Test
public void testKeyManagerProxyGetServerAliases(@Mocked X509ExtendedKeyManager mockedKeyManager) throws CertificateException {
    new Expectations() {{
        mockedKeyManager.getServerAliases("cert", (Principal[]) any); times = 1;
    }};

    KeyManagerProxy keyManagerProxy = new KeyManagerProxy(new KeyManager[]{mockedKeyManager});

    keyManagerProxy.getServerAliases("cert", null);
}
项目:athenz    文件:KeyManagerProxyTest.java   
@Test
public void testKeyManagerProxyChooseServerAlias(@Mocked X509ExtendedKeyManager mockedKeyManager) throws CertificateException {
    new Expectations() {{
        mockedKeyManager.chooseServerAlias("cert", (Principal[]) any, (Socket) any); times = 1;
    }};

    KeyManagerProxy keyManagerProxy = new KeyManagerProxy(new KeyManager[]{mockedKeyManager});

    keyManagerProxy.chooseServerAlias("cert", null, null);
}
项目:athenz    文件:KeyManagerProxyTest.java   
@Test
public void testKeyManagerProxyGetCertificateChain(@Mocked X509ExtendedKeyManager mockedKeyManager) throws CertificateException {
    new Expectations() {{
        mockedKeyManager.getCertificateChain("cert"); times = 1;
    }};

    KeyManagerProxy keyManagerProxy = new KeyManagerProxy(new KeyManager[]{mockedKeyManager});

    keyManagerProxy.getCertificateChain("cert");
}
项目:athenz    文件:KeyManagerProxyTest.java   
@Test
public void testKeyManagerProxyGetPrivateKey(@Mocked X509ExtendedKeyManager mockedKeyManager) throws CertificateException {
    new Expectations() {{
        mockedKeyManager.getPrivateKey("cert"); times = 1;
    }};

    KeyManagerProxy keyManagerProxy = new KeyManagerProxy(new KeyManager[]{mockedKeyManager});

    keyManagerProxy.getPrivateKey("cert");
}
项目:OpenUnison    文件:AliasX509KeyManager.java   
public AliasX509KeyManager(String alias,X509ExtendedKeyManager keyMgr,KeyStore ks) {
    this.keyMgr = keyMgr;
    this.alias = alias;

    this.chains = new HashMap<String,X509Certificate[]>();
    try {
        Enumeration enumer = ks.aliases();
        while (enumer.hasMoreElements()) {
            String certName = (String) enumer.nextElement();
            X509Certificate cert = (X509Certificate) ks.getCertificate(certName);
            if (cert == null) {
                continue;
            }
            ArrayList<X509Certificate> chain = new ArrayList<X509Certificate>();
            chain.add(cert);
            addSigners(cert,chain,ks);

            X509Certificate[] certChain = new X509Certificate[chain.size()];
            for (int i=0;i<certChain.length;i++) {
                certChain[i] = chain.get(i);
            }

            this.chains.put(certName, certChain);
        }
    } catch (KeyStoreException e) {
        logger.error("Could not generate certificate chains",e);
    }

}
项目:OpenUnison    文件:TremoloX509KeyManager.java   
public TremoloX509KeyManager(X509ExtendedKeyManager keyMgr,KeyStore ks) {
    this.keyMgr = keyMgr;


    this.chains = new HashMap<String,X509Certificate[]>();
    try {
        Enumeration enumer = ks.aliases();
        while (enumer.hasMoreElements()) {
            String certName = (String) enumer.nextElement();
            X509Certificate cert = (X509Certificate) ks.getCertificate(certName);
            if (cert == null) {
                continue;
            }
            ArrayList<X509Certificate> chain = new ArrayList<X509Certificate>();
            chain.add(cert);
            addSigners(cert,chain,ks);

            X509Certificate[] certChain = new X509Certificate[chain.size()];
            for (int i=0;i<certChain.length;i++) {
                certChain[i] = chain.get(i);
            }

            this.chains.put(certName, certChain);
        }
    } catch (KeyStoreException e) {
        logger.error("Could not generate certificate chains",e);
    }

}
项目:jvm-stm    文件:ClientHandshake.java   
public void implRun()
{
  X509ExtendedKeyManager km = engine.contextImpl.keyManager;
  if (km == null)
    return;
  keyAlias = km.chooseEngineClientAlias(keyTypes.toArray(new String[keyTypes.size()]),
                                        issuers.toArray(new X500Principal[issuers.size()]),
                                        engine);
  engine.session().setLocalCertificates(km.getCertificateChain(keyAlias));
  privateKey = km.getPrivateKey(keyAlias);
}
项目:elytron-web    文件:ClientCertAuthenticationTest.java   
/**
 * Get the key manager backed by the specified key store.
 *
 * @param keystorePath the path to the key store to load.
 * @return the initialised key manager.
 */
private X509ExtendedKeyManager getKeyManager(final String keystorePath) throws Exception {
    KeyManagerFactory keyManagerFactory = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    keyManagerFactory.init(loadKeyStore(keystorePath), "Elytron".toCharArray());

    for (KeyManager current : keyManagerFactory.getKeyManagers()) {
        if (current instanceof X509ExtendedKeyManager) {
            return (X509ExtendedKeyManager) current;
        }
    }

    throw new IllegalStateException("Unable to obtain X509ExtendedKeyManager.");
}
项目:hops    文件:ReloadingX509KeyManager.java   
@Override
public String[] getClientAliases(String s, Principal[] principals) {
  X509ExtendedKeyManager km = keyManagerLocalRef.get();
  if (km != null) {
    return km.getClientAliases(s, principals);
  }
  return null;
}
项目:hops    文件:ReloadingX509KeyManager.java   
@Override
public String chooseClientAlias(String[] strings, Principal[] principals, Socket socket) {
  X509ExtendedKeyManager km = keyManagerLocalRef.get();
  if (km != null) {
    return km.chooseClientAlias(strings, principals, socket);
  }
  return null;
}