public void SignContext(IOAuthContext context)
        {
            EnsureStateIsValid();


            context.UseAuthorizationHeader = UseHeaderForOAuthParameters;
            context.Nonce           = _nonceGenerator.GenerateNonce();
            context.ConsumerKey     = ConsumerKey;
            context.Realm           = Realm;
            context.SignatureMethod = SignatureMethod;
            context.Timestamp       = DateTimeUtility.Epoch(DateTime.Now).ToString();
            context.Version         = "1.0";

            string signatureBase = context.GenerateSignatureBase();

            _signer.SignContext(context,
                                new SigningContext
            {
                Algorithm = Key, SignatureBase = signatureBase, ConsumerSecret = ConsumerSecret
            });
        }