package keywhiz.cli;
import com.google.common.io.Resources;
import java.io.IOException;
import java.io.InputStream;
import java.security.KeyStore;
import java.security.KeyStoreException;
import java.security.NoSuchAlgorithmException;
import java.security.cert.CertificateException;
public class DevTrustStore {
private static final String store = "dev_and_test_truststore.p12";
private static final String password = "ponies";
/**
* @return KeyStore which is embedded in the resources. This KeyStore works out of the box with
* the server and is useful for development purpose. Don't use it in production.
*/
public KeyStore getTrustStore() {
return keyStoreFromResource(store, password);
}
/**
* TODO: create a common sub-module and clean things up
* (https://github.com/square/keywhiz/issues/93)
*/
private static KeyStore keyStoreFromResource(String path, String password) {
KeyStore keyStore;
try (InputStream stream = Resources.getResource(path).openStream()) {
keyStore = KeyStore.getInstance("PKCS12");
keyStore.load(stream, password.toCharArray());
} catch (IOException | NoSuchAlgorithmException | CertificateException | KeyStoreException e) {
throw new AssertionError(e);
}
return keyStore;
}
}