Skip to content

Commit

Permalink
Add vault dependencies to dep mgmt and minor changes/tests
Browse files Browse the repository at this point in the history
  • Loading branch information
chris-j-h committed Dec 14, 2018
1 parent bb7a507 commit 64c4523
Show file tree
Hide file tree
Showing 7 changed files with 54 additions and 12 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -12,7 +12,7 @@ public HashicorpGetSecretData(String secretEngineName, String secretName, String
this.secretEngineName = secretEngineName;
this.secretName = secretName;
this.valueId = valueId;
this.secretVersion = secretVersion;
this.secretVersion = secretVersion;
}

public String getSecretEngineName() {
Expand Down
2 changes: 1 addition & 1 deletion config/src/main/resources/ValidationMessages.properties
Original file line number Diff line number Diff line change
Expand Up @@ -24,4 +24,4 @@ ValidKeyConfiguration.message=A password file and inline passwords were provided
ValidKeyVaultConfiguration.message=No key vault configuration was specified but vault key data was provided
ValidKeyVaultConfiguration.azure.message=No azureKeyVaultConfig was specified but azureVaultPublicKeyId and azureVaultPrivateKeyId were provided
ValidKeyVaultConfiguration.hashicorp.message=No hashicorpKeyVaultConfig was specified but hashicorpVaultPublicKeyId, hashicorpVaultPrivateKeyId and hashicorpVaultSecretPath were provided
ValidSecretVersion.message=The value provided must be an integer equal to 0 or greater
ValidPositiveInteger.message=The value provided must be an integer equal to 0 or greater
Original file line number Diff line number Diff line change
Expand Up @@ -28,8 +28,8 @@ public HashicorpVaultKeyGenerator(final NaclFacade nacl, KeyVaultService keyVaul
@Override
public HashicorpVaultKeyPair generate(String filename, ArgonOptions encryptionOptions, KeyVaultOptions keyVaultOptions) {
Objects.requireNonNull(filename);
Objects.requireNonNull(keyVaultOptions);
Objects.requireNonNull(keyVaultOptions.getSecretEngineName());
Objects.requireNonNull(keyVaultOptions, "-keygenvaultsecretengine must be provided if using the Hashicorp vault type");
Objects.requireNonNull(keyVaultOptions.getSecretEngineName(), "-keygenvaultsecretengine must be provided if using the Hashicorp vault type");

final KeyPair keys = this.nacl.generateNewKeys();

Expand All @@ -42,10 +42,10 @@ public HashicorpVaultKeyPair generate(String filename, ArgonOptions encryptionOp
SetSecretData setSecretData = new HashicorpSetSecretData(keyVaultOptions.getSecretEngineName(), filename, keyPairData);

keyVaultService.setSecret(setSecretData);
LOGGER.debug("Key {} saved to vault with path {} and id {}", keyPairData.get(pubId), filename, pubId);
LOGGER.info("Key saved to vault with path {} and id {}", filename, pubId);
LOGGER.debug("Key {} saved to vault with path {} and id {}", keyPairData.get(privId), filename, privId);
LOGGER.info("Key saved to vault with path {} and id {}", filename, privId);
LOGGER.debug("Key {} saved to vault secret engine {} with name {} and id {}", keyPairData.get(pubId), keyVaultOptions.getSecretEngineName(), filename, pubId);
LOGGER.info("Key saved to vault secret engine {} with name {} and id {}", keyVaultOptions.getSecretEngineName(), filename, pubId);
LOGGER.debug("Key {} saved to vault secret engine {} with name {} and id {}", keyPairData.get(privId), keyVaultOptions.getSecretEngineName(), filename, privId);
LOGGER.info("Key saved to vault secret engine {} with name {} and id {}", keyVaultOptions.getSecretEngineName(), filename, privId);

return new HashicorpVaultKeyPair(pubId, privId, keyVaultOptions.getSecretEngineName(), filename, null);
}
Expand Down
2 changes: 0 additions & 2 deletions key-vault/azure-key-vault/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -19,13 +19,11 @@
<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault</artifactId>
<version>1.1.2</version>
</dependency>

<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.3</version>
</dependency>

<dependency>
Expand Down
2 changes: 0 additions & 2 deletions key-vault/hashicorp-key-vault/pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -21,13 +21,11 @@
<dependency>
<groupId>org.springframework.vault</groupId>
<artifactId>spring-vault-core</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>

<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.12.0</version>
</dependency>

</dependencies>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -267,4 +267,26 @@ public void returnedValueIsCorrectType() {
assertThat(result).isInstanceOf(HashicorpKeyVaultService.class);
}

@Test
public void returnedValueIsCorrectTypeUsing2ArgConstructor() {
when(envProvider.getEnv("HASHICORP_ROLE_ID")).thenReturn("role-id");
when(envProvider.getEnv("HASHICORP_SECRET_ID")).thenReturn("secret-id");
when(envProvider.getEnv("HASHICORP_TOKEN")).thenReturn("token");

KeyConfiguration keyConfiguration = mock(KeyConfiguration.class);
when(config.getKeys()).thenReturn(keyConfiguration);

HashicorpKeyVaultConfig keyVaultConfig = mock(HashicorpKeyVaultConfig.class);
when(keyConfiguration.getHashicorpKeyVaultConfig()).thenReturn(keyVaultConfig);

when(keyVaultConfig.getUrl()).thenReturn("http://someurl");
when(keyVaultConfig.getApprolePath()).thenReturn("approle");

setUpUtilMocks(keyVaultConfig);

KeyVaultService result = keyVaultServiceFactory.create(config, envProvider);

assertThat(result).isInstanceOf(HashicorpKeyVaultService.class);
}

}
24 changes: 24 additions & 0 deletions pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -822,6 +822,30 @@
<version>1.3.2</version>
</dependency>

<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>azure-keyvault</artifactId>
<version>1.1.2</version>
</dependency>

<dependency>
<groupId>com.microsoft.azure</groupId>
<artifactId>adal4j</artifactId>
<version>1.6.3</version>
</dependency>

<dependency>
<groupId>org.springframework.vault</groupId>
<artifactId>spring-vault-core</artifactId>
<version>2.1.1.RELEASE</version>
</dependency>

<dependency>
<groupId>com.squareup.okhttp3</groupId>
<artifactId>okhttp</artifactId>
<version>3.12.0</version>
</dependency>

</dependencies>
</dependencyManagement>

Expand Down

0 comments on commit 64c4523

Please sign in to comment.