Example #1
0
        private void OnStart(StartActionUnit unit)
        {
            List <ActionBase> nextItems = new List <ActionBase>(5);

            if (_securityManagerInfo.Network.IsEnabledS0)
            {
                nextItems.Add(_expectSchemeGet);
            }
            if (_securityManagerInfo.Network.IsEnabledS2_ACCESS ||
                _securityManagerInfo.Network.IsEnabledS2_AUTHENTICATED ||
                _securityManagerInfo.Network.IsEnabledS2_UNAUTHENTICATED)
            {
                nextItems.Add(_expectKexGet);
            }
            nextItems.Add(_learnMode);
            unit.SetNextActionItems(nextItems.ToArray());
        }
Example #2
0
 private void PrepareRequestNetworkKey(StartActionUnit ou)
 {
     if (SupportedSecuritySchemes == 0)
     {
         _securityManagerInfo.ActivateNetworkKeyS0Temp();
         requestNetworkKey.DestNodeId = NodeId;
         requestNetworkKey.SrcNodeId  = VirtualNodeId;
         ou.SetNextActionItems(requestNetworkKey);
         if (_securityManagerInfo.DelaysS0.ContainsKey(SecurityS0Delays.SchemeReport))
         {
             Thread.Sleep(_securityManagerInfo.DelaysS0[SecurityS0Delays.SchemeReport]);
         }
     }
     else
     {
         SpecificResult.SubstituteStatus = SubstituteStatuses.Failed;
         SetStateCompletedSecurityFailed(ou);
     }
 }