Esempio n. 1
0
        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]);
        }
    }
Esempio n. 3
0
        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);
        }