public X509Name(IList oids, IList values, X509NameEntryConverter converter) { this.converter = converter; if (oids.Count != values.Count) { throw new ArgumentException("'oids' must be same length as 'values'."); } for (int i = 0; i < oids.Count; i++) { ordering.Add(oids[i]); this.values.Add(values[i]); added.Add(false); } }
public X509Name(IList ordering, IDictionary attributes, X509NameEntryConverter converter) { this.converter = converter; foreach (DerObjectIdentifier item in ordering) { object obj = attributes[item]; if (obj == null) { throw new ArgumentException("No attribute for object id - " + item + " - passed to distinguished name"); } this.ordering.Add(item); added.Add(false); values.Add(obj); } }
public X509Name(bool reverse, IDictionary lookUp, string dirName, X509NameEntryConverter converter) { this.converter = converter; X509NameTokenizer x509NameTokenizer = new X509NameTokenizer(dirName); while (x509NameTokenizer.HasMoreTokens()) { string text = x509NameTokenizer.NextToken(); int num = text.IndexOf('='); if (num == -1) { throw new ArgumentException("badly formated directory string"); } string name = text.Substring(0, num); string text2 = text.Substring(num + 1); DerObjectIdentifier value = DecodeOid(name, lookUp); if (text2.IndexOf('+') > 0) { X509NameTokenizer x509NameTokenizer2 = new X509NameTokenizer(text2, '+'); string value2 = x509NameTokenizer2.NextToken(); ordering.Add(value); values.Add(value2); added.Add(false); while (x509NameTokenizer2.HasMoreTokens()) { string text3 = x509NameTokenizer2.NextToken(); int num2 = text3.IndexOf('='); string name2 = text3.Substring(0, num2); string value3 = text3.Substring(num2 + 1); ordering.Add(DecodeOid(name2, lookUp)); values.Add(value3); added.Add(true); } } else { ordering.Add(value); values.Add(text2); added.Add(false); } } if (!reverse) { return; } IList list = Platform.CreateArrayList(); IList list2 = Platform.CreateArrayList(); IList list3 = Platform.CreateArrayList(); int num3 = 1; for (int i = 0; i < ordering.Count; i++) { if (!(bool)added[i]) { num3 = 0; } int index = num3++; list.Insert(index, ordering[i]); list2.Insert(index, values[i]); list3.Insert(index, added[i]); } ordering = list; values = list2; added = list3; }
public X509Name(bool reverse, string dirName, X509NameEntryConverter converter) : this(reverse, DefaultLookup, dirName, converter) { }