static X509KeyManager createKeyManager()

in common/src/main/java/org/apache/omid/tls/X509Util.java [181:210]


    static X509KeyManager createKeyManager(String keyStoreLocation, char[] keyStorePassword,
                                           String keyStoreType) throws KeyManagerException {

        if (keyStoreType == null) {
            keyStoreType = "jks";
        }

        if (keyStorePassword == null) {
            keyStorePassword = EMPTY_CHAR_ARRAY;
        }

        try {
            KeyStore ks = KeyStore.getInstance(keyStoreType);
            try (InputStream inputStream = Files.newInputStream(new File(keyStoreLocation).toPath())) {
                ks.load(inputStream, keyStorePassword);
            }

            KeyManagerFactory kmf = KeyManagerFactory.getInstance("PKIX");
            kmf.init(ks, keyStorePassword);

            for (KeyManager km : kmf.getKeyManagers()) {
                if (km instanceof X509KeyManager) {
                    return (X509KeyManager) km;
                }
            }
            throw new KeyManagerException("Couldn't find X509KeyManager");
        } catch (IOException | GeneralSecurityException | IllegalArgumentException e) {
            throw new KeyManagerException(e);
        }
    }