in src/main/java/com/awslabs/resultsiterator/implementations/BouncyCastleCertificateCredentialsProvider.java [85:122]
private Option<Properties> loadProperties(File credentialProviderPropertiesFile, Properties properties) throws IOException {
FileInputStream fileInputStream = new FileInputStream(credentialProviderPropertiesFile);
properties.load(fileInputStream);
String caCertFilenameString = properties.getProperty(AWS_CA_CERT_FILENAME);
if (caCertFilenameString == null) {
// Missing file, give up
return Option.none();
}
String clientCertFilenameString = properties.getProperty(AWS_CLIENT_CERT_FILENAME);
if (clientCertFilenameString == null) {
// Missing file, give up
return Option.none();
}
String clientPrivateKeyFilenameString = properties.getProperty(AWS_CLIENT_PRIVATE_KEY_FILENAME);
if (clientPrivateKeyFilenameString == null) {
// Missing file, give up
return Option.none();
}
// All file names are present, make them relative to the properties file
Path credentialProviderPropertiesPath = credentialProviderPropertiesFile.toPath().getParent();
caCertFilenameString = credentialProviderPropertiesPath.resolve(caCertFilenameString).toAbsolutePath().toString();
clientCertFilenameString = credentialProviderPropertiesPath.resolve(clientCertFilenameString).toAbsolutePath().toString();
clientPrivateKeyFilenameString = credentialProviderPropertiesPath.resolve(clientPrivateKeyFilenameString).toAbsolutePath().toString();
// Put them back into the properties object with their absolute paths
properties.setProperty(AWS_CA_CERT_FILENAME, caCertFilenameString);
properties.setProperty(AWS_CLIENT_CERT_FILENAME, clientCertFilenameString);
properties.setProperty(AWS_CLIENT_PRIVATE_KEY_FILENAME, clientPrivateKeyFilenameString);
return Option.of(properties);
}