public override void PerformTest() { GeneralName name = new GeneralName(new X509Name("CN=hello world")); NamingAuthority auth = new NamingAuthority(new DerObjectIdentifier("1.2.3"), "url", new DirectoryString("fred")); Admissions admissions = new Admissions(name, auth, new ProfessionInfo[0]); checkConstruction(admissions, name, auth); admissions = Admissions.GetInstance(null); if (admissions != null) { Fail("null GetInstance() failed."); } try { Admissions.GetInstance(new Object()); Fail("GetInstance() failed to detect bad object."); } catch (ArgumentException) { // expected } }
private void checkValues( Admissions admissions, GeneralName name, NamingAuthority auth) { checkMandatoryField("admissionAuthority", name, admissions.AdmissionAuthority); checkMandatoryField("namingAuthority", auth, admissions.NamingAuthority); }
private void checkValues( NamingAuthority auth, DerObjectIdentifier namingAuthorityId, string namingAuthorityURL, DirectoryString namingAuthorityText) { checkOptionalField("namingAuthorityId", namingAuthorityId, auth.NamingAuthorityID); checkOptionalField("namingAuthorityURL", namingAuthorityURL, auth.NamingAuthorityUrl); checkOptionalField("namingAuthorityText", namingAuthorityText, auth.NamingAuthorityText); }
public ProfessionInfo(NamingAuthority namingAuthority, DirectoryString[] professionItems, DerObjectIdentifier[] professionOids, string registrationNumber, Asn1OctetString addProfessionInfo) { this.namingAuthority = namingAuthority; this.professionItems = new DerSequence(professionItems); if (professionOids != null) { this.professionOids = new DerSequence(professionOids); } this.registrationNumber = registrationNumber; this.addProfessionInfo = addProfessionInfo; }
public override void PerformTest() { NamingAuthority auth = new NamingAuthority(new DerObjectIdentifier("1.2.3"), "url", new DirectoryString("fred")); DirectoryString[] professionItems = { new DirectoryString("substitution") }; DerObjectIdentifier[] professionOids = { new DerObjectIdentifier("1.2.3") }; string registrationNumber = "12345"; DerOctetString addProfInfo = new DerOctetString(new byte[20]); ProfessionInfo info = new ProfessionInfo(auth, professionItems, professionOids, registrationNumber, addProfInfo); checkConstruction(info, auth, professionItems, professionOids, registrationNumber, addProfInfo); info = new ProfessionInfo(null, professionItems, professionOids, registrationNumber, addProfInfo); checkConstruction(info, null, professionItems, professionOids, registrationNumber, addProfInfo); info = new ProfessionInfo(auth, professionItems, null, registrationNumber, addProfInfo); checkConstruction(info, auth, professionItems, null, registrationNumber, addProfInfo); info = new ProfessionInfo(auth, professionItems, professionOids, null, addProfInfo); checkConstruction(info, auth, professionItems, professionOids, null, addProfInfo); info = new ProfessionInfo(auth, professionItems, professionOids, registrationNumber, null); checkConstruction(info, auth, professionItems, professionOids, registrationNumber, null); info = ProfessionInfo.GetInstance(null); if (info != null) { Fail("null GetInstance() failed."); } try { ProcurationSyntax.GetInstance(new Object()); Fail("GetInstance() failed to detect bad object."); } catch (ArgumentException) { // expected } }
private Admissions(Asn1Sequence seq) { if (seq.Count > 3) { throw new ArgumentException("Bad sequence size: " + seq.Count); } IEnumerator enumerator = seq.GetEnumerator(); enumerator.MoveNext(); Asn1Encodable asn1Encodable = (Asn1Encodable)enumerator.Current; if (asn1Encodable is Asn1TaggedObject) { switch (((Asn1TaggedObject)asn1Encodable).TagNo) { case 0: admissionAuthority = GeneralName.GetInstance((Asn1TaggedObject)asn1Encodable, explicitly: true); break; case 1: namingAuthority = NamingAuthority.GetInstance((Asn1TaggedObject)asn1Encodable, isExplicit: true); break; default: throw new ArgumentException("Bad tag number: " + ((Asn1TaggedObject)asn1Encodable).TagNo); } enumerator.MoveNext(); asn1Encodable = (Asn1Encodable)enumerator.Current; } if (asn1Encodable is Asn1TaggedObject) { int tagNo = ((Asn1TaggedObject)asn1Encodable).TagNo; if (tagNo != 1) { throw new ArgumentException("Bad tag number: " + ((Asn1TaggedObject)asn1Encodable).TagNo); } namingAuthority = NamingAuthority.GetInstance((Asn1TaggedObject)asn1Encodable, isExplicit: true); enumerator.MoveNext(); asn1Encodable = (Asn1Encodable)enumerator.Current; } professionInfos = Asn1Sequence.GetInstance(asn1Encodable); if (enumerator.MoveNext()) { throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(enumerator.Current)); } }
private void checkValues( ProfessionInfo profInfo, NamingAuthority auth, DirectoryString[] professionItems, DerObjectIdentifier[] professionOids, string registrationNumber, DerOctetString addProfInfo) { checkOptionalField("auth", auth, profInfo.NamingAuthority); checkMandatoryField("professionItems", professionItems[0], profInfo.GetProfessionItems()[0]); if (professionOids != null) { checkOptionalField("professionOids", professionOids[0], profInfo.GetProfessionOids()[0]); } checkOptionalField("registrationNumber", registrationNumber, profInfo.RegistrationNumber); checkOptionalField("addProfessionInfo", addProfInfo, profInfo.AddProfessionInfo); }
private void checkConstruction( Admissions admissions, GeneralName name, NamingAuthority auth) { checkValues(admissions, name, auth); admissions = Admissions.GetInstance(admissions); checkValues(admissions, name, auth); Asn1InputStream aIn = new Asn1InputStream(admissions.ToAsn1Object().GetEncoded()); Asn1Sequence info = (Asn1Sequence)aIn.ReadObject(); admissions = Admissions.GetInstance(info); checkValues(admissions, name, auth); }
private void checkConstruction( NamingAuthority auth, DerObjectIdentifier namingAuthorityID, string namingAuthorityURL, DirectoryString namingAuthorityText) { checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); auth = NamingAuthority.GetInstance(auth); checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); Asn1InputStream aIn = new Asn1InputStream(auth.ToAsn1Object().GetEncoded()); Asn1Sequence seq = (Asn1Sequence)aIn.ReadObject(); auth = NamingAuthority.GetInstance(seq); checkValues(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); }
public override void PerformTest() { DerObjectIdentifier namingAuthorityID = new DerObjectIdentifier("1.2.3"); string namingAuthorityURL = "url"; DirectoryString namingAuthorityText = new DirectoryString("text"); NamingAuthority auth = new NamingAuthority(namingAuthorityID, namingAuthorityURL, namingAuthorityText); checkConstruction(auth, namingAuthorityID, namingAuthorityURL, namingAuthorityText); auth = new NamingAuthority(null, namingAuthorityURL, namingAuthorityText); checkConstruction(auth, null, namingAuthorityURL, namingAuthorityText); auth = new NamingAuthority(namingAuthorityID, null, namingAuthorityText); checkConstruction(auth, namingAuthorityID, null, namingAuthorityText); auth = new NamingAuthority(namingAuthorityID, namingAuthorityURL, null); checkConstruction(auth, namingAuthorityID, namingAuthorityURL, null); auth = NamingAuthority.GetInstance(null); if (auth != null) { Fail("null GetInstance() failed."); } try { NamingAuthority.GetInstance(new Object()); Fail("GetInstance() failed to detect bad object."); } catch (ArgumentException) { // expected } }
private void checkConstruction( ProfessionInfo profInfo, NamingAuthority auth, DirectoryString[] professionItems, DerObjectIdentifier[] professionOids, string registrationNumber, DerOctetString addProfInfo) { checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo); profInfo = ProfessionInfo.GetInstance(profInfo); checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo); Asn1InputStream aIn = new Asn1InputStream(profInfo.ToAsn1Object().GetEncoded()); Asn1Sequence seq = (Asn1Sequence)aIn.ReadObject(); profInfo = ProfessionInfo.GetInstance(seq); checkValues(profInfo, auth, professionItems, professionOids, registrationNumber, addProfInfo); }
public Admissions(GeneralName admissionAuthority, NamingAuthority namingAuthority, ProfessionInfo[] professionInfos) { this.admissionAuthority = admissionAuthority; this.namingAuthority = namingAuthority; this.professionInfos = new DerSequence(professionInfos); }
private ProfessionInfo(Asn1Sequence seq) { if (seq.Count > 5) { throw new ArgumentException("Bad sequence size: " + seq.Count); } IEnumerator enumerator = seq.GetEnumerator(); enumerator.MoveNext(); Asn1Encodable asn1Encodable = (Asn1Encodable)enumerator.Current; if (asn1Encodable is Asn1TaggedObject) { Asn1TaggedObject asn1TaggedObject = (Asn1TaggedObject)asn1Encodable; if (asn1TaggedObject.TagNo != 0) { throw new ArgumentException("Bad tag number: " + asn1TaggedObject.TagNo); } namingAuthority = NamingAuthority.GetInstance(asn1TaggedObject, isExplicit: true); enumerator.MoveNext(); asn1Encodable = (Asn1Encodable)enumerator.Current; } professionItems = Asn1Sequence.GetInstance(asn1Encodable); if (enumerator.MoveNext()) { asn1Encodable = (Asn1Encodable)enumerator.Current; if (asn1Encodable is Asn1Sequence) { professionOids = Asn1Sequence.GetInstance(asn1Encodable); } else if (asn1Encodable is DerPrintableString) { registrationNumber = DerPrintableString.GetInstance(asn1Encodable).GetString(); } else { if (!(asn1Encodable is Asn1OctetString)) { throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable)); } addProfessionInfo = Asn1OctetString.GetInstance(asn1Encodable); } } if (enumerator.MoveNext()) { asn1Encodable = (Asn1Encodable)enumerator.Current; if (asn1Encodable is DerPrintableString) { registrationNumber = DerPrintableString.GetInstance(asn1Encodable).GetString(); } else { if (!(asn1Encodable is DerOctetString)) { throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable)); } addProfessionInfo = (DerOctetString)asn1Encodable; } } if (enumerator.MoveNext()) { asn1Encodable = (Asn1Encodable)enumerator.Current; if (!(asn1Encodable is DerOctetString)) { throw new ArgumentException("Bad object encountered: " + Platform.GetTypeName(asn1Encodable)); } addProfessionInfo = (DerOctetString)asn1Encodable; } }