Exemplo n.º 1
0
 private void TrustCoordinatorModule_MessageClientRegistered(object sender, MessageClientRegisteredEventArgs e)
 {
     e.MessageClient.MessageReceived += MessageClient_MessageReceived;
     // Create first key
     //TODO: How to pick validity.
     currentKey = CreateNewKey(e.MessageClient.SystemName, DateTime.Now);
     e.MessageClient.PublicKeystore.TrustZoneSharedKeys.Add(currentKey);
 }
        public TrustZoneSharedKeyUpdate(TrustZoneSharedKey sharedKey) : base()
        {
            if (sharedKey is null)
            {
                throw new ArgumentNullException(nameof(sharedKey));
            }

            SharedKey = sharedKey;
        }
Exemplo n.º 3
0
        /// <summary>
        /// When called, updates the trust zone's shared key.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void KeyUpdateTimer_Elapsed(object sender, ElapsedEventArgs e)
        {
            var newKey = CreateNewKey(currentKey.TrustZoneName, currentKey.ValidTo);

            var updateMessage = new TrustZoneSharedKeyUpdate(newKey);

            this.MessageClient.BroadcastToAllClients(updateMessage, true);

            keyUpdateTimer.Interval = (newKey.ValidTo - DateTime.Now - UpdateLeadTime).TotalMilliseconds;
            keyUpdateTimer.Start();

            Timer tempTimer = new Timer()
            {
                Interval = (newKey.ValidFrom - DateTime.Now).TotalMilliseconds,
                Enabled  = true
            };

            tempTimer.Elapsed += (sender, e) =>
            {
                currentKey = newKey;
                tempTimer?.Dispose();
            };
        }
Exemplo n.º 4
0
 internal ClientAnnounceResponseMessage(AnnounceResponse response, TrustZoneSharedKey trustZoneSharedKey) : base()
 {
     Response           = response;
     TrustZoneSharedKey = trustZoneSharedKey;
 }