예제 #1
0
        public X509CertificateClaimSet(X509Certificate2 certificate)
        {
            if (certificate == null)
            {
                throw new ArgumentNullException("certificate");
            }
            this.cert = certificate;
            Claim ident = new Claim(ClaimTypes.Thumbprint, cert.Thumbprint, Rights.Identity);

//			issuer = new X509IdentityClaimSet (ident);
            claims.Add(ident);
            //claims.Add (Claim.CreateX500DistinguishedNameClaim (cert.SubjectName));
            //claims.Add (Claim.CreateNameClaim (cert.SubjectName.Name));
            RSA rsa = cert.PublicKey.Key as RSA;

            if (rsa != null)
            {
                claims.Add(Claim.CreateRsaClaim(rsa));
            }
            claims.Add(Claim.CreateThumbprintClaim(cert.GetCertHash()));
            // FIXME: where is DNS info for X509 cert?
            claims.Add(Claim.CreateDnsClaim(null));
        }