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;
 }
Exemplo n.º 4
0
 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!");
            }
        }
Exemplo n.º 8
0
 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);
        }
Exemplo n.º 10
0
        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;
        }
Exemplo n.º 11
0
 public async Task <bool> Verify(
     ICryptographicImplementation cryptographicImplementation) =>
 await cryptographicImplementation.Verify(
     await GetMessageEnvelopeHash(cryptographicImplementation, this),
     this.Signature);