Browse Source

update private field access

pull/2/head
Kyle Spearrin 4 years ago
parent
commit
0b52197a23
  1. 3
      src/CryptoAgent/Services/AwsKmsRsaKeyService.cs
  2. 20
      src/CryptoAgent/Services/AzureKeyVaultRsaKeyService.cs
  3. 2
      src/CryptoAgent/Services/GoogleCloudKmsRsaKeyService.cs

3
src/CryptoAgent/Services/AwsKmsRsaKeyService.cs

@ -10,8 +10,7 @@ namespace Bit.CryptoAgent.Services
public class AwsKmsRsaKeyService : IRsaKeyService public class AwsKmsRsaKeyService : IRsaKeyService
{ {
private readonly CryptoAgentSettings _settings; private readonly CryptoAgentSettings _settings;
private readonly AmazonKeyManagementServiceClient _kmsClient;
private AmazonKeyManagementServiceClient _kmsClient;
public AwsKmsRsaKeyService( public AwsKmsRsaKeyService(
CryptoAgentSettings settings) CryptoAgentSettings settings)

20
src/CryptoAgent/Services/AzureKeyVaultRsaKeyService.cs

@ -9,15 +9,17 @@ namespace Bit.CryptoAgent.Services
public class AzureKeyVaultRsaKeyService : IRsaKeyService public class AzureKeyVaultRsaKeyService : IRsaKeyService
{ {
private readonly CryptoAgentSettings _settings; private readonly CryptoAgentSettings _settings;
private readonly ClientSecretCredential _credential;
private KeyVaultKey _key; private KeyVaultKey _key;
private CryptographyClient _cryptographyClient; private CryptographyClient _cryptographyClient;
private ClientSecretCredential _credential;
public AzureKeyVaultRsaKeyService( public AzureKeyVaultRsaKeyService(
CryptoAgentSettings settings) CryptoAgentSettings settings)
{ {
_settings = settings; _settings = settings;
_credential = new ClientSecretCredential(_settings.RsaKey.AzureKeyvaultAdTenantId,
_settings.RsaKey.AzureKeyvaultAdAppId, _settings.RsaKey.AzureKeyvaultAdSecret);
} }
public async Task<byte[]> EncryptAsync(byte[] data) public async Task<byte[]> EncryptAsync(byte[] data)
@ -59,8 +61,7 @@ namespace Bit.CryptoAgent.Services
if (_cryptographyClient == null) if (_cryptographyClient == null)
{ {
var key = await GetKeyAsync(); var key = await GetKeyAsync();
var credential = GetCredential(); _cryptographyClient = new CryptographyClient(key.Id, _credential);
_cryptographyClient = new CryptographyClient(key.Id, credential);
} }
return _cryptographyClient; return _cryptographyClient;
} }
@ -69,22 +70,11 @@ namespace Bit.CryptoAgent.Services
{ {
if (_key == null) if (_key == null)
{ {
var credential = GetCredential();
var keyVaultUri = new Uri(_settings.RsaKey.AzureKeyvaultUri); var keyVaultUri = new Uri(_settings.RsaKey.AzureKeyvaultUri);
var keyClient = new KeyClient(keyVaultUri, credential); var keyClient = new KeyClient(keyVaultUri, _credential);
_key = await keyClient.GetKeyAsync(_settings.RsaKey.AzureKeyvaultKeyName); _key = await keyClient.GetKeyAsync(_settings.RsaKey.AzureKeyvaultKeyName);
} }
return _key; return _key;
} }
private ClientSecretCredential GetCredential()
{
if (_credential == null)
{
_credential = new ClientSecretCredential(_settings.RsaKey.AzureKeyvaultAdTenantId,
_settings.RsaKey.AzureKeyvaultAdAppId, _settings.RsaKey.AzureKeyvaultAdSecret);
}
return _credential;
}
} }
} }

2
src/CryptoAgent/Services/GoogleCloudKmsRsaKeyService.cs

@ -64,7 +64,7 @@ namespace Bit.CryptoAgent.Services
return rsa.ExportRSAPublicKey(); return rsa.ExportRSAPublicKey();
} }
public async Task<RSA> GetRsaPublicKeyAsync() private async Task<RSA> GetRsaPublicKeyAsync()
{ {
var publicKey = await _keyManagementServiceClient.GetPublicKeyAsync(_cryptoKeyVersionName); var publicKey = await _keyManagementServiceClient.GetPublicKeyAsync(_cryptoKeyVersionName);
var blocks = publicKey.Pem.Split("-", StringSplitOptions.RemoveEmptyEntries); var blocks = publicKey.Pem.Split("-", StringSplitOptions.RemoveEmptyEntries);

Loading…
Cancel
Save