/// <summary>
            /// Create session
            /// </summary>
            /// <param name="manager"></param>
            /// <param name="context"></param>
            /// <param name="id"></param>
            /// <param name="endpoint"></param>
            /// <param name="serverCertificate"></param>
            /// <param name="clientNonce"></param>
            /// <param name="timeout"></param>
            /// <param name="serverNonce"></param>
            /// <param name="clientCertificate"></param>
            /// <param name="maxRequestAge"></param>
            /// <param name="validator"></param>
            public GatewaySession(SessionServices manager,
                                  RequestContextModel context, NodeId id, EndpointDescription endpoint,
                                  X509Certificate2 clientCertificate, byte[] clientNonce,
                                  X509Certificate2 serverCertificate, byte[] serverNonce,
                                  TimeSpan timeout, TimeSpan maxRequestAge, UserIdentityHandler validator)
            {
                if (context == null)
                {
                    throw new ArgumentNullException(nameof(context));
                }
                if (context.ChannelContext == null)
                {
                    throw new ServiceResultException(StatusCodes.BadSecureChannelIdInvalid);
                }
                _validator         = validator;
                _secureChannelId   = context.ChannelContext.SecureChannelId;
                _serverNonce       = serverNonce;
                _serverCertificate = serverCertificate;
                _clientCertificate = clientCertificate;
                _maxRequestAge     = maxRequestAge;
                Endpoint           = endpoint;
                Identities         = new List <IUserIdentity>();

                Id             = id;
                ClientNonce    = clientNonce;
                MessageContext = new ServiceMessageContext();

                _cts          = new CancellationTokenSource();
                _timeout      = timeout;
                _timeoutTimer = new Timer(o => OnTimeout(manager), null,
                                          timeout, Timeout.InfiniteTimeSpan);
            }
예제 #2
0
        static void Main(string[] args)
        {
            CryptographyProvider hasher = new CryptographyProvider();

            //String result1 = hasher.CreateHash("Pa$$word1");

            //var isVerified = hasher.VerifyHash("Pa$$word1", result1);

            IUsersDataProvider  usersDataProvider = new UsersDataProvider("Server=JOSHUAS-ASUS\\SQLEXPRESS;Database=JWieczorek.Apps;Integrated Security=true;");
            UserIdentityHandler identityHandler   = new UserIdentityHandler(usersDataProvider);

            try
            {
                var identity = identityHandler.Generate("SysAdmin", "Pa$$word1");
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception.Message);
            }

            Console.WriteLine();
            Console.Read();
        }