Пример #1
0
        public async Task NoCert_NoOp()
        {
            var httpContext  = new DefaultHttpContext();
            var proxyRequest = new HttpRequestMessage();
            var transform    = new RequestHeaderClientCertTransform("Name");
            await transform.ApplyAsync(new RequestTransformContext()
            {
                HttpContext = httpContext, ProxyRequest = proxyRequest
            });

            Assert.Empty(proxyRequest.Headers);
        }
Пример #2
0
        public async Task ExistingHeader_NoCert_RemovesHeader()
        {
            var httpContext  = new DefaultHttpContext();
            var proxyRequest = new HttpRequestMessage();

            proxyRequest.Headers.Add("Name", "OtherValue");
            var transform = new RequestHeaderClientCertTransform("Name");
            await transform.ApplyAsync(new RequestTransformContext()
            {
                HttpContext   = httpContext,
                ProxyRequest  = proxyRequest,
                HeadersCopied = true
            });

            Assert.Empty(proxyRequest.Headers);
        }
Пример #3
0
        public async Task Cert_Encoded()
        {
            var httpContext  = new DefaultHttpContext();
            var proxyRequest = new HttpRequestMessage();

            httpContext.Connection.ClientCertificate = Certificates.SelfSignedValidWithClientEku;
            var transform = new RequestHeaderClientCertTransform("Name");
            await transform.ApplyAsync(new RequestTransformContext()
            {
                HttpContext = httpContext, ProxyRequest = proxyRequest
            });

            var expected = Convert.ToBase64String(Certificates.SelfSignedValidWithClientEku.RawData);

            Assert.Equal(expected, proxyRequest.Headers.GetValues("Name").Single());
        }