Esempio n. 1
0
        private DicomSecurityOptions DefaultReadSecurityOptions()
        {
            DicomSecurityOptions options = null;

            if (_settings != null)
            {
                options = _settings.GetAddInCustomData <DicomSecurityOptions>(_addinName, _customDataName);
            }
            return(options);
        }
Esempio n. 2
0
        public static DicomSecurityOptions DeserializeFromXml(string xmlString)
        {
            DicomSecurityOptions options = null;

            using (var stream = DicomSecurityOptions.GenerateStreamFromString(xmlString))
            {
                var serializer = new XmlSerializer(typeof(DicomSecurityOptions));
                options = serializer.Deserialize(stream) as DicomSecurityOptions;
            }
            return(options);
        }
Esempio n. 3
0
 private void OnWriteSecurityOptions(DicomSecurityOptions options)
 {
     if (WriteSecurityOptionsEvent == null)
     {
         DefaultWriteSecurityOptions(options);
     }
     else
     {
         WriteSecurityOptionsEvent(options);
     }
 }
Esempio n. 4
0
 private void DefaultWriteSecurityOptions(DicomSecurityOptions securityOptions)
 {
     if (_settings != null)
     {
         _settings.SetAddInCustomData <DicomSecurityOptions>(_addinName, _customDataName, securityOptions);
         try
         {
             _settings.Save();
         }
         catch (Exception)
         {
         }
     }
 }
Esempio n. 5
0
        public void Initialize(DicomSecurityOptions o)
        {
            _initializing = true;

            // Initialize CertificateType dropdown
            _comboBoxCertificateType.DropDownStyle = ComboBoxStyle.DropDownList;
            _comboBoxCertificateType.Items.Add(new CertificateTypeItem(DicomTlsCertificateType.Pem, "PEM   -- Base64 encoded DER certificate"));
            _comboBoxCertificateType.Items.Add(new CertificateTypeItem(DicomTlsCertificateType.Asn1, "ASN.1 -- Absract Syntax Notation One Certificate"));

            // Add Handlers
            _buttonCA.Click                      += _buttonCA_Click;
            _buttonCertificate.Click             += _buttonCertificate_Click;
            _buttonPrivateKey.Click              += _buttonPrivateKey_Click;
            _checkBoxShowPassword.CheckedChanged += _checkBoxShowPassword_CheckedChanged;
            _buttonMoveUp.Click                  += _buttonMoveUp_Click;
            _buttonMoveDown.Click                += _buttonMoveDown_Click;
            _checkBoxTlsOld.CheckedChanged       += _checkBoxTlsOld_CheckedChanged;

            // Initialize UI
            CertificateAuthority     = o.CertificationAuthoritiesFileName;
            Certificate              = o.CertificateFileName;
            PrivateKey               = o.KeyFileName;
            PrivateKeyPassword       = o.Password;
            CertificateType          = o.CertificateType;
            MaximumVerificationDepth = o.MaximumVerificationDepth;
            VerificationFlags        = o.VerificationFlags;
            _textBoxKeyPassword.UseSystemPasswordChar = true;
            ShowPrivateKeyPassword         = o.ShowPassword;
            _numericUpDownMaxDepth.Minimum = 1;
            _numericUpDownMaxDepth.Maximum = 9;

            // Cipher suites
            _listViewCipherSuites.InitializeCipherListView(o.CipherSuites, imageListCiphers);
            _checkBoxTlsOld.Checked = o.CipherSuites.ContainsOldCipherSuites();

            _options = o;

            _initializing = false;
        }
Esempio n. 6
0
        public void RunView(SecurityOptionsView view, AdvancedSettings settings)
        {
            DicomSecurityOptions clonedOptions;

            _view     = view;
            _settings = settings;

            if (ServiceLocator.IsRegistered <IDicomSecurity>())
            {
                _dicomSecurityAgent = ServiceLocator.Retrieve <IDicomSecurity>();
            }

            try
            {
                _options = OnReadSecurityOptions();
                if (_options == null)
                {
                    _options = new DicomSecurityOptions();
                    OnWriteSecurityOptions(_options);
                }
            }
            catch (Exception e)
            {
                Logger.Global.Exception("DICOM Security", e);
                if (_options == null)
                {
                    _options = new DicomSecurityOptions();
                }
            }

            clonedOptions = _options.Clone <DicomSecurityOptions>();
            _view.Initialize(clonedOptions);
            _view.Enabled = true;

            _view.SettingsChanged += new EventHandler(View_SettingsChanged);
        }
Esempio n. 7
0
        public static bool IsEqual(DicomSecurityOptions options1, DicomSecurityOptions options2)
        {
            if (options1 == null)
            {
                return(options2 == null);
            }

            if (options2 == null)
            {
                // Options1 is not null, so return false
                return(false);
            }

            bool isEqual = true;

            // CertificationAuthoritiesFileName
            if (isEqual)
            {
                isEqual = (string.Compare(options1.CertificationAuthoritiesFileName, options2.CertificationAuthoritiesFileName, true) == 0);
            }

            // CertificateFileName
            if (isEqual)
            {
                isEqual = (string.Compare(options1.CertificateFileName, options2.CertificateFileName, true) == 0);
            }

            // KeyFileName
            if (isEqual)
            {
                isEqual = (string.Compare(options1.KeyFileName, options2.KeyFileName, true) == 0);
            }

            // Password
            if (isEqual)
            {
                isEqual = (string.Compare(options1.Password, options2.Password, false) == 0);
            }

            // CertificateType
            if (isEqual)
            {
                isEqual = (options1.CertificateType == options2.CertificateType);
            }

            // MaximumVerificationDepth
            if (isEqual)
            {
                isEqual = (options1.MaximumVerificationDepth == options2.MaximumVerificationDepth);
            }

            // VerificationFlags
            if (isEqual)
            {
                isEqual = (options1.VerificationFlags == options2.VerificationFlags);
            }

            // Options
            if (isEqual)
            {
                isEqual = (options1.Options == options2.Options);
            }

            // SslMethodType
            if (isEqual)
            {
                isEqual = (options1.SslMethodType == options2.SslMethodType);
            }

            // ShowPassword
            // Skip this one

            //
            if (isEqual)
            {
                isEqual = (options1.CipherSuites.IsEqual(options2.CipherSuites));
            }

            return(isEqual);
        }
Esempio n. 8
0
 public void SaveOptions()
 {
     _view.UpdateSettings();
     OnWriteSecurityOptions(_view.Options);
     _options = _view.Options.Clone <DicomSecurityOptions>();
 }