class CredentialManagerImpl implements CredentialManager,
		Observable<KeystoreChangedEvent> {

	@Override
	public KeyStore loadPKCS12Keystore(Path pkcs12File, String pkcs12Password)
			throws CMException {
		// Load the PKCS #12 keystore from the file
		try (InputStream input = Files.newInputStream(pkcs12File)) {
			KeyStore pkcs12 = KeyStore.getInstance("PKCS12", "BC");
			pkcs12.load(input, pkcs12Password.toCharArray());
			return pkcs12;
		} catch (Exception ex) {
			String exMessage = "failed to open a PKCS12-type keystore";
			logger.error(exMessage, ex);
			throw new CMException(exMessage, ex);
		}
	}

	public  CredentialManagerImpl();

}