public override void AwakeFromNib() { base.AwakeFromNib(); if (ExternalIdentityProviderDto.NameIDFormats == null) { ExternalIdentityProviderDto.NameIDFormats = new List <string> (); } if (ExternalIdentityProviderDto.SubjectFormats == null) { ExternalIdentityProviderDto.SubjectFormats = new Dictionary <string, string> (); } if (ExternalIdentityProviderDto.SsoServices == null) { ExternalIdentityProviderDto.SsoServices = new List <ServiceEndpointDto> (); } if (ExternalIdentityProviderDto.SloServices == null) { ExternalIdentityProviderDto.SloServices = new List <ServiceEndpointDto> (); } if (ExternalIdentityProviderDto.SigningCertificates == null) { ExternalIdentityProviderDto.SigningCertificates = new CertificateChainDto { Certificates = new List <CertificateDto>() } } ; TxtEntityName.StringValue = (NSString)(string.IsNullOrEmpty(ExternalIdentityProviderDto.EntityID) ? string.Empty : ExternalIdentityProviderDto.EntityID); TxtAlias.StringValue = (NSString)(string.IsNullOrEmpty(ExternalIdentityProviderDto.Alias) ? string.Empty : ExternalIdentityProviderDto.Alias); BtnJit.StringValue = ExternalIdentityProviderDto.JitEnabled ? "1" : "0"; ReloadTableView(NameFormatTableView, ExternalIdentityProviderDto.NameIDFormats); ReloadTableView(SubjectFormatTableView, ExternalIdentityProviderDto.SubjectFormats); ReloadCertificates(); InitializeSsoServices(); InitializeSloServices(); BtnViewCertificate.Activated += (object sender, EventArgs e) => { if (CertificateTableView.SelectedRows.Count > 0) { var row = CertificateTableView.SelectedRows.First(); var encoded = ExternalIdentityProviderDto.SigningCertificates.Certificates[(int)row].Encoded; var bytes = System.Text.Encoding.ASCII.GetBytes(encoded); var certificate = new X509Certificate2(bytes); CertificateService.DisplayX509Certificate2(this, certificate); } }; }
public override void AwakeFromNib() { base.AwakeFromNib(); ChkActive.StringValue = CertificateDto.IsSigner ? "1" : "0"; BtnViewCertificate.Activated += (object sender, EventArgs e) => { CertificateService.DisplayX509Certificate2(this, _certificate); }; ActionHelper.Execute(delegate() { _certificate = new X509Certificate2(Encoding.ASCII.GetBytes(CertificateDto.Encoded)); TxtIssuer.StringValue = _certificate.Issuer; TxtValidFrom.StringValue = _certificate.NotBefore.ToShortDateString(); TxtValidTo.StringValue = _certificate.NotAfter.ToShortDateString(); TxtDn.StringValue = _certificate.IssuerName.Format(true); }); }
public override void AwakeFromNib() { base.AwakeFromNib(); SolutionUserDto = SolutionUserDtoOriginal.DeepCopy(); TxtName.StringValue = SolutionUserDto.Name; TxtDescription.StringValue = string.IsNullOrEmpty(SolutionUserDto.Description)?string.Empty:SolutionUserDto.Description; cbDisabled.StringValue = SolutionUserDto.Disabled ? "0" : "1"; _certificate = new X509Certificate2(Encoding.ASCII.GetBytes(SolutionUserDto.Certificate.Encoded)); ActionHelper.Execute(delegate() { TxtIssuer.StringValue = _certificate.Issuer; TxtValidFrom.StringValue = _certificate.NotBefore.ToShortDateString(); TxtValidTo.StringValue = _certificate.NotAfter.ToShortDateString(); TxtDn.StringValue = _certificate.IssuerName.Format(true); }); //Events this.BtnSave.Activated += OnClickSaveButton; this.BtnChangeCertificate.Activated += (object sender, EventArgs e) => { var openPanel = new NSOpenPanel(); openPanel.ReleasedWhenClosed = true; openPanel.Prompt = "Select file"; var result = openPanel.RunModal(); if (result == 1) { var filePath = openPanel.Url.AbsoluteString.Replace("file://", string.Empty); var cert1 = new X509Certificate2(); ActionHelper.Execute(delegate() { cert1.Import(filePath); TxtIssuer.StringValue = cert1.Issuer; TxtValidFrom.StringValue = cert1.NotBefore.ToShortDateString(); TxtValidTo.StringValue = cert1.NotAfter.ToShortDateString(); TxtDn.StringValue = cert1.IssuerName.Format(true); _certificate = cert1; }); SolutionUserDto.Certificate.Encoded = _certificate.ToPem(); } }; BtnViewCertificate.Activated += (object sender, EventArgs e) => { CertificateService.DisplayX509Certificate2(this, _certificate); }; BtnSave.Hidden = !IsSystemDomain; }
public override void AwakeFromNib() { base.AwakeFromNib(); RelyingPartyDto = RelyingPartyDtoOriginal.DeepCopy(); TxtRpName.StringValue = string.IsNullOrEmpty(RelyingPartyDto.Name) ? string.Empty : RelyingPartyDto.Name.Length > 10 ? RelyingPartyDto.Name.Substring(0, 10) + "..." : RelyingPartyDto.Name; TxtUrl.StringValue = string.IsNullOrEmpty(RelyingPartyDto.Url) ? string.Empty : RelyingPartyDto.Url; TxtCertificate.StringValue = "Certificate"; _certificate = new X509Certificate2(Encoding.ASCII.GetBytes(RelyingPartyDtoOriginal.Certificate.Encoded)); this.BtnAddSignAlgo.Activated += OnAddSignatureAlgorithm; this.BtnAddAssertServices.Activated += OnAddAssertServices; this.BtnAddAttributeService.Activated += OnAddAttributeServices; this.BtnAddSloService.Activated += OnAddSloServices; this.BtnRemoveSignAlgo.Activated += OnRemoveSignatureAlgorithm; this.BtnRemoveAssertService.Activated += OnRemoveAssertServices; this.BtnRemoveAttributeService.Activated += OnRemoveAttributeServices; this.BtnRemoveSloService.Activated += OnRemoveSloServices; this.SignAlgorithmTableView.DoubleClick += OnSignatureAlgorithmUpdate; this.SloServicesTableView.DoubleClick += OnSloUpdate; this.AttributeTableView.DoubleClick += OnAttributeUpdate; this.AssertTableView.DoubleClick += OnAssertUpdate; this.BtnApply.Activated += OnClickSaveButton; this.BtnBrowseCertificate.Activated += OnBrowseCertificate; this.BtnViewCertificate.Activated += (object sender, EventArgs e) => { ActionHelper.Execute(delegate() { var cert = new X509Certificate2(Encoding.ASCII.GetBytes(RelyingPartyDtoOriginal.Certificate.Encoded)); CertificateService.DisplayX509Certificate2(this, cert); }); }; InitializeSignatureAlgorithm(); InitializeAssertionConsumerServices(); InitializeAttributeConsumerServices(); InitializeSloServices(); }
public override void AwakeFromNib() { base.AwakeFromNib(); if (ExternalIdentityProviderDto.NameIDFormats == null) { ExternalIdentityProviderDto.NameIDFormats = new List <string> (); } if (ExternalIdentityProviderDto.SubjectFormats == null) { ExternalIdentityProviderDto.SubjectFormats = new Dictionary <string, string> (); } if (ExternalIdentityProviderDto.SsoServices == null) { ExternalIdentityProviderDto.SsoServices = new List <ServiceEndpointDto> (); } if (ExternalIdentityProviderDto.SloServices == null) { ExternalIdentityProviderDto.SloServices = new List <ServiceEndpointDto> (); } if (ExternalIdentityProviderDto.SigningCertificates == null) { ExternalIdentityProviderDto.SigningCertificates = new CertificateChainDto { Certificates = new List <CertificateDto>() } } ; TxtEntityName.StringValue = (NSString)(string.IsNullOrEmpty(ExternalIdentityProviderDto.EntityID) ? string.Empty : ExternalIdentityProviderDto.EntityID); TxtAlias.StringValue = (NSString)(string.IsNullOrEmpty(ExternalIdentityProviderDto.Alias) ? string.Empty : ExternalIdentityProviderDto.Alias); BtnJit.StringValue = ExternalIdentityProviderDto.JitEnabled ? "1" : "0"; ReloadTableView(NameFormatTableView, ExternalIdentityProviderDto.NameIDFormats); ReloadTableView(SubjectFormatTableView, ExternalIdentityProviderDto.SubjectFormats); ReloadCertificates(); InitializeSsoServices(); InitializeSloServices(); BtnViewCertificate.Activated += (object sender, EventArgs e) => { if (CertificateTableView.SelectedRows.Count > 0) { var row = CertificateTableView.SelectedRows.First(); var encoded = ExternalIdentityProviderDto.SigningCertificates.Certificates[(int)row].Encoded; var bytes = System.Text.Encoding.ASCII.GetBytes(encoded); var certificate = new X509Certificate2(bytes); CertificateService.DisplayX509Certificate2(this, certificate); } }; EditButton.Activated += (object sender, EventArgs e) => { ActionHelper.Execute(delegate() { var form = new AddNewExternalIdentityProviderController { ServerDto = ServerDto, TenantName = TenantName, ExternalIdentityProviderDto = ExternalIdentityProviderDto }; var result = NSApplication.SharedApplication.RunModalForWindow(form.Window); if (result == VMIdentityConstants.DIALOGOK) { if (form.ExternalIdentityProviderDto != null) { UIErrorHelper.ShowAlert("External IDP " + form.ExternalIdentityProviderDto.EntityID + " updated successfully", "Information"); Refresh(sender, e); } } }); }; }
public override void AwakeFromNib() { base.AwakeFromNib(); ExternalIdentityProviderDto = new ExternalIdentityProviderDto() { NameIDFormats = new List <string>(), SubjectFormats = new Dictionary <string, string>(), SsoServices = new List <ServiceEndpointDto>(), SloServices = new List <ServiceEndpointDto>(), SigningCertificates = new CertificateChainDto { Certificates = new List <CertificateDto>() } }; // Name Id formats BtnAddNameIdFormat.Activated += (object sender, EventArgs e) => { if (string.IsNullOrEmpty(TxtNameIdFormat.StringValue)) { UIErrorHelper.ShowAlert("Name Id format cannot be empty", "Alert"); return; } ExternalIdentityProviderDto.NameIDFormats.Add(TxtNameIdFormat.StringValue); ReloadTableView(LstNameIdFormat, ExternalIdentityProviderDto.NameIDFormats); TxtNameIdFormat.StringValue = (NSString)string.Empty; }; BtnRemoveNameIdFormat.Activated += (object sender, EventArgs e) => { if (LstNameIdFormat.SelectedRows.Count > 0) { foreach (var row in LstNameIdFormat.SelectedRows) { ExternalIdentityProviderDto.NameIDFormats.RemoveAt((int)row); } ReloadTableView(LstNameIdFormat, ExternalIdentityProviderDto.NameIDFormats); } }; ReloadTableView(LstNameIdFormat, ExternalIdentityProviderDto.NameIDFormats); // Subject formats BtnAddSubjectFormat.Activated += (object sender, EventArgs e) => { if (string.IsNullOrEmpty(TxtSubjectFormatName.StringValue)) { UIErrorHelper.ShowAlert("Subject format name cannot be empty", "Alert"); return; } if (string.IsNullOrEmpty(TxtSubjectFormatValue.StringValue)) { UIErrorHelper.ShowAlert("Subject format value cannot be empty", "Alert"); return; } if (ExternalIdentityProviderDto.SubjectFormats.ContainsKey(TxtSubjectFormatName.StringValue)) { UIErrorHelper.ShowAlert("Subject format name already exists", "Alert"); return; } ExternalIdentityProviderDto.SubjectFormats.Add(TxtSubjectFormatName.StringValue, TxtSubjectFormatValue.StringValue); ReloadTableView(LstSubjectFormat, ExternalIdentityProviderDto.SubjectFormats); TxtSubjectFormatName.StringValue = (NSString)string.Empty; TxtSubjectFormatValue.StringValue = (NSString)string.Empty; }; BtnRemoveSubjectFormat.Activated += (object sender, EventArgs e) => { if (LstSubjectFormat.SelectedRows.Count > 0) { foreach (var row in LstSubjectFormat.SelectedRows) { var source = LstSubjectFormat.DataSource as DictionaryDataSource; var name = source.Entries[(int)row]; ExternalIdentityProviderDto.SubjectFormats.Remove(name); } ReloadTableView(LstSubjectFormat, ExternalIdentityProviderDto.SubjectFormats); } }; ReloadTableView(LstSubjectFormat, ExternalIdentityProviderDto.SubjectFormats); // Certificates BtnAddCertificate.Activated += (object sender, EventArgs e) => { var openPanel = new NSOpenPanel(); openPanel.ReleasedWhenClosed = true; openPanel.Prompt = "Select file"; var result = openPanel.RunModal(); if (result == 1) { var filePath = openPanel.Url.AbsoluteString.Replace("file://", string.Empty); var cert = new X509Certificate2(); ActionHelper.Execute(delegate() { cert.Import(filePath); var certfificateDto = new CertificateDto { Encoded = cert.ExportToPem(), }; ExternalIdentityProviderDto.SigningCertificates.Certificates.Add(certfificateDto); ReloadCertificates(); }); } }; BtnRemoveCertificate.Activated += (object sender, EventArgs e) => { if (LstCertificates.SelectedRows.Count > 0) { foreach (var row in LstCertificates.SelectedRows) { ExternalIdentityProviderDto.SigningCertificates.Certificates.RemoveAt((int)row); } ReloadCertificates(); } }; ReloadCertificates(); // Sso Services BtnAddSso.Activated += OnAddSsoServices; BtnRemoveSso.Activated += OnRemoveSsoServices; InitializeSsoServices(); // Slo Services BtnAddSlo.Activated += OnAddSloServices; BtnRemoveSlo.Activated += OnRemoveSloServices; InitializeSloServices(); this.BtnSave.Activated += (object sender, EventArgs e) => { if (string.IsNullOrEmpty(TxtUniqueId.StringValue)) { UIErrorHelper.ShowAlert("Please choose a Unique Id", "Alert"); } else if (ExternalIdentityProviderDto.NameIDFormats.Count() < 1) { UIErrorHelper.ShowAlert("Please choose a Name Id format", "Alert"); } else if (ExternalIdentityProviderDto.SubjectFormats.Count() < 1) { UIErrorHelper.ShowAlert("Please choose a Subject Id format", "Alert"); } else if (ExternalIdentityProviderDto.SsoServices.Count() < 1) { UIErrorHelper.ShowAlert("Please choose a Sso Service", "Alert"); } else if (ExternalIdentityProviderDto.SloServices.Count() < 1) { UIErrorHelper.ShowAlert("Please choose a Slo service", "Alert"); } else if (ExternalIdentityProviderDto.SigningCertificates.Certificates.Count() < 1) { UIErrorHelper.ShowAlert("Please choose a certificate", "Alert"); } else { ExternalIdentityProviderDto.EntityID = TxtUniqueId.StringValue; ExternalIdentityProviderDto.Alias = TxtAlias.StringValue; ExternalIdentityProviderDto.JitEnabled = ChkJit.StringValue == "1"; ActionHelper.Execute(delegate { var auth = SnapInContext.Instance.AuthTokenManager.GetAuthToken(ServerDto.ServerName); SnapInContext.Instance.ServiceGateway.ExternalIdentityProvider.Create(ServerDto, TenantName, ExternalIdentityProviderDto, auth.Token); this.Close(); NSApplication.SharedApplication.StopModalWithCode(1); }); } }; BtnClose.Activated += (object sender, EventArgs e) => { this.Close(); NSApplication.SharedApplication.StopModalWithCode(0); }; BtnViewCertificate.Activated += (object sender, EventArgs e) => { if (LstCertificates.SelectedRows.Count > 0) { var row = LstCertificates.SelectedRows.First(); var encoded = ExternalIdentityProviderDto.SigningCertificates.Certificates[(int)row].Encoded; var bytes = System.Text.Encoding.ASCII.GetBytes(encoded); var certificate = new X509Certificate2(bytes); CertificateService.DisplayX509Certificate2(this, certificate); } }; }