示例#1
0
        public void TestTstInfo1()
        {
            TimeStampTokenInfo tstInfo = getTimeStampTokenInfo(tstInfo1);

            //
            // verify
            //
            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.IsNull(accuracy);

            Assert.AreEqual(new BigInteger("24"), tstInfo.SerialNumber);

            Assert.AreEqual(1130833041000L, DateTimeUtilities.DateTimeToUnixMs(tstInfo.GenTime));

            Assert.AreEqual("1.2.3", tstInfo.Policy);

            Assert.AreEqual(false, tstInfo.IsOrdered);

            Assert.IsNull(tstInfo.Nonce);

            Assert.AreEqual(TspAlgorithms.Sha1, tstInfo.MessageImprintAlgOid);

            Assert.IsTrue(Arrays.AreEqual(new byte[20], tstInfo.GetMessageImprintDigest()));

            Assert.IsTrue(Arrays.AreEqual(tstInfo1, tstInfo.GetEncoded()));
        }
示例#2
0
        public void TestTstInfo3()
        {
            TimeStampTokenInfo tstInfo = getTimeStampTokenInfo(tstInfo3);

            //
            // verify
            //
            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.AreEqual(3, accuracy.Seconds);
            Assert.AreEqual(1, accuracy.Millis);
            Assert.AreEqual(2, accuracy.Micros);

            Assert.AreEqual(new BigInteger("23"), tstInfo.SerialNumber);

            Assert.AreEqual(1130834855000L, DateTimeUtilities.DateTimeToUnixMs(tstInfo.GenTime));

            Assert.AreEqual("1.2.3", tstInfo.Policy);

            Assert.AreEqual(true, tstInfo.IsOrdered);

            Assert.AreEqual(tstInfo.Nonce, BigInteger.ValueOf(100));

            Assert.AreEqual(TspAlgorithms.Sha1, tstInfo.MessageImprintAlgOid);

            Assert.IsTrue(Arrays.AreEqual(new byte[20], tstInfo.GetMessageImprintDigest()));

            Assert.IsTrue(Arrays.AreEqual(tstInfo3, tstInfo.GetEncoded()));
        }
示例#3
0
        public void TestTstInfo2()
        {
            TimeStampTokenInfo tstInfo = getTimeStampTokenInfo(tstInfo2);

            //
            // verify
            //
            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.AreEqual(3, accuracy.Seconds);
            Assert.AreEqual(1, accuracy.Millis);
            Assert.AreEqual(2, accuracy.Micros);

            Assert.AreEqual(new BigInteger("23"), tstInfo.SerialNumber);

            Assert.AreEqual(1130833785000L, DateTimeUtilities.DateTimeToUnixMs(tstInfo.GenTime));

            Assert.AreEqual("1.2.3", tstInfo.Policy);

            Assert.AreEqual(false, tstInfo.IsOrdered);

            Assert.AreEqual(tstInfo.Nonce, BigInteger.ValueOf(100));

            Assert.IsTrue(Arrays.AreEqual(Hex.Decode("ffffffffffffffffffffffffffffffffffffffff"), tstInfo.GetMessageImprintDigest()));

            Assert.IsTrue(Arrays.AreEqual(tstInfo2, tstInfo.GetEncoded()));
        }
示例#4
0
		public void TestThreeTwoNull()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(THREE_VALUE, TWO_VALUE, null));

			checkValues(accuracy, THREE_VALUE, TWO_VALUE, ZERO_VALUE);

			checkTostring(accuracy, "3.002000");
		}
示例#5
0
		public void TestZeroTwoThree()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ZERO_VALUE, TWO_VALUE, THREE_VALUE));

			checkValues(accuracy, ZERO_VALUE, TWO_VALUE, THREE_VALUE);

			checkTostring(accuracy, "0.002003");
		}
示例#6
0
		public void TestTwoThreeTwo()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(TWO_VALUE, THREE_VALUE, TWO_VALUE));

			checkValues(accuracy, TWO_VALUE, THREE_VALUE, TWO_VALUE);

			checkTostring(accuracy, "2.003002");
		}
示例#7
0
		public void TestThreeTwoOne()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(THREE_VALUE, TWO_VALUE, ONE_VALUE));

			checkValues(accuracy, THREE_VALUE, TWO_VALUE, ONE_VALUE);

			checkTostring(accuracy, "3.002001");
		}
示例#8
0
		public void TestOneTwoThree()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ONE_VALUE, TWO_VALUE, THREE_VALUE));

			checkValues(accuracy, ONE_VALUE, TWO_VALUE, THREE_VALUE);

			checkTostring(accuracy, "1.002003");
		}
示例#9
0
        public void TestOneTwoThree()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ONE_VALUE, TWO_VALUE, THREE_VALUE));

            checkValues(accuracy, ONE_VALUE, TWO_VALUE, THREE_VALUE);

            checkTostring(accuracy, "1.002003");
        }
示例#10
0
		public void TestOneNullOne()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ONE_VALUE, null, ONE_VALUE));

			checkValues(accuracy, ONE_VALUE, ZERO_VALUE, ONE_VALUE);

			checkTostring(accuracy, "1.000001");
		}
示例#11
0
        public void TestNullNullNull()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(null, null, null));

            checkValues(accuracy, ZERO_VALUE, ZERO_VALUE, ZERO_VALUE);

            checkTostring(accuracy, "0.000000");
        }
示例#12
0
		public void TestZeroNullNull()
		{
			GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ZERO_VALUE, null, null));

			checkValues(accuracy, ZERO_VALUE, ZERO_VALUE, ZERO_VALUE);

			checkTostring(accuracy, "0.000000");
		}
示例#13
0
        public void TestOneNullOne()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ONE_VALUE, null, ONE_VALUE));

            checkValues(accuracy, ONE_VALUE, ZERO_VALUE, ONE_VALUE);

            checkTostring(accuracy, "1.000001");
        }
示例#14
0
        public void TestThreeTwoNull()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(THREE_VALUE, TWO_VALUE, null));

            checkValues(accuracy, THREE_VALUE, TWO_VALUE, ZERO_VALUE);

            checkTostring(accuracy, "3.002000");
        }
示例#15
0
        public void TestZeroTwoThree()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(ZERO_VALUE, TWO_VALUE, THREE_VALUE));

            checkValues(accuracy, ZERO_VALUE, TWO_VALUE, THREE_VALUE);

            checkTostring(accuracy, "0.002003");
        }
示例#16
0
        public void TestTwoThreeTwo()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(TWO_VALUE, THREE_VALUE, TWO_VALUE));

            checkValues(accuracy, TWO_VALUE, THREE_VALUE, TWO_VALUE);

            checkTostring(accuracy, "2.003002");
        }
示例#17
0
        public void TestThreeTwoOne()
        {
            GenTimeAccuracy accuracy = new GenTimeAccuracy(new Accuracy(THREE_VALUE, TWO_VALUE, ONE_VALUE));

            checkValues(accuracy, THREE_VALUE, TWO_VALUE, ONE_VALUE);

            checkTostring(accuracy, "3.002001");
        }
示例#18
0
        public void TestAccuracyZeroCerts()
        {
            TimeStampTokenGenerator tsTokenGen = new TimeStampTokenGenerator(
                privateKey, cert, TspAlgorithms.MD5, "1.2");

            tsTokenGen.SetCertificates(certs);

            tsTokenGen.SetAccuracySeconds(1);
            tsTokenGen.SetAccuracyMillis(2);
            tsTokenGen.SetAccuracyMicros(3);

            TimeStampRequestGenerator reqGen  = new TimeStampRequestGenerator();
            TimeStampRequest          request = reqGen.Generate(TspAlgorithms.Sha1, new byte[20], BigInteger.ValueOf(100));

            TimeStampResponseGenerator tsRespGen = new TimeStampResponseGenerator(tsTokenGen, TspAlgorithms.Allowed);

            TimeStampResponse tsResp = tsRespGen.Generate(request, BigInteger.ValueOf(23), DateTime.UtcNow);

            tsResp = new TimeStampResponse(tsResp.GetEncoded());

            TimeStampToken tsToken = tsResp.TimeStampToken;

            tsToken.Validate(cert);

            //
            // check validation
            //
            tsResp.Validate(request);

            //
            // check tstInfo
            //
            TimeStampTokenInfo tstInfo = tsToken.TimeStampInfo;

            //
            // check accuracy
            //
            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.AreEqual(1, accuracy.Seconds);
            Assert.AreEqual(2, accuracy.Millis);
            Assert.AreEqual(3, accuracy.Micros);

            Assert.AreEqual(BigInteger.ValueOf(23), tstInfo.SerialNumber);

            Assert.AreEqual("1.2", tstInfo.Policy);

            //
            // test certReq
            //
            IX509Store store = tsToken.GetCertificates("Collection");

            ICollection certificates = store.GetMatches(null);

            Assert.AreEqual(0, certificates.Count);
        }
示例#19
0
        public void TestNoNonce()
        {
            TimeStampTokenGenerator tsTokenGen = new TimeStampTokenGenerator(
                privateKey, cert, TspAlgorithms.MD5, "1.2.3");

            tsTokenGen.SetCertificates(certs);

            TimeStampRequestGenerator reqGen  = new TimeStampRequestGenerator();
            TimeStampRequest          request = reqGen.Generate(TspAlgorithms.Sha1, new byte[20]);

            Assert.IsFalse(request.CertReq);

            TimeStampResponseGenerator tsRespGen = new TimeStampResponseGenerator(tsTokenGen, TspAlgorithms.Allowed);

            TimeStampResponse tsResp = tsRespGen.Generate(request, BigInteger.ValueOf(24), DateTime.UtcNow);

            tsResp = new TimeStampResponse(tsResp.GetEncoded());

            TimeStampToken tsToken = tsResp.TimeStampToken;

            tsToken.Validate(cert);

            //
            // check validation
            //
            tsResp.Validate(request);

            //
            // check tstInfo
            //
            TimeStampTokenInfo tstInfo = tsToken.TimeStampInfo;

            //
            // check accuracy
            //
            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.IsNull(accuracy);

            Assert.AreEqual(BigInteger.ValueOf(24), tstInfo.SerialNumber);

            Assert.AreEqual("1.2.3", tstInfo.Policy);

            Assert.IsFalse(tstInfo.IsOrdered);

            Assert.IsNull(tstInfo.Nonce);

            //
            // test certReq
            //
            IX509Store store = tsToken.GetCertificates("Collection");

            ICollection certificates = store.GetMatches(null);

            Assert.AreEqual(0, certificates.Count);
        }
示例#20
0
 private void checkValues(
     GenTimeAccuracy accuracy,
     DerInteger secs,
     DerInteger millis,
     DerInteger micros)
 {
     Assert.AreEqual(secs.Value.IntValue, accuracy.Seconds);
     Assert.AreEqual(millis.Value.IntValue, accuracy.Millis);
     Assert.AreEqual(micros.Value.IntValue, accuracy.Micros);
 }
        private void testNoNonse(AsymmetricKeyParameter privateKey, X509Certificate cert, IX509Store certs)
        {
            TimeStampTokenGenerator tsTokenGen = new TimeStampTokenGenerator(
                privateKey, cert, TspAlgorithms.MD5, "1.2.3");

            tsTokenGen.SetCertificates(certs);

            TimeStampRequestGenerator reqGen  = new TimeStampRequestGenerator();
            TimeStampRequest          request = reqGen.Generate(TspAlgorithms.Sha1, new byte[20]);

            ArrayList algorithms = new ArrayList();

            algorithms.Add(TspAlgorithms.Sha1);

            request.Validate(algorithms, new ArrayList(), new ArrayList());

            Assert.False(request.CertReq);

            TimeStampResponseGenerator tsRespGen = new TimeStampResponseGenerator(tsTokenGen, TspAlgorithms.Allowed);

            TimeStampResponse tsResp = tsRespGen.Generate(request, new BigInteger("24"), DateTime.UtcNow);

            tsResp = new TimeStampResponse(tsResp.GetEncoded());

            TimeStampToken tsToken = tsResp.TimeStampToken;

            tsToken.Validate(cert);

            tsResp.Validate(request);

            TimeStampTokenInfo tstInfo = tsToken.TimeStampInfo;

            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.IsNull(accuracy);

            Assert.IsTrue(new BigInteger("24").Equals(tstInfo.SerialNumber));


            Assert.IsTrue("1.2.3" == tstInfo.Policy);

            Assert.False(tstInfo.IsOrdered);

            Assert.IsNull(tstInfo.Nonce);

            //
            // test certReq
            //
            IX509Store store = tsToken.GetCertificates();

            ICollection certificates = store.GetMatches(null);

            Assert.IsTrue(0 == certificates.Count);
        }
        private void testAccuracyWithCertsAndOrdering(AsymmetricKeyParameter privateKey, X509Certificate cert, IX509Store certs)
        {
            TimeStampTokenGenerator tsTokenGen = new TimeStampTokenGenerator(
                privateKey, cert, TspAlgorithms.MD5, "1.2.3");

            tsTokenGen.SetCertificates(certs);

            tsTokenGen.SetAccuracySeconds(1);
            tsTokenGen.SetAccuracyMillis(2);
            tsTokenGen.SetAccuracyMicros(3);

            tsTokenGen.SetOrdering(true);

            TimeStampRequestGenerator reqGen = new TimeStampRequestGenerator();

            reqGen.SetCertReq(true);

            TimeStampRequest request = reqGen.Generate(TspAlgorithms.Sha1, new byte[20], BigInteger.ValueOf(100));

            TimeStampResponseGenerator tsRespGen = new TimeStampResponseGenerator(tsTokenGen, TspAlgorithms.Allowed);


            //
            // This is different to the Java API.
            //

            TimeStampResponse tsResp = tsRespGen.Generate(request, BigInteger.ValueOf(23), DateTime.UtcNow);

            tsResp = new TimeStampResponse(tsResp.GetEncoded());

            TimeStampToken tsToken = tsResp.TimeStampToken;


            tsResp.Validate(request);

            TimeStampTokenInfo tstInfo = tsToken.TimeStampInfo;

            GenTimeAccuracy accuracy = tstInfo.GenTimeAccuracy;

            Assert.IsTrue(1 == accuracy.Seconds);
            Assert.IsTrue(2 == accuracy.Millis);
            Assert.IsTrue(3 == accuracy.Micros);

            Assert.IsTrue(new BigInteger("23").Equals(tstInfo.SerialNumber));

            Assert.IsTrue("1.2.3" == tstInfo.Policy);

            IX509Store store = tsToken.GetCertificates();

            ICollection certificates = store.GetMatches(null);

            Assert.IsTrue(2 == certificates.Count);
        }
示例#23
0
		private void checkValues(
			GenTimeAccuracy accuracy,
			DerInteger      secs,
			DerInteger      millis,
			DerInteger      micros)
		{
			Assert.AreEqual(secs.Value.IntValue, accuracy.Seconds);
			Assert.AreEqual(millis.Value.IntValue, accuracy.Millis);
			Assert.AreEqual(micros.Value.IntValue, accuracy.Micros);
		}
示例#24
0
		private void checkTostring(
			GenTimeAccuracy	accuracy,
			string			expected)
		{
			Assert.AreEqual(expected, accuracy.ToString());
		}
示例#25
0
 private void checkTostring(
     GenTimeAccuracy accuracy,
     string expected)
 {
     Assert.AreEqual(expected, accuracy.ToString());
 }