Inheritance: Org.BouncyCastle.Asn1.Asn1Encodable
        public virtual X509Attribute[] GetAttributes(
            string oid)
        {
            Asn1Sequence seq  = cert.ACInfo.Attributes;
            IList        list = Platform.CreateArrayList();

            for (int i = 0; i != seq.Count; i++)
            {
                X509Attribute attr = new X509Attribute((Asn1Encodable)seq[i]);
                if (attr.Oid.Equals(oid))
                {
                    list.Add(attr);
                }
            }

            if (list.Count < 1)
            {
                return(null);
            }

            X509Attribute[] result = new X509Attribute[list.Count];
            for (int i = 0; i < list.Count; ++i)
            {
                result[i] = (X509Attribute)list[i];
            }
            return(result);
        }
        public virtual X509Attribute[] GetAttributes()
        {
            Asn1Sequence attributes = this.cert.ACInfo.Attributes;

            X509Attribute[] array = new X509Attribute[attributes.Count];
            for (int num = 0; num != attributes.Count; num++)
            {
                array[num] = new X509Attribute(attributes[num]);
            }
            return(array);
        }
Exemplo n.º 3
0
        public virtual X509Attribute[] GetAttributes()
        {
            Asn1Sequence attributes = cert.ACInfo.Attributes;

            X509Attribute[] array = new X509Attribute[attributes.Count];
            for (int i = 0; i != attributes.Count; i++)
            {
                array[i] = new X509Attribute(attributes[i]);
            }
            return(array);
        }
		public virtual X509Attribute[] GetAttributes()
		{
			Asn1Sequence seq = cert.ACInfo.Attributes;
			X509Attribute[] attrs = new X509Attribute[seq.Count];

			for (int i = 0; i != seq.Count; i++)
			{
				attrs[i] = new X509Attribute((Asn1Encodable)seq[i]);
			}

			return attrs;
		}
        public virtual X509Attribute[] GetAttributes(
            string oid)
        {
            Asn1Sequence seq  = cert.ACInfo.Attributes;
            ArrayList    list = new ArrayList();

            for (int i = 0; i != seq.Count; i++)
            {
                X509Attribute attr = new X509Attribute((Asn1Encodable)seq[i]);
                if (attr.Oid.Equals(oid))
                {
                    list.Add(attr);
                }
            }

            if (list.Count < 1)
            {
                return(null);
            }

            return((X509Attribute[])list.ToArray(typeof(X509Attribute)));
        }
        public virtual X509Attribute[] GetAttributes(string oid)
        {
            Asn1Sequence attributes = this.cert.ACInfo.Attributes;
            IList        list       = Platform.CreateArrayList();

            for (int num = 0; num != attributes.Count; num++)
            {
                X509Attribute x509Attribute = new X509Attribute(attributes[num]);
                if (x509Attribute.Oid.Equals(oid))
                {
                    list.Add(x509Attribute);
                }
            }
            if (list.Count < 1)
            {
                return(null);
            }
            X509Attribute[] array = new X509Attribute[list.Count];
            for (int i = 0; i < list.Count; i++)
            {
                array[i] = (X509Attribute)list[i];
            }
            return(array);
        }
Exemplo n.º 7
0
        public virtual X509Attribute[] GetAttributes(string oid)
        {
            Asn1Sequence attributes = cert.ACInfo.Attributes;

            global::System.Collections.IList list = Platform.CreateArrayList();
            for (int i = 0; i != attributes.Count; i++)
            {
                X509Attribute x509Attribute = new X509Attribute(attributes[i]);
                if (x509Attribute.Oid.Equals(oid))
                {
                    list.Add((object)x509Attribute);
                }
            }
            if (((global::System.Collections.ICollection)list).get_Count() < 1)
            {
                return(null);
            }
            X509Attribute[] array = new X509Attribute[((global::System.Collections.ICollection)list).get_Count()];
            for (int j = 0; j < ((global::System.Collections.ICollection)list).get_Count(); j++)
            {
                array[j] = (X509Attribute)list.get_Item(j);
            }
            return(array);
        }
 /// <summary>Add an attribute.</summary>
 public void AddAttribute(
     X509Attribute attribute)
 {
     acInfoGen.AddAttribute(AttributeX509.GetInstance(attribute.ToAsn1Object()));
 }
		private IX509AttributeCertificate CreateAttrCert()
		{
//			CertificateFactory fact = CertificateFactory.getInstance("X.509", "BC");
//			X509Certificate iCert = (X509Certificate) fact
//				.generateCertificate(new ByteArrayInputStream(holderCert));
			X509Certificate iCert = new X509CertificateParser().ReadCertificate(holderCert);

			//
			// a sample key pair.
			//
			// RSAPublicKeySpec pubKeySpec = new RSAPublicKeySpec(
			// new BigInteger(
			// "b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7",
			// 16), new BigInteger("11", 16));

			//
			// set up the keys
			//
//			KeyFactory kFact = KeyFactory.getInstance("RSA", "BC");
//			PrivateKey privKey = kFact.generatePrivate(RsaPrivateKeySpec);
			AsymmetricKeyParameter privKey = RsaPrivateKeySpec;

			X509V2AttributeCertificateGenerator gen = new X509V2AttributeCertificateGenerator();

			// the actual attributes
			GeneralName roleName = new GeneralName(GeneralName.Rfc822Name, "*****@*****.**");
			Asn1EncodableVector roleSyntax = new Asn1EncodableVector(roleName);

			// roleSyntax OID: 2.5.24.72
			X509Attribute attributes = new X509Attribute("2.5.24.72",
				new DerSequence(roleSyntax));

			gen.AddAttribute(attributes);
			gen.SetHolder(new AttributeCertificateHolder(PrincipalUtilities.GetSubjectX509Principal(iCert)));
			gen.SetIssuer(new AttributeCertificateIssuer(new X509Name("cn=test")));
			gen.SetNotBefore(DateTime.UtcNow.AddSeconds(-50));
			gen.SetNotAfter(DateTime.UtcNow.AddSeconds(50));
			gen.SetSerialNumber(BigInteger.One);
			gen.SetSignatureAlgorithm("SHA1WithRSAEncryption");

			Target targetName = new Target(
				Target.Choice.Name,
				new GeneralName(GeneralName.DnsName, "www.test.com"));

			Target targetGroup = new Target(
				Target.Choice.Group,
				new GeneralName(GeneralName.DirectoryName, "o=Test, ou=Test"));

			Target[] targets = new Target[]{ targetName, targetGroup };

			TargetInformation targetInformation = new TargetInformation(targets);
			gen.AddExtension(X509Extensions.TargetInformation.Id, true, targetInformation);

			return gen.Generate(privKey);
		}
Exemplo n.º 10
0
		private void doTestGenerateWithPrincipal()
		{
			X509CertificateParser fact = new X509CertificateParser();
			X509Certificate iCert = fact.ReadCertificate(signCert);

			//
			// a sample key pair.
			//
			RsaKeyParameters pubKey = new RsaKeyParameters(
				false,
				new BigInteger("b4a7e46170574f16a97082b22be58b6a2a629798419be12872a4bdba626cfae9900f76abfb12139dce5de56564fab2b6543165a040c606887420e33d91ed7ed7", 16),
				new BigInteger("11", 16));

			//
			// set up the keys
			//
//			PrivateKey          privKey;
//			PublicKey           pubKey;
//
//			KeyFactory  kFact = KeyFactory.getInstance("RSA");
//
//			privKey = kFact.generatePrivate(RSA_PRIVATE_KEY_SPEC);
//			pubKey = kFact.generatePublic(pubKeySpec);
			AsymmetricKeyParameter privKey = RSA_PRIVATE_KEY_SPEC;

			X509V2AttributeCertificateGenerator gen = new X509V2AttributeCertificateGenerator();

			// the actual attributes
			GeneralName roleName = new GeneralName(GeneralName.Rfc822Name, "DAU123456789");

			// roleSyntax OID: 2.5.24.72
			X509Attribute attributes = new X509Attribute("2.5.24.72",
				new DerSequence(roleName));

			gen.AddAttribute(attributes);
			gen.SetHolder(new AttributeCertificateHolder(iCert.SubjectDN));
			gen.SetIssuer(new AttributeCertificateIssuer(new X509Name("cn=test")));
			gen.SetNotBefore(DateTime.UtcNow.AddSeconds(-50));
			gen.SetNotAfter(DateTime.UtcNow.AddSeconds(50));
			gen.SetSerialNumber(BigInteger.One);
			gen.SetSignatureAlgorithm("SHA1WithRSAEncryption");

			IX509AttributeCertificate aCert = gen.Generate(privKey);

			aCert.CheckValidity();

			aCert.Verify(pubKey);

			AttributeCertificateHolder holder = aCert.Holder;

			if (holder.GetEntityNames() == null)
			{
				Fail("entity names not set when expected");
			}

			if (holder.SerialNumber != null)
			{
				Fail("holder serial number found when none expected");
			}

			if (holder.GetIssuer() != null)
			{
				Fail("holder issuer found when none expected");
			}

			if (!holder.Match(iCert))
			{
				Fail("generated holder not matching holder certificate");
			}

			X509Certificate sCert = fact.ReadCertificate(holderCertWithBaseCertificateID);

			if (holder.Match(sCert))
			{
				Fail("principal generated holder matching wrong certificate");
			}

			equalityAndHashCodeTest(aCert, aCert.GetEncoded());
		}
		/// <summary>Add an attribute.</summary>
		public void AddAttribute(
			X509Attribute attribute)
		{
			acInfoGen.AddAttribute(AttributeX509.GetInstance(attribute.ToAsn1Object()));
		}
        public virtual X509Attribute[] GetAttributes(
			string oid)
        {
            Asn1Sequence seq = cert.ACInfo.Attributes;
            ArrayList list = new ArrayList();

            for (int i = 0; i != seq.Count; i++)
            {
                X509Attribute attr = new X509Attribute((Asn1Encodable)seq[i]);
                if (attr.Oid.Equals(oid))
                {
                    list.Add(attr);
                }
            }

            if (list.Count < 1)
            {
                return null;
            }

            return (X509Attribute[]) list.ToArray(typeof(X509Attribute));
        }
        public virtual X509Attribute[] GetAttributes()
        {
            Asn1Sequence seq = cert.ACInfo.Attributes;
            X509Attribute[] attrs = new X509Attribute[seq.Count];

            for (int i = 0; i != seq.Count; i++)
            {
                attrs[i] = new X509Attribute((Asn1Encodable)seq[i]);
            }

            return attrs;
        }
		public virtual X509Attribute[] GetAttributes(
			string oid)
		{
			Asn1Sequence seq = cert.ACInfo.Attributes;
			IList list = Platform.CreateArrayList();

			for (int i = 0; i != seq.Count; i++)
			{
				X509Attribute attr = new X509Attribute((Asn1Encodable)seq[i]);
				if (attr.Oid.Equals(oid))
				{
					list.Add(attr);
				}
			}

			if (list.Count < 1)
			{
				return null;
			}

            X509Attribute[] result = new X509Attribute[list.Count];
            for (int i = 0; i < list.Count; ++i)
            {
                result[i] = (X509Attribute)list[i];
            }
            return result;
		}