Beispiel #1
0
        public void OnValueChanged(GXDLMSViewArguments arg)
        {
            GXDLMSSecuritySetup target = (GXDLMSSecuritySetup)Target;

            if (arg.Index == 6)
            {
                CertificatesLv.Items.Clear();
                if (target.Certificates != null)
                {
                    foreach (GXDLMSCertificateInfo it in target.Certificates)
                    {
                        ListViewItem li = CertificatesLv.Items.Add(it.Entity.ToString());
                        li.SubItems.Add(it.Type.ToString());
                        li.SubItems.Add(it.SerialNumber.ToString());
                        li.SubItems.Add(it.Issuer);
                        li.SubItems.Add(it.Subject);
                        li.SubItems.Add(it.SubjectAltName);
                        li.Tag = it;
                    }
                }
            }
            else if (arg.Index == 2)
            {
                SecurityCb.Visible       = Target.Version == 0;
                SecurityPolicyTB.Visible = Target.Version == 1;
                if (Target.Version == 0)
                {
                    SecurityCb.SelectedItem = target.SecurityPolicy;
                }
                else
                {
                    SecurityPolicyTB.SetItemChecked(0, (target.SecurityPolicy & SecurityPolicy.AuthenticatedRequest) != 0);
                    SecurityPolicyTB.SetItemChecked(1, (target.SecurityPolicy & SecurityPolicy.EncryptedRequest) != 0);
                    SecurityPolicyTB.SetItemChecked(2, (target.SecurityPolicy & SecurityPolicy.DigitallySignedRequest) != 0);
                    SecurityPolicyTB.SetItemChecked(3, (target.SecurityPolicy & SecurityPolicy.AuthenticatedResponse) != 0);
                    SecurityPolicyTB.SetItemChecked(4, (target.SecurityPolicy & SecurityPolicy.EncryptedResponse) != 0);
                    SecurityPolicyTB.SetItemChecked(5, (target.SecurityPolicy & SecurityPolicy.DigitallySignedResponse) != 0);
                }
            }
            else if (arg.Index == 5)
            {
                SystemTitleDescriptionTb.Text = GXDLMSConverter.SystemTitleToString(Standard.DLMS, target.ServerSystemTitle, true);
            }
            else
            {
                throw new IndexOutOfRangeException("index");
            }
        }
Beispiel #2
0
 /// <summary>
 /// Update server system title if Italy standard is used.
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void ServerSystemTitle_TextChanged(object sender, EventArgs e)
 {
     try
     {
         int len = ServerSystemTitleTb.Text.Replace(" ", "").Length;
         if (len != 0 && len != 16)
         {
             throw new Exception("Invalid system title.");
         }
         toolTip1.SetToolTip(ServerSystemTitleTb, null);
         if (len == 16)
         {
             byte[] tmp = GXDLMSTranslator.HexToBytes(ServerSystemTitleTb.Text);
             toolTip1.SetToolTip(ServerSystemTitleTb, GXDLMSConverter.SystemTitleToString(_standard, tmp, true));
         }
     }
     catch (Exception ex)
     {
         ServerSystemTitleTb.Select();
         MessageBox.Show(Parent, ex.Message);
     }
 }