public override void PerformTest() { int dataGroupNumber = 1; Asn1OctetString dataHash = new DerOctetString(GenerateHash()); DataGroupHash dg = new DataGroupHash(dataGroupNumber, dataHash); CheckConstruction(dg, dataGroupNumber, dataHash); try { DataGroupHash.GetInstance(null); } catch (Exception) { Fail("GetInstance() failed to handle null."); } try { DataGroupHash.GetInstance(new object()); Fail("GetInstance() failed to detect bad object."); } catch (ArgumentException) { // expected } }
private LdsSecurityObject(Asn1Sequence seq) { if (seq == null || seq.Count == 0) { throw new ArgumentException("null or empty sequence passed."); } IEnumerator enumerator = seq.GetEnumerator(); enumerator.MoveNext(); version = DerInteger.GetInstance(enumerator.Current); enumerator.MoveNext(); digestAlgorithmIdentifier = AlgorithmIdentifier.GetInstance(enumerator.Current); enumerator.MoveNext(); Asn1Sequence instance = Asn1Sequence.GetInstance(enumerator.Current); if (version.Value.Equals(BigInteger.One)) { enumerator.MoveNext(); versionInfo = LdsVersionInfo.GetInstance(enumerator.Current); } CheckDatagroupHashSeqSize(instance.Count); datagroupHash = new DataGroupHash[instance.Count]; for (int i = 0; i < instance.Count; i++) { datagroupHash[i] = DataGroupHash.GetInstance(instance[i]); } }
private void CheckConstruction( DataGroupHash dg, int dataGroupNumber, Asn1OctetString dataGroupHashValue) { CheckValues(dg, dataGroupNumber, dataGroupHashValue); dg = DataGroupHash.GetInstance(dg); CheckValues(dg, dataGroupNumber, dataGroupHashValue); Asn1Sequence seq = (Asn1Sequence)Asn1Object.FromByteArray( dg.ToAsn1Object().GetEncoded()); dg = DataGroupHash.GetInstance(seq); CheckValues(dg, dataGroupNumber, dataGroupHashValue); }