use of tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile in project signers by ConsenSys.
the class SigningMetadataTomlConfigLoaderTest method azureConfigIsLoadedIfAzureMetadataFileInDirectory.
@Test
void azureConfigIsLoadedIfAzureMetadataFileInDirectory() {
copyFileIntoConfigDirectory("azureconfig.toml");
final Collection<SigningMetadataFile> metadataFiles = loader.loadAvailableSigningMetadataTomlConfigs(entry -> true);
assertThat(metadataFiles.size()).isOne();
assertThat(metadataFiles.toArray()[0]).isInstanceOf(AzureSigningMetadataFile.class);
final AzureSigningMetadataFile metadataFile = (AzureSigningMetadataFile) metadataFiles.toArray()[0];
assertThat(metadataFile.getConfig().getClientId()).isEqualTo("theClientId");
assertThat(metadataFile.getConfig().getClientSecret()).isEqualTo("theClientSecret");
assertThat(metadataFile.getConfig().getKeyVaultName()).isEqualTo("testkey");
assertThat(metadataFile.getConfig().getKeyName()).isEqualTo("TestKey");
assertThat(metadataFile.getConfig().getKeyVersion()).isEqualTo("7c01fe58d68148bba5824ce418241092");
assertThat(metadataFile.getConfig().getTenantId()).isEqualTo("theTenantId");
}
use of tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile in project signers by ConsenSys.
the class SigningMetadataTomlConfigLoaderTest method loadAvailableConfigsReturnsAllValidMetadataFilesInDirectory.
@Test
void loadAvailableConfigsReturnsAllValidMetadataFilesInDirectory() {
final Filter<Path> filter = entry -> true;
final FileBasedSigningMetadataFile metadataFile1 = copyMetadataFileToDirectory(configsDirectory, LOWERCASE_ADDRESS + CONFIG_FILE_EXTENSION, KEY_FILE, PASSWORD_FILE);
final FileBasedSigningMetadataFile metadataFile2 = copyMetadataFileToDirectory(configsDirectory, "bar_" + PREFIX_ADDRESS + CONFIG_FILE_EXTENSION, KEY_FILE_2, PASSWORD_FILE_2);
final FileBasedSigningMetadataFile metadataFile3 = copyMetadataFileToDirectory(configsDirectory, PREFIX_LOWERCASE_DUPLICATE_FILENAME_2, KEY_FILE_2, PASSWORD_FILE_2);
final FileBasedSigningMetadataFile metadataFile4 = copyMetadataFileToDirectory(configsDirectory, PREFIX_LOWERCASE_DUPLICATE_FILENAME_1, KEY_FILE, PASSWORD_FILE);
// duplicate files are loaded at this stage since addresses aren't checked until signers are
// created
final Collection<SigningMetadataFile> metadataFiles = loader.loadAvailableSigningMetadataTomlConfigs(filter);
assertThat(metadataFiles).hasSize(4);
assertThat(metadataFiles).containsOnly(metadataFile1, metadataFile2, metadataFile3, metadataFile4);
}
use of tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile in project signers by ConsenSys.
the class SigningMetadataTomlConfigLoaderTest method relativeKeyAndPasswordFilesAreResolveRelativeToLibraryRoot.
@Test
void relativeKeyAndPasswordFilesAreResolveRelativeToLibraryRoot() {
copyFileIntoConfigDirectory("key_password_relative_path.toml");
final Collection<SigningMetadataFile> metadataFiles = loader.loadAvailableSigningMetadataTomlConfigs(entry -> true);
assertThat(metadataFiles.size()).isOne();
assertThat(metadataFiles.toArray()[0]).isInstanceOf(FileBasedSigningMetadataFile.class);
final FileBasedSigningMetadataFile metadataFile = (FileBasedSigningMetadataFile) metadataFiles.toArray()[0];
assertThat(metadataFile.getConfig().getKeystoreFile()).isEqualTo(configsDirectory.resolve("./path/to/k.key"));
assertThat(metadataFile.getConfig().getKeystorePasswordFile()).isEqualTo(configsDirectory.resolve("./path/to/p.password"));
}
use of tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile in project signers by ConsenSys.
the class SigningMetadataTomlConfigLoader method getFileBasedSigningMetadataFromToml.
private Optional<SigningMetadataFile> getFileBasedSigningMetadataFromToml(final String filename, final TomlParseResult result) {
final Optional<TomlTableAdapter> signingTable = getSigningTableFrom(filename, result);
if (signingTable.isEmpty()) {
return Optional.empty();
}
final TomlTableAdapter table = signingTable.get();
final String keyFilename = table.getString("key-file");
final Path keyPath = makeRelativePathAbsolute(keyFilename);
final String passwordFilename = table.getString("password-file");
final Path passwordPath = makeRelativePathAbsolute(passwordFilename);
return Optional.of(new FileBasedSigningMetadataFile(filename, new FileSignerConfig(keyPath, passwordPath)));
}
use of tech.pegasys.signers.secp256k1.multikey.metadata.SigningMetadataFile in project signers by ConsenSys.
the class SigningMetadataTomlConfigLoader method getAzureBasedSigningMetadataFromToml.
private Optional<SigningMetadataFile> getAzureBasedSigningMetadataFromToml(final String filename, final TomlParseResult result) {
final Optional<TomlTableAdapter> signingTable = getSigningTableFrom(filename, result);
if (signingTable.isEmpty()) {
return Optional.empty();
}
final AzureConfigBuilder builder;
final TomlTableAdapter table = signingTable.get();
builder = new AzureConfigBuilder();
builder.withKeyVaultName(table.getString("key-vault-name"));
builder.withKeyName(table.getString("key-name"));
builder.withKeyVersion(table.getString("key-version"));
builder.withClientId(table.getString("client-id"));
builder.withClientSecret(table.getString("client-secret"));
builder.withTenantId(table.getString("tenant-id"));
return Optional.of(new AzureSigningMetadataFile(filename, builder.build()));
}
Aggregations