internal void SignData(HttpRedirectContext context, CertificateContext certContext)
        {
            var query = context.BuildQuesryString();

            this._logProvider.LogMessage(String.Format("Signing request with certificate from context: {0}", certContext.ToString()));
            var base64 = this._certificateManager.SignToBase64(query, certContext);

            context.RequestParts.Add(HttpRedirectBindingConstants.Signature, base64);
        }
예제 #2
0
        public async Task <Uri> BuildRedirectUri(AuthnRequestContext authnRequestContext)
        {
            var bindingHandler = new HttpRedirectBindingHandler();
            var contex         = new HttpRedirectContext(authnRequestContext);
            await bindingHandler.BuildRequest(contex);

            var url = contex.GetDestinationUrl();

            return(url);
            //var authnRequest = AuthnRequestHelper.BuildAuthnRequest(authnRequestContext, this._federationPartyContextBuilder);

            //var sb = new StringBuilder();
            ////var query = await AuthnRequestHelper.SerialiseAndSign(authnRequest, authnRequestContext, this._serialiser, this._federationPartyContextBuilder, this._certificateManager, this._compression);
            ////sb.AppendFormat("{0}?{1}", authnRequest.Destination, query);
            //sb.AppendFormat("{0}?{1}", authnRequestContext.Destination, contex.ClauseBuilder.ToString());

            //return new Uri(sb.ToString());
        }