public KeyVaultSecretRekeyableObjectProvider( ILogger <KeyVaultSecretRekeyableObjectProvider> logger, ICryptographicImplementation cryptographicImplementation) { _logger = logger; _cryptographicImplementation = cryptographicImplementation; }
public AzureSqlAdministratorPasswordRekeyableObjectProvider( ILogger <AzureSqlAdministratorPasswordRekeyableObjectProvider> logger, ICryptographicImplementation cryptographicImplementation) { _logger = logger; _cryptographicImplementation = cryptographicImplementation; }
public FunctionKeyRekeyableObjectProvider( ILogger <FunctionKeyRekeyableObjectProvider> logger, ICryptographicImplementation cryptographicImplementation) { _logger = logger; _cryptographicImplementation = cryptographicImplementation; }
public SystemIntegrityService( ICryptographicImplementation cryptographicImplementation, AuthJanitorCoreConfiguration authJanitorCoreConfiguration, ILogger <SystemIntegrityService> logger) { _cryptographicImplementation = cryptographicImplementation; _authJanitorCoreConfiguration = authJanitorCoreConfiguration; _logger = logger; }
private static Task <byte[]> GetMessageEnvelopeHash( ICryptographicImplementation cryptographicImplementation, AgentMessageEnvelope envelope) => cryptographicImplementation.Hash( new byte[][] { BitConverter.GetBytes(envelope.Created.Ticks), Encoding.UTF8.GetBytes(envelope.Originator), Encoding.UTF8.GetBytes(envelope.Target), Encoding.UTF8.GetBytes(envelope.MessageType), envelope.Message }.SelectMany(a => a).ToArray());
public async Task <bool> VerifyAndUnpack( ICryptographicImplementation cryptographicImplementation) { MessageObject = null; if (!await Verify(cryptographicImplementation)) { return(false); } MessageObject = (IAgentMessage)JsonConvert.DeserializeObject( Encoding.UTF8.GetString(Message), Type.GetType(MessageType)); return(true); }
public KeyVaultSecureStorageProvider( IOptions <KeyVaultSecureStorageProviderConfiguration> configuration, IIdentityService identityService, ICryptographicImplementation cryptographicImplementation) { Configuration = configuration.Value; _identityService = identityService; _cryptographicImplementation = cryptographicImplementation; if (_cryptographicImplementation == null) { throw new InvalidOperationException("ICryptographicImplementation must be registered!"); } }
public AuthJanitorService( ILogger <AuthJanitorService> logger, ProviderManagerService providerManagerService, ICryptographicImplementation cryptographicImplementation, ISecureStorage secureStorage, IIdentityService identityService, EventDispatcherService eventDispatcherService, IAgentCommunicationProvider agentCommunicationProvider, IOptions <AuthJanitorServiceOptions> options) { _logger = logger; _providerManagerService = providerManagerService; _cryptographicImplementation = cryptographicImplementation; _secureStorage = secureStorage; _identityService = identityService; _eventDispatcher = eventDispatcherService; _agentCommunicationProvider = agentCommunicationProvider; _options = options; }
public static async Task <AgentMessageEnvelope> Create( ICryptographicImplementation cryptographicImplementation, string originator, string target, IAgentMessage message) { var envelope = new AgentMessageEnvelope() { Created = DateTimeOffset.UtcNow, Originator = originator, Target = target, MessageType = message.GetType().Name, Message = Encoding.UTF8.GetBytes(JsonConvert.SerializeObject(message)) }; envelope.Signature = await cryptographicImplementation.Sign( await GetMessageEnvelopeHash(cryptographicImplementation, envelope)); return(envelope); }
public ManagedSecrets( IOptions <AuthJanitorCoreConfiguration> configuration, IIdentityService identityService, ICryptographicImplementation cryptographicImplementation, EventDispatcherMetaService eventDispatcher, ProviderManagerService providerManager, IDataStore <ManagedSecret> managedSecretStore, IDataStore <Resource> resourceStore, Func <ManagedSecret, ManagedSecretViewModel> managedSecretViewModelDelegate) { _configuration = configuration.Value; _identityService = identityService; _cryptographicImplementation = cryptographicImplementation; _eventDispatcher = eventDispatcher; _providerManager = providerManager; _managedSecrets = managedSecretStore; _resources = resourceStore; _managedSecretViewModel = managedSecretViewModelDelegate; }
public async Task <bool> Verify( ICryptographicImplementation cryptographicImplementation) => await cryptographicImplementation.Verify( await GetMessageEnvelopeHash(cryptographicImplementation, this), this.Signature);