private DicomSecurityOptions DefaultReadSecurityOptions() { DicomSecurityOptions options = null; if (_settings != null) { options = _settings.GetAddInCustomData <DicomSecurityOptions>(_addinName, _customDataName); } return(options); }
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); }
private void OnWriteSecurityOptions(DicomSecurityOptions options) { if (WriteSecurityOptionsEvent == null) { DefaultWriteSecurityOptions(options); } else { WriteSecurityOptionsEvent(options); } }
private void DefaultWriteSecurityOptions(DicomSecurityOptions securityOptions) { if (_settings != null) { _settings.SetAddInCustomData <DicomSecurityOptions>(_addinName, _customDataName, securityOptions); try { _settings.Save(); } catch (Exception) { } } }
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; }
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); }
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); }
public void SaveOptions() { _view.UpdateSettings(); OnWriteSecurityOptions(_view.Options); _options = _view.Options.Clone <DicomSecurityOptions>(); }