/// <summary> /// Constructor for creating extensions of existing OIDs. /// </summary> /// <param name="oid">base OID</param> /// <param name="values">added ints</param> public ASN1ObjectIdentifier(ASN1ObjectIdentifier oid, params int[] values) { this.Init(); this.Values = new int[values.Length+oid.Values.Length]; oid.Values.CopyTo(this.Values, 0); values.CopyTo(this.Values, oid.Values.Length); }
public string GetDescription(ASN1ObjectIdentifier oid) { string retString = (hashTable[oid.ToString()] as string); if (retString == null) retString=oid.ToString(); return retString; }
public InformationObject GetInformationObject(ASN1ObjectIdentifier oid) { foreach (InformationObject iob in Elements) { if (iob.uniqueId==oid) return iob; } throw new mASN1.UnrecognizedObjectIdentifierException("unrecognized OID:"+oid+"(not in IOSet)"); }
// public InformationObject GetInformationObjectFromUID(UniqueObject uid) // { // foreach (InformationObject iob in this.Elements) // { // /* As soon as InformationObject is found - return */ // if (uid.id == iob.uniqueId) return iob; // } // // /* none found */ // return null; // } public InformationObject GetInformationObjectFromUID(ASN1ObjectIdentifier uoid) { foreach (InformationObject iob in this.Elements) { if((uoid as ASN1ObjectIdentifier)==iob.uniqueId) { return iob; } } return null; }
public override void RegisterComponents() { this.algorithm = NextComponent() as ASN1ObjectIdentifier; this.parameters = NextComponent(); // notice the missing cast... // since the type cannot be resolved at compile-time this ASN1Object // member has no cast. }
public override void RegisterComponents() { this.type = NextComponent() as ASN1ObjectIdentifier; this.value = NextComponent(); // as WHAT? this.valuesWithContext = NextComponent() as ValuesWithContext; /// povezi!!! this.unique_TypeInfo.uoid = this.type; }
/// <summary> /// Koji je UNIQUE? /// </summary> public void Assign(ASN1ObjectIdentifier _id, ASN1Type _type) { this.id = _id; this.type = _type; this.uniqueId = this.id; }
public TypeIdentifier(ASN1ObjectIdentifier _id, ASN1Type _type) { this.Assign(_id, _type); }
public void Remove(ASN1ObjectIdentifier oid) { }
public void Add(ASN1ObjectIdentifier oid, ASN1Type type) { TypeIdentifier ti = new TypeIdentifier(oid, type); this.Add(ti); }
public void Test_OBJECT_IDENTIFIER() { ASN1ObjectIdentifier oid = SimpleSamples.funnyOID; BERWriter.DumpHEX(oid); Console.WriteLine(oid.ToString()); ASN1ObjectIdentifier oid1 = new ASN1ObjectIdentifier(); oid1.Assign(1, 2, 3, 4, 5, 6, 7); BERWriter.DumpHEX(oid1); Console.WriteLine(oid1.ToString()); Assert.AreEqual(oid, oid1); BEREncoding ber = oid.asDER(); ASN1ObjectIdentifier_type oid_t = new ASN1ObjectIdentifier_type(); ASN1ObjectIdentifier oid2 = oid_t.CreateInstance(ber) as ASN1ObjectIdentifier; BERWriter.DumpHEX(oid2); Console.WriteLine("Unfinished business"); }
public void Test_SET_OF() { test_SET_OF tSET_OF = new test_SET_OF(); tSET_OF.Add(SimpleSamples.funnyOID); test_SET_OF_type t_type = new test_SET_OF_type(); test_SET_OF t1 = t_type.CreateInstance(tSET_OF.asBER()) as test_SET_OF; BERWriter.DumpHEX(t1); BERWriter.DumpHEX(tSET_OF); Console.WriteLine("\nTest invalid element insertion:"); /// ovo bi trebalo baciti Exception try { tSET_OF.Add(SimpleSamples.funnyOID); } catch(mASN1Exception e) { Console.WriteLine(".. was expecting SET struct to complain about already existing element"); Console.WriteLine("Exception: "+e.Message); } finally { Console.WriteLine("This was \"SET OF\" Exception testing"); } Console.WriteLine("\nTest DER-sorting:"); ASN1ObjectIdentifier oid1=new ASN1ObjectIdentifier(), oid2=new ASN1ObjectIdentifier(), oid3=new ASN1ObjectIdentifier(); oid1.Assign(1, 2, 0); oid2.Assign(1, 2, 1); oid3.Assign(1, 2, 2); tSET_OF.Add(oid1, oid3, oid2); Console.WriteLine(tSET_OF.ToBERString()); Console.WriteLine(tSET_OF.ToDERString()); // These shouldn't be equal, because DER is BER-sorted. Assert.IsFalse(BERComparer.Equals(tSET_OF.asBER(), tSET_OF.asDER())); }
public void Test_INFORMATION_OBJECT_SET () { ASN1InformationObjectSet iob_set1 = new ASN1InformationObjectSet(); TypeIdentifier ti1 = new TypeIdentifier(); ti1.Assign(SimpleSamples.funnyOID, ASN1Null.asn1type); TypeIdentifier ti2 = new TypeIdentifier(); ti2.Assign(new ASN1ObjectIdentifier(1, 2, 3), new ASN1Boolean_type()); iob_set1.Add(ti1); ASN1ObjectIdentifier unique = new ASN1ObjectIdentifier(); unique.Assign(1, 2, 3, 4); Console.WriteLine("To be cont..."); }