public AuthenticationForm(GXAuthentication target) { InitializeComponent(); Target = target; this.Text = Target.Type.ToString() + " authentication settings"; this.SecretTB.Text = GXCommon.ToHex(target.SharedSecret, true); }
public AuthenticationGmacForm(GXAuthentication target) { InitializeComponent(); SecurityCB.Items.AddRange(new object[] { Security.None, Security.Authentication, Security.Encryption, Security.AuthenticationEncryption}); Target = target; this.Text = Target.Type.ToString() + " authentication settings"; this.SecurityCB.SelectedItem = target.Security; this.SystemTitleTB.Text = GXCommon.ToHex(target.SystemTitle, true); this.BlockCipherKeyTB.Text = GXCommon.ToHex(target.BlockCipherKey, true); this.AuthenticationKeyTB.Text = GXCommon.ToHex(target.AuthenticationKey, true); }
public ManufacturerForm(GXManufacturerCollection manufacturers, GXManufacturer manufacturer) { InitializeComponent(); Manufacturers = manufacturers; Manufacturer = manufacturer; if (manufacturer.Settings.Count == 0) { manufacturer.Settings.Add(new GXAuthentication(Gurux.DLMS.Authentication.None, (byte)0x10)); manufacturer.Settings.Add(new GXAuthentication(Gurux.DLMS.Authentication.Low, (byte)0x11)); manufacturer.Settings.Add(new GXAuthentication(Gurux.DLMS.Authentication.High, (byte)0x12)); manufacturer.Settings.Add(new GXAuthentication(Gurux.DLMS.Authentication.HighMD5, (byte)0x13)); manufacturer.Settings.Add(new GXAuthentication(Gurux.DLMS.Authentication.HighSHA1, (byte)0x14)); GXAuthentication gmac = new GXAuthentication(Gurux.DLMS.Authentication.HighGMAC, (byte)0x15); gmac.BlockCipherKey = new byte[] { 0x00, 0x01, 0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F }; gmac.AuthenticationKey = new byte[] { 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD7, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0xDF }; manufacturer.Settings.Add(gmac); } GXAuthentication authentication = manufacturer.GetActiveAuthentication(); foreach (GXAuthentication it in manufacturer.Settings) { AuthenticationCB.Items.Add(it); } AuthenticationCB.SelectedItem = authentication; if (authentication.Type == Gurux.DLMS.Authentication.High || authentication.Type == Gurux.DLMS.Authentication.HighSHA1 || authentication.Type == Gurux.DLMS.Authentication.HighGMAC) { AdvancedBtn.Enabled = true; } this.AuthenticationCB.SelectedIndexChanged += new System.EventHandler(this.AuthenticationCB_SelectedIndexChanged); if (manufacturer.ServerSettings.Count == 0) { manufacturer.ServerSettings.Add(new GXServerAddress(HDLCAddressType.Default, (byte) 1, true)); manufacturer.ServerSettings.Add(new GXServerAddress(HDLCAddressType.SerialNumber, (byte) 1, false)); manufacturer.ServerSettings.Add(new GXServerAddress(HDLCAddressType.Custom, (byte)1, false)); } foreach (GXServerAddress it in manufacturer.ServerSettings) { ServerAddressTypeCB.Items.Add(it); } ServerAddTypeCB.Items.Add(typeof(byte)); ServerAddTypeCB.Items.Add(typeof(ushort)); ServerAddTypeCB.Items.Add(typeof(uint)); GXServerAddress server = manufacturer.GetActiveServer(); ServerAddressTypeCB.SelectedItem = server; RefreshServer(server); this.ServerAddressTypeCB.SelectedIndexChanged += new System.EventHandler(this.ServerAddressTypeCB_SelectedIndexChanged); ServerAddressTypeCB.DrawMode = AuthenticationCB.DrawMode = ClientAddTypeCB.DrawMode = ServerAddTypeCB.DrawMode = DrawMode.OwnerDrawFixed; ClientAddTypeCB.Items.Add(typeof(byte)); ClientAddTypeCB.Items.Add(typeof(ushort)); ClientAddTypeCB.Items.Add(typeof(uint)); if (authentication.ClientID != null) { ClientAddTB.Value = Convert.ToDecimal(authentication.ClientID); ClientAddTypeCB.SelectedItem = authentication.ClientID.GetType(); } RefreshAuthentication(authentication); InactivityModeCB.Items.Add(InactivityMode.None); InactivityModeCB.Items.Add(InactivityMode.KeepAlive); InactivityModeCB.Items.Add(InactivityMode.Reopen); InactivityModeCB.Items.Add(InactivityMode.ReopenActive); InactivityModeCB.Items.Add(InactivityMode.Disconnect); StartProtocolCB.Items.Add(StartProtocolType.IEC); StartProtocolCB.Items.Add(StartProtocolType.DLMS); NameTB.Text = manufacturer.Name; ManufacturerIdTB.Text = manufacturer.Identification; ForceKeepAliveCB.Checked = manufacturer.ForceInactivity; UseLNCB.Checked = manufacturer.UseLogicalNameReferencing; UseIEC47CB.Checked = manufacturer.UseIEC47; StartProtocolCB.SelectedItem = manufacturer.StartProtocol; InactivityModeCB.SelectedItem = Manufacturer.InactivityMode; //Manufacturer ID can not change after creation. ManufacturerIdTB.Enabled = string.IsNullOrEmpty(manufacturer.Identification); KeepAliveIntervalTB.Value = Manufacturer.KeepAliveInterval / 1000; }
void UpdateAuthentication(GXAuthentication authentication) { object value = Convert.ChangeType(this.ClientAddTB.Value, (Type)this.ClientAddTypeCB.SelectedItem); authentication.ClientID = value; }
void RefreshAuthentication(GXAuthentication authentication) { if (authentication.ClientID != null) { ClientAddTypeCB.SelectedItem = authentication.ClientID.GetType(); ClientAddTB.Value = Convert.ToDecimal(authentication.ClientID); } else { ClientAddTypeCB.SelectedItem = typeof(byte); } }
public ManufacturerForm(GXManufacturerCollection manufacturers, GXManufacturer manufacturer) { InitializeComponent(); Manufacturers = manufacturers; Manufacturer = manufacturer; if (manufacturer.Settings.Count == 0) { manufacturer.Settings.Add(new GXAuthentication(Authentication.None, (byte)0x10)); manufacturer.Settings.Add(new GXAuthentication(Authentication.Low, (byte)0x11)); manufacturer.Settings.Add(new GXAuthentication(Authentication.High, (byte)0x12)); manufacturer.Settings.Add(new GXAuthentication(Authentication.HighMD5, (byte)0x13)); manufacturer.Settings.Add(new GXAuthentication(Authentication.HighSHA1, (byte)0x14)); GXAuthentication gmac = new GXAuthentication(Authentication.HighGMAC, (byte)0x15); } GXAuthentication authentication = manufacturer.GetActiveAuthentication(); foreach (GXAuthentication it in manufacturer.Settings) { AuthenticationCB.Items.Add(it); } AuthenticationCB.SelectedItem = authentication; AdvancedBtn.Enabled = authentication.Type == Authentication.HighGMAC; this.AuthenticationCB.SelectedIndexChanged += new System.EventHandler(this.AuthenticationCB_SelectedIndexChanged); if (manufacturer.ServerSettings.Count == 0) { manufacturer.ServerSettings.Add(new GXServerAddress(HDLCAddressType.Default, (byte)1, true)); manufacturer.ServerSettings.Add(new GXServerAddress(HDLCAddressType.SerialNumber, (byte)1, false)); manufacturer.ServerSettings.Add(new GXServerAddress(HDLCAddressType.Custom, (byte)1, false)); } foreach (GXServerAddress it in manufacturer.ServerSettings) { ServerAddressTypeCB.Items.Add(it); } GXServerAddress server = manufacturer.GetActiveServer(); ServerAddressTypeCB.SelectedItem = server; RefreshServer(server); this.ServerAddressTypeCB.SelectedIndexChanged += new System.EventHandler(this.ServerAddressTypeCB_SelectedIndexChanged); ServerAddressTypeCB.DrawMode = AuthenticationCB.DrawMode = DrawMode.OwnerDrawFixed; ClientAddTB.Value = authentication.ClientAddress; InactivityModeCB.Items.Add(InactivityMode.None); InactivityModeCB.Items.Add(InactivityMode.KeepAlive); InactivityModeCB.Items.Add(InactivityMode.Reopen); InactivityModeCB.Items.Add(InactivityMode.ReopenActive); InactivityModeCB.Items.Add(InactivityMode.Disconnect); StartProtocolCB.Items.Add(StartProtocolType.IEC); StartProtocolCB.Items.Add(StartProtocolType.DLMS); NameTB.Text = manufacturer.Name; ManufacturerIdTB.Text = manufacturer.Identification; ForceKeepAliveCB.Checked = manufacturer.ForceInactivity; UseLNCB.Checked = manufacturer.UseLogicalNameReferencing; UseIEC47CB.Checked = manufacturer.UseIEC47; StartProtocolCB.SelectedItem = manufacturer.StartProtocol; InactivityModeCB.SelectedItem = Manufacturer.InactivityMode; //Manufacturer ID can not change after creation. ManufacturerIdTB.Enabled = string.IsNullOrEmpty(manufacturer.Identification); KeepAliveIntervalTB.Value = Manufacturer.KeepAliveInterval / 1000; AdvancedBtn.Enabled = SecuredConnectionCB.Checked = manufacturer.SystemTitle != null; WebAddressTB.Text = Manufacturer.WebAddress; if (!string.IsNullOrEmpty(Manufacturer.Info)) { try { InfoTB.Text = ASCIIEncoding.UTF8.GetString(Convert.FromBase64String(Manufacturer.Info)); } catch (Exception) { InfoTB.Text = ""; } } }
private void AuthLevelCb_SelectedIndexChanged(object sender, System.EventArgs e) { SelectedAuthentication = (GXAuthentication)authLevelCb.SelectedItem; m_Device.Authentication = (Gurux.DLMS.Authentication)SelectedAuthentication.Type; bool enabled = m_Device.Authentication != (int) Gurux.DLMS.Authentication.None; if (enabled) { passwordTb.Text = m_Device.Password; } passwordTb.Enabled = enabled; }