Example #1
0
        private static void Verify(BcTstInfo bcTstInfo, TstInfo tstInfo)
        {
            Assert.Equal(bcTstInfo.Version.Value.IntValue, tstInfo.Version);
            Assert.Equal(bcTstInfo.Policy.Id, tstInfo.Policy.Value);
            Assert.Equal(bcTstInfo.MessageImprint.HashAlgorithm.Algorithm.Id, tstInfo.MessageImprint.HashAlgorithm.Algorithm.Value);
            Assert.Equal(bcTstInfo.MessageImprint.GetHashedMessage(), tstInfo.MessageImprint.HashedMessage);
            Assert.Equal(bcTstInfo.SerialNumber.Value.ToByteArray(), tstInfo.SerialNumber);
            Assert.Equal(bcTstInfo.GenTime.ToDateTime(), tstInfo.GenTime);

            Assert.Equal(bcTstInfo.Accuracy == null, tstInfo.Accuracy == null);

            if (bcTstInfo.Accuracy != null)
            {
                Assert.Equal(bcTstInfo.Accuracy == null, tstInfo.Accuracy == null);
                Assert.Equal(bcTstInfo.Accuracy.Seconds == null, tstInfo.Accuracy.Seconds == null);

                if (bcTstInfo.Accuracy.Seconds != null)
                {
                    Assert.Equal(bcTstInfo.Accuracy.Seconds.Value.IntValue, tstInfo.Accuracy.Seconds.Value);
                }

                Assert.Equal(bcTstInfo.Accuracy.Millis == null, tstInfo.Accuracy.Milliseconds == null);

                if (bcTstInfo.Accuracy.Millis != null)
                {
                    Assert.Equal(bcTstInfo.Accuracy.Millis.Value.IntValue, tstInfo.Accuracy.Milliseconds.Value);
                }

                Assert.Equal(bcTstInfo.Accuracy.Micros == null, tstInfo.Accuracy.Microseconds == null);

                if (bcTstInfo.Accuracy.Micros != null)
                {
                    Assert.Equal(bcTstInfo.Accuracy.Micros.Value.IntValue, tstInfo.Accuracy.Microseconds.Value);
                }
            }

            Assert.Equal(bcTstInfo.Ordering?.IsTrue ?? false, tstInfo.Ordering);
            Assert.Equal(bcTstInfo.Nonce == null, tstInfo.Nonce == null);

            if (bcTstInfo.Nonce != null)
            {
                Assert.Equal(bcTstInfo.Nonce.Value.ToByteArray(), tstInfo.Nonce);
            }

            Assert.Equal(bcTstInfo.Tsa == null, tstInfo.Tsa == null);

            if (bcTstInfo.Tsa != null)
            {
                Assert.Equal(bcTstInfo.Tsa.GetDerEncoded(), tstInfo.Tsa);
            }

            VerifyExtensions(bcTstInfo.Extensions, tstInfo);
        }
Example #2
0
            internal BcTstInfo CreateBcTstInfo()
            {
                var bcAlgorithmIdentifier = new BcAlgorithmIdentifier(new DerObjectIdentifier(HashAlgorithm.Value));
                var bcMessageImprint      = new BcMessageImprint(bcAlgorithmIdentifier, Hash);
                var serialNumber          = new BigInteger(SerialNumber);
                var ordering = GetOrdering();
                var nonce    = GetNonce();

                var bcTstInfo = new BcTstInfo(
                    new DerObjectIdentifier(Policy),
                    bcMessageImprint,
                    new DerInteger(serialNumber),
                    GetGenTime(),
                    Accuracy,
                    ordering,
                    nonce,
                    Tsa,
                    Extensions);

                return(bcTstInfo);
            }