Пример #1
0
        public void testExpiredCertificate()
        {
            // Copy the default certificate.
            Data expiredCertificate_0 = new Data(fixture_.subIdentity_
                                                 .getDefaultKey().getDefaultCertificate());
            SigningInfo info = new SigningInfo(fixture_.identity_);
            // Validity period from 2 hours ago do 1 hour ago.
            double now = net.named_data.jndn.util.Common.getNowMilliseconds();

            info.setValidityPeriod(new ValidityPeriod(now - 2 * 3600 * 1000,
                                                      now - 3600 * 1000.0d));
            fixture_.keyChain_.sign(expiredCertificate_0, info);
            try {
                new CertificateV2(expiredCertificate_0).wireEncode();
            } catch (Exception ex) {
                Assert.Fail("Unexpected exception: " + ex.Message);
            }

            ValidatorFixture.TestFace.ProcessInterest originalProcessInterest_1 = fixture_.face_.processInterest_;
            fixture_.face_.processInterest_ = new TestValidator.Anonymous_C1(originalProcessInterest_1, expiredCertificate_0);

            Data data = new Data(new Name(
                                     "/Security/V2/ValidatorFixture/Sub1/Sub2/Data"));

            fixture_.keyChain_.sign(data, new SigningInfo(fixture_.subIdentity_));

            validateExpectFailure(data, "Signed by an expired certificate");
            Assert.AssertEquals(1, fixture_.face_.sentInterests_.Count);
        }
Пример #2
0
        public void testMalformedCertificate()
        {
            // Copy the default certificate.
            Data malformedCertificate_0 = new Data(fixture_.subIdentity_
                                                   .getDefaultKey().getDefaultCertificate());

            malformedCertificate_0.getMetaInfo().setType(net.named_data.jndn.ContentType.BLOB);
            fixture_.keyChain_.sign(malformedCertificate_0, new SigningInfo(
                                        fixture_.identity_));
            // It has the wrong content type and a missing ValidityPeriod.
            try {
                new CertificateV2(malformedCertificate_0).wireEncode();
                Assert.Fail("Did not throw the expected exception");
            } catch (CertificateV2.Error ex) {
            } catch (Exception ex_1) {
                Assert.Fail("Did not throw the expected exception");
            }

            ValidatorFixture.TestFace.ProcessInterest originalProcessInterest_2 = fixture_.face_.processInterest_;
            fixture_.face_.processInterest_ = new TestValidator.Anonymous_C2(malformedCertificate_0, originalProcessInterest_2);

            Data data = new Data(new Name(
                                     "/Security/V2/ValidatorFixture/Sub1/Sub2/Data"));

            fixture_.keyChain_.sign(data, new SigningInfo(fixture_.subIdentity_));

            validateExpectFailure(data, "Signed by a malformed certificate");
            Assert.AssertEquals(1, fixture_.face_.sentInterests_.Count);
        }