CertOperationResult GetUserResponse( string title, string message, PlasticCertInfo serverCertificate) { GuiMessage.GuiMessageResponseButton result = GuiMessage.GuiMessageResponseButton.Third; GUIActionRunner.RunGUIAction(delegate { result = GuiMessage.ShowQuestion( title, GetCertificateMessageString(message, serverCertificate), PlasticLocalization.GetString(PlasticLocalization.Name.YesButton), PlasticLocalization.GetString(PlasticLocalization.Name.NoButton), PlasticLocalization.GetString(PlasticLocalization.Name.CancelButton), true); }); switch (result) { case GuiMessage.GuiMessageResponseButton.First: return(CertOperationResult.AddToStore); case GuiMessage.GuiMessageResponseButton.Second: return(CertOperationResult.DoNotAddToStore); case GuiMessage.GuiMessageResponseButton.Third: return(CertOperationResult.Cancel); default: return(CertOperationResult.Cancel); } }
CertOperationResult IChannelCertificateUI.AcceptChangedServerCertificate(PlasticCertInfo serverCertificate) { return(GetUserResponse( PlasticLocalization.GetString( PlasticLocalization.Name.ExistingCertificateChangedTitle), PlasticLocalization.GetString( PlasticLocalization.Name.ExistingCertificateChangedMessage), serverCertificate)); }
CertOperationResult IChannelCertificateUI.AcceptNewServerCertificate(PlasticCertInfo serverCertificate) { return(GetUserResponse( PlasticLocalization.GetString( PlasticLocalization.Name.NewCertificateTitle), PlasticLocalization.GetString( PlasticLocalization.Name.NewCertificateMessage), serverCertificate)); }
string GetCertificateMessageString(string message, PlasticCertInfo serverCertificate) { return(string.Format(message, CertificateUi.GetCnField(serverCertificate.Subject), CertificateUi.GetCnField(serverCertificate.Issuer), serverCertificate.Format, serverCertificate.ExpirationDateString, serverCertificate.KeyAlgorithm, serverCertificate.CertHashString)); }