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