public void EncryptDataUsingRijndael()
        {
            var encriptedText = CryptographHelper.RijndaelEncrypt(_textToEncrypt, _password);
            var decriptedText = CryptographHelper.RijndaelDecrypt(encriptedText, _password);

            Assert.IsNotNull(encriptedText);
            Assert.IsNotNull(decriptedText);
            Assert.AreEqual(_textToEncrypt, decriptedText);
        }
Пример #2
0
        public string GetEncryptedConnectionString(ConnectionStringFilterDTO filter)
        {
            var connectionString = string.Empty;

            try
            {
                if (string.IsNullOrEmpty(filter.ConnectionString))
                {
                    throw new ServiceException(CommonExceptionType.ParameterException, "ConnectionString");
                }

                var prefix = CommonResource.GetString("PassNumbers") + CommonResource.GetString("PassSpecialChars");
                var pass   = prefix + CommonResource.GetString("PassText") + prefix;

                var upperConnection = filter.ConnectionString.ToUpper();
                if (upperConnection.Contains("DATA SOURCE") &&
                    upperConnection.Contains("USER ID") &&
                    upperConnection.Contains("PASSWORD"))
                {
                    connectionString = CryptographHelper.RijndaelEncrypt(filter.ConnectionString, pass);
                }

                else if (upperConnection.Contains("SERVER") &&
                         upperConnection.Contains("DATABASE") &&
                         (upperConnection.Contains("TRUSTED_CONNECTION") ||
                          (upperConnection.Contains("USER ID") && upperConnection.Contains("PASSWORD"))))
                {
                    connectionString = CryptographHelper.RijndaelEncrypt(filter.ConnectionString, pass);
                }

                else if (upperConnection.Contains("DATA SOURCE") &&
                         upperConnection.Contains("PROVIDER"))
                {
                    connectionString = CryptographHelper.RijndaelEncrypt(filter.ConnectionString, pass);
                }
                else
                {
                    throw new ServiceException(CommonExceptionType.ValidationException,
                                               "ConnectionString parameter, must follow connection standards " + Environment.NewLine +
                                               "For Oracle" + Environment.NewLine +
                                               "DATA SOURCE=#########;PERSIST SECURITY INFO=FALSE;USER ID=######;PASSWORD=######;" + Environment.NewLine +
                                               "For SQL Server" + Environment.NewLine +
                                               "SERVER=###############;DATABASE=###############;[USER ID=######;PASSWORD=######;|TRUSTED_CONNECTION=TRUE;]" + Environment.NewLine +
                                               "For MS Access" + Environment.NewLine +
                                               "PROVIDER=###############;DATA SOURCE=###############;PERSIST SECURITY INFO=FALSE;[USER ID=######;PASSWORD=######;]");
                }
            }
            catch (Exception ex)
            {
                LogHelper.ExceptionAndThrow(ex);
            }

            return(connectionString);
        }
Пример #3
0
        public void ValidateAndGetUserAuthorizationsOperation()
        {
            var auth = _ssoService.ValidateAndGetUserAuthorizations(new SsoAuthenticationDTO
            {
                EncriptedLogin      = CryptographHelper.RijndaelEncrypt("v-mussala", CommonConsts.CommonPassword),
                EncriptedPassword   = CryptographHelper.RijndaelEncrypt("Songoku&*78", CommonConsts.CommonPassword),
                EncriptedAppCode    = CryptographHelper.RijndaelEncrypt("SCB", CommonConsts.CommonPassword),
                LanguageCultureName = "EN-US"
            });

            Assert.IsNotNull(auth);
        }
Пример #4
0
        /// <summary>
        /// Validates user using Windows or Forms authentication
        /// </summary>
        private bool ValidateUserCredentialAndGetClaims(LoginModel login)
        {
            //If its an signout action don´t get user data
            if (_ssoSigninSignout.RequestAction == SsoRequestParameter.WsSignOut.GetDescription())
            {
                return(true);
            }

            //Encripts user data and password for forms authentication
            if (!string.IsNullOrEmpty(login.Username) &&
                !string.IsNullOrEmpty(login.Password))
            {
                login.Username = CryptographHelper.RijndaelEncrypt(login.Username, CommonFrameworkResource.CommonFrameworkPassword.GetDescription());
                login.Password = CryptographHelper.RijndaelEncrypt(login.Password, CommonFrameworkResource.CommonFrameworkPassword.GetDescription());
            }

            var sso = new SsoAuthenticationDTO
            {
                EncriptedLogin      = login.Username,
                EncriptedPassword   = login.Password,
                LanguageCultureName = Thread.CurrentThread.CurrentCulture.Name.ToUpper(),
            };

            var userIdentity = ssoService.ValidateUserAndGetClaims(sso);
            var userIsValid  = (userIdentity != default(ClaimsIdentity) && userIdentity.IsAuthenticated);

            //Adds returned Claims Principal to SSO object
            if (userIsValid)
            {
                _ssoSigninSignout.ClaimsUser = new ClaimsPrincipal(new ClaimsIdentityCollection {
                    userIdentity
                });
            }

            return(userIsValid);
        }