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); }
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)); }