An agent that stores and provides cryptographic keys to Bitwarden clients.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 

102 lines
4.2 KiB

namespace Bit.KeyConnector
{
public class KeyConnectorSettings
{
public string WebVaultUri { get; set; }
public string IdentityServerUri { get; set; }
public DatabaseSettings Database { get; set; }
public CertificateSettings Certificate { get; set; }
public RsaKeySettings RsaKey { get; set; }
public TransferToSettings TransferTo { get; set; }
public class CertificateSettings
{
public string Provider { get; set; }
// filesystem
public string FilesystemPath { get; set; }
public string FilesystemPassword { get; set; }
// store
public string StoreThumbprint { get; set; }
// azurestorage
public string AzureStorageConnectionString { get; set; }
public string AzureStorageContainer { get; set; }
public string AzureStorageFileName { get; set; }
public string AzureStorageFilePassword { get; set; }
// azurekv
public string AzureKeyvaultUri { get; set; }
public string AzureKeyvaultCertificateName { get; set; }
public string AzureKeyvaultAdTenantId { get; set; }
public string AzureKeyvaultAdAppId { get; set; }
public string AzureKeyvaultAdSecret { get; set; }
// vault
public string VaultServerUri { get; set; }
public string VaultToken { get; set; }
public string VaultSecretMountPoint { get; set; }
public string VaultSecretPath { get; set; }
public string VaultSecretDataKey { get; set; }
public string VaultSecretFilePassword { get; set; }
}
public class RsaKeySettings
{
public string Provider { get; set; }
// azurekv
public string AzureKeyvaultUri { get; set; }
public string AzureKeyvaultKeyName { get; set; }
public string AzureKeyvaultAdTenantId { get; set; }
public string AzureKeyvaultAdAppId { get; set; }
public string AzureKeyvaultAdSecret { get; set; }
// gcpkms
public string GoogleCloudProjectId { get; set; }
public string GoogleCloudLocationId { get; set; }
public string GoogleCloudKeyringId { get; set; }
public string GoogleCloudKeyId { get; set; }
public string GoogleCloudKeyVersionId { get; set; }
// awskms
public string AwsAccessKeyId { get; set; }
public string AwsAccessKeySecret { get; set; }
public string AwsRegion { get; set; }
public string AwsKeyId { get; set; }
public bool AwsUseSymmetricEncryption { get; set; }
// pkcs11
// Providers:
// yubihsm
// opensc
public string Pkcs11Provider { get; set; }
public string Pkcs11LibraryPath { get; set; }
public string Pkcs11SlotTokenSerialNumber { get; set; }
public string Pkcs11LoginUserType { get; set; }
public string Pkcs11LoginPin { get; set; }
public string Pkcs11PrivateKeyLabel { get; set; }
public ulong? Pkcs11PrivateKeyId { get; set; }
}
public class DatabaseSettings
{
public string Provider { get; set; }
// json
public string JsonFilePath { get; set; }
// sqlserver
public string SqlServerConnectionString { get; set; }
// postgresql
public string PostgreSqlConnectionString { get; set; }
// mysql
public string MySqlConnectionString { get; set; }
// sqlite
public string SqliteConnectionString { get; set; }
// mongo
public string MongoConnectionString { get; set; }
public string MongoDatabaseName { get; set; }
}
public class TransferToSettings
{
public string LockfilePath { get; set; }
public DatabaseSettings Database { get; set; }
public CertificateSettings Certificate { get; set; }
public RsaKeySettings RsaKey { get; set; }
}
}
}