cloudscribe.Core.Web.Components.SiteDataProtector.UnProtect C# (CSharp) Method

UnProtect() public method

public UnProtect ( ISiteSettings site ) : void
site ISiteSettings
return void
        public void UnProtect(ISiteSettings site)
        {
            bool requiresMigration = false;
            bool wasRevoked = false;
            if (site == null) { throw new ArgumentNullException("you must pass in an implementation of ISiteSettings"); }
            if (!site.IsDataProtected) { return; }

            if (site.FacebookAppSecret.Length > 0)
            {
                try
                {
                    site.FacebookAppSecret = dataProtector.PersistentUnprotect(site.FacebookAppSecret, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.GoogleClientSecret.Length > 0)
            {
                try
                {
                    site.GoogleClientSecret = dataProtector.PersistentUnprotect(site.GoogleClientSecret, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.MicrosoftClientSecret.Length > 0)
            {
                try
                {
                    site.MicrosoftClientSecret = dataProtector.PersistentUnprotect(site.MicrosoftClientSecret, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.TwitterConsumerSecret.Length > 0)
            {
                try
                {
                    site.TwitterConsumerSecret = dataProtector.PersistentUnprotect(site.TwitterConsumerSecret, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.SmtpPassword.Length > 0)
            {
                try
                {
                    site.SmtpPassword = dataProtector.PersistentUnprotect(site.SmtpPassword, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.OidConnectAppSecret.Length > 0)
            {
                try
                {
                    site.OidConnectAppSecret = dataProtector.PersistentUnprotect(site.OidConnectAppSecret, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.SmsSecureToken.Length > 0)
            {
                try
                {
                    site.SmsSecureToken = dataProtector.PersistentUnprotect(site.SmsSecureToken, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            if (site.DkimPrivateKey.Length > 0)
            {
                try
                {
                    site.DkimPrivateKey = dataProtector.PersistentUnprotect(site.DkimPrivateKey, out requiresMigration, out wasRevoked);
                }
                catch (System.Security.Cryptography.CryptographicException ex)
                {
                    log.LogError("data protection error", ex);
                }
                catch (FormatException ex)
                {
                    log.LogError("data protection error", ex);
                }

            }

            site.IsDataProtected = false;

            if (requiresMigration || wasRevoked)
            {
                log.LogWarning("DataProtection key wasRevoked or requires migration, save site settings for " + site.SiteName + " to protect with a new key");
            }

            
        }

Usage Example

Ejemplo n.º 1
0
        public async Task <ISiteSettings> Fetch(Guid siteId)
        {
            var site = await _queries.Fetch(siteId, CancellationToken);

            _dataProtector.UnProtect(site);
            return(site);
        }
All Usage Examples Of cloudscribe.Core.Web.Components.SiteDataProtector::UnProtect