Exemplo n.º 1
0
        public void testNoVerify()
        {
            NoVerifyPolicyManager policyManager = new NoVerifyPolicyManager();
            Name identityName = new Name("TestValidator/Null")
                    .appendVersion((long) getNowSeconds());

            KeyChain keyChain = new KeyChain(identityManager_, policyManager);
            keyChain.createIdentityAndCertificate(identityName);
            Data data = new Data(new Name(identityName).append("data"));
            keyChain.signByIdentity(data, identityName);

            VerificationResult vr = doVerify(policyManager, data);

            AssertFalse("NoVerifyPolicyManager returned a ValidationRequest",
                    vr.hasFurtherSteps_);

            AssertEquals("Verification failed with NoVerifyPolicyManager", 0,
                    vr.failureCount_);
            AssertEquals("Verification success called " + vr.successCount_
                    + " times instead of 1", 1, vr.successCount_);
        }
Exemplo n.º 2
0
        public void testSelfVerification()
        {
            SelfVerifyPolicyManager policyManager = new SelfVerifyPolicyManager(
                    identityStorage_);
            KeyChain keyChain = new KeyChain(identityManager_, policyManager);

            Name identityName = new Name("TestValidator/RsaSignatureVerification");
            keyChain.createIdentityAndCertificate(identityName);

            Data data = new Data(new Name("/TestData/1"));
            keyChain.signByIdentity(data, identityName);

            VerificationResult vr = doVerify(policyManager, data);

            AssertFalse("SelfVerifyPolicyManager returned a ValidationRequest",
                    vr.hasFurtherSteps_);
            AssertEquals("Verification of identity-signed data failed", 0,
                    vr.failureCount_);
            AssertEquals("Verification success called " + vr.successCount_
                    + " times instead of 1", 1, vr.successCount_);

            Data data2 = new Data(new Name("/TestData/2"));

            vr = doVerify(policyManager, data2);

            AssertFalse("SelfVerifyPolicyManager returned a ValidationRequest",
                    vr.hasFurtherSteps_);
            AssertEquals("Verification of unsigned data succeeded", 0,
                    vr.successCount_);
            AssertEquals("Verification failure callback called " + vr.failureCount_
                    + " times instead of 1", 1, vr.failureCount_);
        }
Exemplo n.º 3
0
        public void setUp()
        {
            // Don't show INFO log messages.
            ILOG.J2CsMapping.Util.Logging.Logger.getLogger("").setLevel(ILOG.J2CsMapping.Util.Logging.Level.WARNING);

            FileInfo policyConfigDirectory = net.named_data.jndn.tests.integration_tests.IntegrationTestsCommon
                    .getPolicyConfigDirectory();

            dKeyDatabaseFilePath = new FileInfo(System.IO.Path.Combine(policyConfigDirectory.FullName,"manager-d-key-test.db"));
            dKeyDatabaseFilePath.delete();

            eKeyDatabaseFilePath = new FileInfo(System.IO.Path.Combine(policyConfigDirectory.FullName,"manager-e-key-test.db"));
            eKeyDatabaseFilePath.delete();

            intervalDatabaseFilePath = new FileInfo(System.IO.Path.Combine(policyConfigDirectory.FullName,"manager-interval-test.db"));
            intervalDatabaseFilePath.delete();

            groupKeyDatabaseFilePath = new FileInfo(System.IO.Path.Combine(policyConfigDirectory.FullName,"manager-group-key-test.db"));
            groupKeyDatabaseFilePath.delete();

            RsaKeyParams paras = new RsaKeyParams();
            DecryptKey memberDecryptKey = net.named_data.jndn.encrypt.algo.RsaAlgorithm.generateKey(paras);
            decryptKeyBlob = memberDecryptKey.getKeyBits();
            EncryptKey memberEncryptKey = net.named_data.jndn.encrypt.algo.RsaAlgorithm
                    .deriveEncryptKey(decryptKeyBlob);
            encryptKeyBlob = memberEncryptKey.getKeyBits();

            // Generate the certificate.
            certificate.setName(new Name("/ndn/memberA/KEY/ksk-123/ID-CERT/123"));
            PublicKey contentPublicKey = new PublicKey(encryptKeyBlob);
            certificate.setPublicKeyInfo(contentPublicKey);
            certificate.encode();

            Blob signatureInfoBlob = new Blob(SIG_INFO, false);
            Blob signatureValueBlob = new Blob(SIG_VALUE, false);

            Signature signature = net.named_data.jndn.encoding.TlvWireFormat.get().decodeSignatureInfoAndValue(
                    signatureInfoBlob.buf(), signatureValueBlob.buf());
            certificate.setSignature(signature);

            certificate.wireEncode();

            // Set up the keyChain.
            MemoryIdentityStorage identityStorage = new MemoryIdentityStorage();
            MemoryPrivateKeyStorage privateKeyStorage = new MemoryPrivateKeyStorage();
            keyChain = new KeyChain(new IdentityManager(identityStorage,
                    privateKeyStorage), new NoVerifyPolicyManager());
            Name identityName = new Name("TestGroupManager");
            keyChain.createIdentityAndCertificate(identityName);
            keyChain.getIdentityManager().setDefaultIdentity(identityName);

            net.named_data.jndn.encrypt.GroupManager.setFriendAccess(this);
        }