コード例 #1
0
        private BankRawMessage GenerateZoneKeys(NetworkManagementModel model, HostCryptography hostCrypt)
        {
            _zoneKeySet1 = hostCrypt.GenerateSetOfZoneKeys(_keKs);
            if (_zoneKeySet1["ErrorCode"] == "00")
            {
                model.Mti           = "0820";
                model.Stan          = _rrnSequence.GetStan;
                model.AddtlDataPriv = _zoneKeySet1["ZAK(ZMK)"].Substring(1) +
                                      _zoneKeySet1["ZPK(ZMK)"].Substring(1);
                model.Mti            = "0820";
                model.FwdInstIdCode  = 579944;
                model.RecvInstIdCode = 61100016;
                model.NetMgtInfoCode = "101";
                int nodeNumber = model.SecControlInfo;
                using (Session2805Data data = new Session2805Data())
                {
                    data.UpdateSession_Send_as2805(_zoneKeySet1["ZPK(LMK)"], _zoneKeySet1["ZPK(ZMK)"],
                                                   _zoneKeySet1["ZPK Check Value"], _zoneKeySet1["ZAK(LMK)"], _zoneKeySet1["ZAK(ZMK)"],
                                                   _zoneKeySet1["ZAK Check Value"], _zoneKeySet1["ZEK(LMK)"], _zoneKeySet1["ZEK(ZMK)"],
                                                   _zoneKeySet1["ZEK Check Value"], nodeNumber.ToString());
                    _log.Info("GenerateZoneKeys under LMK : ZAK : " + _zoneKeySet1["ZAK(LMK)"] + " ZAK check value : " +
                              _zoneKeySet1["ZAK Check Value"] + "ZPK : " + _zoneKeySet1["ZPK(LMK)"] +
                              "ZPK Check Value : " + _zoneKeySet1["ZPK Check Value"]);
                }

                return(new BankRawMessage(_responseBuilder.NetworkManagementAdviceRequest(model)));
            }
            _log.Error("0820 _keKs Validation Request Error");
            throw new InvalidOperationException("0820 _keKs Validation Request Error");
        }
コード例 #2
0
ファイル: ISimulatorCoreService.cs プロジェクト: AS2805/6.3
        private void ValidateKeyExchangeResponse(NetworkManagementModel network, Session2805Data data)
        {
            string value     = network.AddtlDataPriv;
            string KMACs_KVC = value.Substring(0, 6);
            string KPEs_KVC  = value.Substring(6);

            int node_number = network.SecControlInfo;

            _log.Info("KMACs_KVC : " + KMACs_KVC + " KPEs_KVC : " + KPEs_KVC);

            if (KMACs_KVC == _zoneKeySet1["ZAK Check Value"] && KPEs_KVC == _zoneKeySet1["ZPK Check Value"])
            {
                _log.Info("Key exchange successfull. Check values match. ZAK Check value :" + _zoneKeySet1["ZAK Check Value"] + " ZPK Check value : " + _zoneKeySet1["ZPK Check Value"]);
                data.UpdateSession_Send_as2805(_zoneKeySet1["ZPK(LMK)"], _zoneKeySet1["ZPK(ZMK)"], _zoneKeySet1["ZPK Check Value"], _zoneKeySet1["ZAK(LMK)"], _zoneKeySet1["ZAK(ZMK)"], _zoneKeySet1["ZAK Check Value"], _zoneKeySet1["ZEK(LMK)"], _zoneKeySet1["ZEK(ZMK)"], _zoneKeySet1["ZEK Check Value"], node_number.ToString());
                _log.Info("Log on Successfull");
            }
            SetState(SimulatorStates.Connected);
        }
コード例 #3
0
 public void SetZoneKeys(Dictionary <string, string> zoneKeySet1, int stan)
 {
     if (zoneKeySet1["ErrorCode"] == "00")
     {
         this.Stan          = stan;
         this.AddtlDataPriv = zoneKeySet1["ZAK(ZMK)"].Substring(1) +
                              zoneKeySet1["ZPK(ZMK)"].Substring(1);
         using (Session2805Data data = new Session2805Data())
         {
             int node_number = this.SecControlInfo;
             data.UpdateSession_Send_as2805(zoneKeySet1["ZPK(LMK)"], zoneKeySet1["ZPK(ZMK)"],
                                            zoneKeySet1["ZPK Check Value"], zoneKeySet1["ZAK(LMK)"], zoneKeySet1["ZAK(ZMK)"],
                                            zoneKeySet1["ZAK Check Value"], zoneKeySet1["ZEK(LMK)"], zoneKeySet1["ZEK(ZMK)"],
                                            zoneKeySet1["ZEK Check Value"], node_number.ToString());
             _log.Info("Sent keys under LMK : ZAK : " + zoneKeySet1["ZAK(LMK)"] + " ZAK check value : " +
                       zoneKeySet1["ZAK Check Value"] + "ZPK : " + zoneKeySet1["ZPK(LMK)"] + "ZPK Check Value : " +
                       zoneKeySet1["ZPK Check Value"]);
         }
     }
 }
コード例 #4
0
        public void FinaliseKeyExchange(NetworkManagementModel model)
        {
            string value    = model.AddtlDataPriv;
            string kmaCsKvc = value.Substring(0, 6);
            string kpEsKvc  = value.Substring(6);

            int nodeNumber = model.SecControlInfo;

            _log.Info("KMACs_KVC : " + kmaCsKvc + " KPEs_KVC : " + kpEsKvc);

            if (kmaCsKvc == _zoneKeySet1["ZAK Check Value"] && kpEsKvc == _zoneKeySet1["ZPK Check Value"])
            {
                _log.Info("Key exchange successfull. Check values match. ZAK Check value :" + _zoneKeySet1["ZAK Check Value"] + " ZPK Check value : " + _zoneKeySet1["ZPK Check Value"]);
                using (Session2805Data data = new Session2805Data())
                {
                    data.UpdateSession_Send_as2805(_zoneKeySet1["ZPK(LMK)"], _zoneKeySet1["ZPK(ZMK)"], _zoneKeySet1["ZPK Check Value"], _zoneKeySet1["ZAK(LMK)"], _zoneKeySet1["ZAK(ZMK)"], _zoneKeySet1["ZAK Check Value"], _zoneKeySet1["ZEK(LMK)"], _zoneKeySet1["ZEK(ZMK)"], _zoneKeySet1["ZEK Check Value"], nodeNumber.ToString());
                }
                _log.Info("Log on Successfull");
            }
        }