コード例 #1
0
 public X509CertificateEndpointIdentity(X509Certificate2 cert)
 {
     if (cert == null)
     {
         throw new ArgumentNullException("cert");
     }
     primary = cert;
     Initialize(Claim.CreateThumbprintClaim(cert.GetCertHash()));
 }
コード例 #2
0
ファイル: ClaimTest.cs プロジェクト: zzwwqqq/mono
        public void CreateClaims()
        {
            Claim c;

            // premises
            Assert.AreEqual("http://schemas.xmlsoap.org/ws/2005/05/identity/right/identity", Rights.Identity, "#1");
            Assert.AreEqual("http://schemas.xmlsoap.org/ws/2005/05/identity/right/possessproperty", Rights.PossessProperty, "#2");

            c = Claim.CreateDnsClaim("123.45.6.7");
            AssertClaim("Dns", c, ClaimTypes.Dns, "123.45.6.7", Rights.PossessProperty);

            Uri uri = new Uri("http://www.example.com");

            c = Claim.CreateUriClaim(uri);
            AssertClaim("Uri", c, ClaimTypes.Uri, uri, Rights.PossessProperty);

            MailAddress mail = new MailAddress("*****@*****.**");

            c = Claim.CreateMailAddressClaim(mail);
            AssertClaim("Mail", c, ClaimTypes.Email, mail, Rights.PossessProperty);

            c = Claim.CreateNameClaim("Rupert");
            AssertClaim("Name", c, ClaimTypes.Name, "Rupert", Rights.PossessProperty);

            c = Claim.CreateSpnClaim("foo");
            AssertClaim("Spn", c, ClaimTypes.Spn, "foo", Rights.PossessProperty);

            c = Claim.CreateUpnClaim("foo");
            AssertClaim("Upn", c, ClaimTypes.Upn, "foo", Rights.PossessProperty);

            //SecurityIdentifier sid = new SecurityIdentifier (blah);
            //c = Claim.CreateWindowsSidClaim (sid);
            //AssertClaim ("Sid", c, ClaimTypes.Sid, blah, Rights.PossessProperty);

            byte [] hash = new byte [] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            c = Claim.CreateHashClaim(hash);
            AssertClaim("Hash", c, ClaimTypes.Hash, hash, Rights.PossessProperty);

            RSA rsa = RSA.Create();

            c = Claim.CreateRsaClaim(rsa);
            AssertClaim("Rsa", c, ClaimTypes.Rsa, rsa, Rights.PossessProperty);

            X509Certificate2 cert = new X509Certificate2(TestResourceHelper.GetFullPathOfResource("Test/Resources/test.pfx"), "mono");

            byte [] chash = cert.GetCertHash();
            c = Claim.CreateThumbprintClaim(chash);
            AssertClaim("Thumbprint", c, ClaimTypes.Thumbprint, chash, Rights.PossessProperty);

            c = Claim.CreateX500DistinguishedNameClaim(cert.SubjectName);
            AssertClaim("X500Name", c, ClaimTypes.X500DistinguishedName, cert.SubjectName, Rights.PossessProperty);
        }
 private void BuildThumbprintDictionary(List <string> x509Thumbprints)
 {
     this.thumbprints = new Dictionary <Claim, Claim>(x509Thumbprints.Count, Claim.DefaultComparer);
     foreach (string str in x509Thumbprints)
     {
         if (!string.IsNullOrEmpty(str))
         {
             byte[] thumbprint = DecodeThumbprint(str);
             if (thumbprint == null)
             {
                 DebugTrace.Trace(TraceLevel.Warning, "Could not decode thumbprint {0}", str);
             }
             else
             {
                 Claim key = Claim.CreateThumbprintClaim(thumbprint);
                 if (!this.thumbprints.ContainsKey(key))
                 {
                     this.thumbprints.Add(key, key);
                 }
             }
         }
     }
 }