Ejemplo n.º 1
0
        private CertificateChainDto GetCertificates()
        {
            var chain = new CertificateChainDto();

            chain.Certificates = new List <CertificateDto>();
            foreach (ListViewItem item in lstCertificateChain.Items)
            {
                var dto = item.Tag as CertificateDto;
                chain.Certificates.Add(dto);
            }
            return(chain);
        }
Ejemplo n.º 2
0
        private ClaimsPrincipal Validate(ServerDto serverDto, string audience, CertificateChainDto certificateChain, string tenantName, string token)
        {
            var certificate      = certificateChain.Certificates[0];
            var publicKey        = certificate.Encoded;
            var x509Certificate2 = new X509Certificate2();
            var cert             = Encoding.UTF8.GetBytes(publicKey);

            x509Certificate2.Import(cert);
            var hostName         = ServiceHelper.GetHostName(serverDto.ServerName);
            var validationParams = new TokenValidationParameters
            {
                ValidIssuer        = _serviceConfigManager.GetValidIssuer(serverDto, hostName, tenantName),
                ValidAudience      = audience,
                IssuerSigningToken = new X509SecurityToken(x509Certificate2),
                ValidateIssuer     = false
            };

            var           jwtSecurityTokenHandler = new JwtSecurityTokenHandler();
            SecurityToken validatedToken;

            return(jwtSecurityTokenHandler.ValidateToken(token, validationParams, out validatedToken));
        }