public void testErrors() { PibMemory pibImpl = new PibMemory(); PibKeyContainer container = new PibKeyContainer(fixture.id1, pibImpl); try { container.add(fixture.id2Key1.buf(), fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex) { } catch (Exception ex_0) { Assert.Fail("Did not throw the expected exception"); } try { container.remove(fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } try { container.get(fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_3) { } catch (Exception ex_4) { Assert.Fail("Did not throw the expected exception"); } }
public void setUp() { // Don't show INFO log messages. ILOG.J2CsMapping.Util.Logging.Logger.getLogger("").setLevel(ILOG.J2CsMapping.Util.Logging.Level.WARNING); policyConfigDirectory_ = net.named_data.jndn.tests.integration_tests.IntegrationTestsCommon .getPolicyConfigDirectory(); testCertFile_ = new FileInfo(System.IO.Path.Combine(new FileInfo(System.IO.Path.Combine(policyConfigDirectory_.FullName, "certs")).FullName, "test.cert")); pibImpl_ = new PibMemory(); tpmBackEnd_ = new TpmBackEndMemory(); policyManager_ = new ConfigPolicyManager(policyConfigDirectory_ + "/simple_rules.conf", new CertificateCacheV2()); identityName_ = new Name("/TestConfigPolicyManager/temp"); // To match the anchor cert. keyName_ = new Name(identityName_).append("KEY").append( "ksk-1416010123"); pibImpl_.addKey(identityName_, keyName_, TEST_RSA_PUBLIC_KEY_DER); // Set the password null since we have an unencrypted PKCS #8 private key. tpmBackEnd_.importKey(keyName_, TEST_RSA_PRIVATE_KEY_PKCS8, null); keyChain_ = new KeyChain(pibImpl_, tpmBackEnd_, policyManager_); PibKey pibKey = keyChain_.getPib().getIdentity(identityName_) .getKey(keyName_); // selfSign adds to the PIB. keyChain_.selfSign(pibKey); }
public void testErrors() { PibMemory pibImpl = new PibMemory(); try { new PibIdentityImpl(fixture.id1, pibImpl, false); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex) { } catch (Exception ex_0) { Assert.Fail("Did not throw the expected exception"); } PibIdentityImpl identity1 = new PibIdentityImpl(fixture.id1, pibImpl, true); identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); try { identity1.addKey(fixture.id2Key1.buf(), fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); try { identity1.removeKey(fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_3) { } catch (Exception ex_4) { Assert.Fail("Did not throw the expected exception"); } identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); try { identity1.getKey(fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_5) { } catch (Exception ex_6) { Assert.Fail("Did not throw the expected exception"); } identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); try { identity1.setDefaultKey(fixture.id2Key1.buf(), fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_7) { } catch (Exception ex_8) { Assert.Fail("Did not throw the expected exception"); } identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); try { identity1.setDefaultKey(fixture.id2Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_9) { } catch (Exception ex_10) { Assert.Fail("Did not throw the expected exception"); } }
public void testBasic() { PibMemory pibImpl = new PibMemory(); PibIdentityImpl identity1 = new PibIdentityImpl(fixture.id1, pibImpl, true); Assert.AssertTrue(fixture.id1.equals(identity1.getName())); }
public void testOverwrite() { PibMemory pibImpl = new PibMemory(); PibIdentityImpl identity1 = new PibIdentityImpl(fixture.id1, pibImpl, true); identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); Assert.AssertTrue(identity1.getKey(fixture.id1Key1Name).getPublicKey() .equals(fixture.id1Key1)); // Overwriting the key should work. identity1.addKey(fixture.id1Key2.buf(), fixture.id1Key1Name); Assert.AssertTrue(identity1.getKey(fixture.id1Key1Name).getPublicKey() .equals(fixture.id1Key2)); }
public void testOverwrite() { PibMemory pibImpl = new PibMemory(); try { new PibKeyImpl(fixture.id1Key1Name, pibImpl); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex) { } catch (Exception ex_0) { Assert.Fail("Did not throw the expected exception"); } new PibKeyImpl(fixture.id1Key1Name, fixture.id1Key1.buf(), pibImpl); PibKeyImpl key1 = new PibKeyImpl(fixture.id1Key1Name, pibImpl); // Overwriting the key should work. new PibKeyImpl(fixture.id1Key1Name, fixture.id1Key2.buf(), pibImpl); PibKeyImpl key2 = new PibKeyImpl(fixture.id1Key1Name, pibImpl); // key1 should have cached the original public key. Assert.AssertTrue(!key1.getPublicKey().equals(key2.getPublicKey())); Assert.AssertTrue(key2.getPublicKey().equals(fixture.id1Key2)); key1.addCertificate(fixture.id1Key1Cert1); // Use the wire encoding to check equivalence. Assert.AssertTrue(key1.getCertificate(fixture.id1Key1Cert1.getName()) .wireEncode().equals(fixture.id1Key1Cert1.wireEncode())); CertificateV2 otherCert = new CertificateV2(fixture.id1Key1Cert1); ((Sha256WithRsaSignature)otherCert.getSignature()).getValidityPeriod() .setPeriod(net.named_data.jndn.util.Common.getNowMilliseconds(), net.named_data.jndn.util.Common.getNowMilliseconds() + 1000); // Don't bother resigning so we don't have to load a private key. Assert.AssertTrue(fixture.id1Key1Cert1.getName().equals(otherCert.getName())); Assert.AssertTrue(otherCert.getContent().equals( fixture.id1Key1Cert1.getContent())); Assert.AssertFalse(otherCert.wireEncode().equals( fixture.id1Key1Cert1.wireEncode())); key1.addCertificate(otherCert); Assert.AssertTrue(key1.getCertificate(fixture.id1Key1Cert1.getName()) .wireEncode().equals(otherCert.wireEncode())); }
public void testBasic() { PibMemory pibImpl = new PibMemory(); PibKeyImpl key11 = new PibKeyImpl(fixture.id1Key1Name, fixture.id1Key1.buf(), pibImpl); Assert.AssertTrue(fixture.id1Key1Name.equals(key11.getName())); Assert.AssertTrue(fixture.id1.equals(key11.getIdentityName())); Assert.AssertEquals(net.named_data.jndn.security.KeyType.RSA, key11.getKeyType()); Assert.AssertTrue(key11.getPublicKey().equals(fixture.id1Key1)); PibKeyImpl key11FromBackend = new PibKeyImpl(fixture.id1Key1Name, pibImpl); Assert.AssertTrue(fixture.id1Key1Name.equals(key11FromBackend.getName())); Assert.AssertTrue(fixture.id1.equals(key11FromBackend.getIdentityName())); Assert.AssertEquals(net.named_data.jndn.security.KeyType.RSA, key11FromBackend.getKeyType()); Assert.AssertTrue(key11FromBackend.getPublicKey().equals(fixture.id1Key1)); }
public void testBasic() { PibMemory pibImpl = new PibMemory(); // Start with an empty container. PibIdentityContainer container = new PibIdentityContainer(pibImpl); Assert.AssertEquals(0, container.size()); Assert.AssertEquals(0, container.getIdentities_().Count); // Add the first identity. PibIdentity identity11 = container.add(fixture.id1); Assert.AssertTrue(fixture.id1.equals(identity11.getName())); Assert.AssertEquals(1, container.size()); Assert.AssertEquals(1, container.getIdentities_().Count); Assert.AssertTrue(container.getIdentities_().Contains(fixture.id1)); // Add the same identity again. PibIdentity identity12 = container.add(fixture.id1); Assert.AssertTrue(fixture.id1.equals(identity12.getName())); Assert.AssertEquals(1, container.size()); Assert.AssertEquals(1, container.getIdentities_().Count); Assert.AssertTrue(container.getIdentities_().Contains(fixture.id1)); // Add the second identity. PibIdentity identity21 = container.add(fixture.id2); Assert.AssertTrue(fixture.id2.equals(identity21.getName())); Assert.AssertEquals(2, container.size()); Assert.AssertEquals(2, container.getIdentities_().Count); Assert.AssertTrue(container.getIdentities_().Contains(fixture.id1)); Assert.AssertTrue(container.getIdentities_().Contains(fixture.id2)); // Get identities. try { container.get(fixture.id1); } catch (Exception ex) { Assert.Fail("Unexpected exception: " + ex.Message); } try { container.get(fixture.id2); } catch (Exception ex_0) { Assert.Fail("Unexpected exception: " + ex_0.Message); } try { container.get(new Name("/non-existing")); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } // Check the identity. PibIdentity identity1 = container.get(fixture.id1); PibIdentity identity2 = container.get(fixture.id2); Assert.AssertTrue(fixture.id1.equals(identity1.getName())); Assert.AssertTrue(fixture.id2.equals(identity2.getName())); // Create another container from the same PibImpl. The cache should be empty. PibIdentityContainer container2 = new PibIdentityContainer(pibImpl); Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(0, container2.getIdentities_().Count); // Get keys. The cache should be filled. try { container2.get(fixture.id1); } catch (Exception ex_3) { Assert.Fail("Unexpected exception: " + ex_3.Message); } Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(1, container2.getIdentities_().Count); try { container2.get(fixture.id2); } catch (Exception ex_4) { Assert.Fail("Unexpected exception: " + ex_4.Message); } Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(2, container2.getIdentities_().Count); // Remove a key. container2.remove(fixture.id1); Assert.AssertEquals(1, container2.size()); Assert.AssertEquals(1, container2.getIdentities_().Count); Assert.AssertTrue(!container2.getIdentities_().Contains(fixture.id1)); Assert.AssertTrue(container2.getIdentities_().Contains(fixture.id2)); // Remove another key. container2.remove(fixture.id2); Assert.AssertEquals(0, container2.size()); Assert.AssertEquals(0, container2.getIdentities_().Count); Assert.AssertTrue(!container2.getIdentities_().Contains(fixture.id2)); }
public void testBasic() { PibMemory pibImpl = new PibMemory(); // Start with an empty container. PibKeyContainer container = new PibKeyContainer(fixture.id1, pibImpl); Assert.AssertEquals(0, container.size()); Assert.AssertEquals(0, container.getKeys_().Count); // Add the first key. PibKey key11 = container .add(fixture.id1Key1.buf(), fixture.id1Key1Name); Assert.AssertTrue(fixture.id1Key1Name.equals(key11.getName())); Assert.AssertTrue(key11.getPublicKey().equals(fixture.id1Key1)); Assert.AssertEquals(1, container.size()); Assert.AssertEquals(1, container.getKeys_().Count); Assert.AssertTrue(container.getKeys_().Contains(fixture.id1Key1Name)); // Add the same key again. PibKey key12 = container .add(fixture.id1Key1.buf(), fixture.id1Key1Name); Assert.AssertTrue(fixture.id1Key1Name.equals(key12.getName())); Assert.AssertTrue(key12.getPublicKey().equals(fixture.id1Key1)); Assert.AssertEquals(1, container.size()); Assert.AssertEquals(1, container.getKeys_().Count); Assert.AssertTrue(container.getKeys_().Contains(fixture.id1Key1Name)); // Add the second key. PibKey key21 = container .add(fixture.id1Key2.buf(), fixture.id1Key2Name); Assert.AssertTrue(fixture.id1Key2Name.equals(key21.getName())); Assert.AssertTrue(key21.getPublicKey().equals(fixture.id1Key2)); Assert.AssertEquals(2, container.size()); Assert.AssertEquals(2, container.getKeys_().Count); Assert.AssertTrue(container.getKeys_().Contains(fixture.id1Key1Name)); Assert.AssertTrue(container.getKeys_().Contains(fixture.id1Key2Name)); // Get keys. try { container.get(fixture.id1Key1Name); } catch (Exception ex) { Assert.Fail("Unexpected exception: " + ex.Message); } try { container.get(fixture.id1Key2Name); } catch (Exception ex_0) { Assert.Fail("Unexpected exception: " + ex_0.Message); } Name id1Key3Name = net.named_data.jndn.security.pib.PibKey.constructKeyName(fixture.id1, new Name.Component("non-existing-id")); try { container.get(id1Key3Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } // Get and check keys. PibKey key1 = container.get(fixture.id1Key1Name); PibKey key2 = container.get(fixture.id1Key2Name); Assert.AssertTrue(fixture.id1Key1Name.equals(key1.getName())); Assert.AssertTrue(key1.getPublicKey().equals(fixture.id1Key1)); Assert.AssertEquals(fixture.id1Key2Name, key2.getName()); Assert.AssertTrue(key2.getPublicKey().equals(fixture.id1Key2)); // Create another container using the same PibImpl. The cache should be empty. PibKeyContainer container2 = new PibKeyContainer(fixture.id1, pibImpl); Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(0, container2.getKeys_().Count); // Get a key. The cache should be filled. try { container2.get(fixture.id1Key1Name); } catch (Exception ex_3) { Assert.Fail("Unexpected exception: " + ex_3.Message); } Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(1, container2.getKeys_().Count); try { container2.get(fixture.id1Key2Name); } catch (Exception ex_4) { Assert.Fail("Unexpected exception: " + ex_4.Message); } Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(2, container2.getKeys_().Count); // Remove a key. container2.remove(fixture.id1Key1Name); Assert.AssertEquals(1, container2.size()); Assert.AssertEquals(1, container2.getKeys_().Count); Assert.AssertTrue(!container2.getKeys_().Contains(fixture.id1Key1Name)); Assert.AssertTrue(container2.getKeys_().Contains(fixture.id1Key2Name)); // Remove another key. container2.remove(fixture.id1Key2Name); Assert.AssertEquals(0, container2.size()); Assert.AssertEquals(0, container2.getKeys_().Count); Assert.AssertTrue(!container2.getKeys_().Contains(fixture.id1Key2Name)); }
public void testKeyOperation() { PibMemory pibImpl = new PibMemory(); PibIdentityImpl identity1 = new PibIdentityImpl(fixture.id1, pibImpl, true); try { new PibIdentityImpl(fixture.id1, pibImpl, false); } catch (Exception ex) { Assert.Fail("Unexpected exception: " + ex.Message); } // The identity should not have any key. Assert.AssertEquals(0, identity1.getKeys_().size()); // Getting non-existing key should throw Pib.Error. try { identity1.getKey(fixture.id1Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_0) { } catch (Exception ex_1) { Assert.Fail("Did not throw the expected exception"); } // Getting the default key should throw Pib.Error. try { identity1.getDefaultKey(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_2) { } catch (Exception ex_3) { Assert.Fail("Did not throw the expected exception"); } // Setting a non-existing key as the default key should throw Pib.Error. try { identity1.setDefaultKey(fixture.id1Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_4) { } catch (Exception ex_5) { Assert.Fail("Did not throw the expected exception"); } // Add a key. identity1.addKey(fixture.id1Key1.buf(), fixture.id1Key1Name); try { identity1.getKey(fixture.id1Key1Name); } catch (Exception ex_6) { Assert.Fail("Unexpected exception: " + ex_6.Message); } // A new key should become the default key when there is no default. try { identity1.getDefaultKey(); } catch (Exception ex_7) { Assert.Fail("Unexpected exception: " + ex_7.Message); } PibKey defaultKey0 = identity1.getDefaultKey(); Assert.AssertTrue(fixture.id1Key1Name.equals(defaultKey0.getName())); Assert.AssertTrue(defaultKey0.getPublicKey().equals(fixture.id1Key1)); // Remove a key. identity1.removeKey(fixture.id1Key1Name); try { identity1.setDefaultKey(fixture.id1Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_8) { } catch (Exception ex_9) { Assert.Fail("Did not throw the expected exception"); } try { identity1.getDefaultKey(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_10) { } catch (Exception ex_11) { Assert.Fail("Did not throw the expected exception"); } // Set the default key directly. try { identity1.setDefaultKey(fixture.id1Key1.buf(), fixture.id1Key1Name); } catch (Exception ex_12) { Assert.Fail("Unexpected exception: " + ex_12.Message); } try { identity1.getDefaultKey(); } catch (Exception ex_13) { Assert.Fail("Unexpected exception: " + ex_13.Message); } try { identity1.getKey(fixture.id1Key1Name); } catch (Exception ex_14) { Assert.Fail("Unexpected exception: " + ex_14.Message); } // Check for a default key. PibKey defaultKey1 = identity1.getDefaultKey(); Assert.AssertTrue(fixture.id1Key1Name.equals(defaultKey1.getName())); Assert.AssertTrue(defaultKey1.getPublicKey().equals(fixture.id1Key1)); // Add another key. identity1.addKey(fixture.id1Key2.buf(), fixture.id1Key2Name); Assert.AssertEquals(2, identity1.getKeys_().size()); // Set the default key using a name. try { identity1.setDefaultKey(fixture.id1Key2Name); } catch (Exception ex_15) { Assert.Fail("Unexpected exception: " + ex_15.Message); } try { identity1.getDefaultKey(); } catch (Exception ex_16) { Assert.Fail("Unexpected exception: " + ex_16.Message); } PibKey defaultKey2 = identity1.getDefaultKey(); Assert.AssertTrue(fixture.id1Key2Name.equals(defaultKey2.getName())); Assert.AssertTrue(defaultKey2.getPublicKey().equals(fixture.id1Key2)); // Remove a key. identity1.removeKey(fixture.id1Key1Name); try { identity1.getKey(fixture.id1Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_17) { } catch (Exception ex_18) { Assert.Fail("Did not throw the expected exception"); } Assert.AssertEquals(1, identity1.getKeys_().size()); // Seting the default key directly again should change the default. try { identity1.setDefaultKey(fixture.id1Key1.buf(), fixture.id1Key1Name); } catch (Exception ex_19) { Assert.Fail("Unexpected exception: " + ex_19.Message); } PibKey defaultKey3 = identity1.getDefaultKey(); Assert.AssertTrue(fixture.id1Key1Name.equals(defaultKey3.getName())); Assert.AssertTrue(defaultKey3.getPublicKey().equals(fixture.id1Key1)); Assert.AssertEquals(2, identity1.getKeys_().size()); // Remove all keys. identity1.removeKey(fixture.id1Key1Name); try { identity1.getKey(fixture.id1Key1Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_20) { } catch (Exception ex_21) { Assert.Fail("Did not throw the expected exception"); } Assert.AssertEquals(1, identity1.getKeys_().size()); identity1.removeKey(fixture.id1Key2Name); try { identity1.getKey(fixture.id1Key2Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_22) { } catch (Exception ex_23) { Assert.Fail("Did not throw the expected exception"); } Assert.AssertEquals(0, identity1.getKeys_().size()); try { identity1.getDefaultKey(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_24) { } catch (Exception ex_25) { Assert.Fail("Did not throw the expected exception"); } }
public void testBasic() { PibMemory pibImpl = new PibMemory(); // Start with an empty container. PibCertificateContainer container = new PibCertificateContainer( fixture.id1Key1Name, pibImpl); Assert.AssertEquals(0, container.size()); Assert.AssertEquals(0, container.getCertificates_().Count); // Add a certificate. container.add(fixture.id1Key1Cert1); Assert.AssertEquals(1, container.size()); Assert.AssertEquals(1, container.getCertificates_().Count); Assert.AssertTrue(container.getCertificates_().Contains( fixture.id1Key1Cert1.getName())); // Add the same certificate again. container.add(fixture.id1Key1Cert1); Assert.AssertEquals(1, container.size()); Assert.AssertEquals(1, container.getCertificates_().Count); Assert.AssertTrue(container.getCertificates_().Contains( fixture.id1Key1Cert1.getName())); // Add another certificate. container.add(fixture.id1Key1Cert2); Assert.AssertEquals(2, container.size()); Assert.AssertEquals(2, container.getCertificates_().Count); Assert.AssertTrue(container.getCertificates_().Contains( fixture.id1Key1Cert1.getName())); Assert.AssertTrue(container.getCertificates_().Contains( fixture.id1Key1Cert2.getName())); // Get the certificates. try { container.get(fixture.id1Key1Cert1.getName()); } catch (Exception ex) { Assert.Fail("Unexpected exception: " + ex.Message); } try { container.get(fixture.id1Key1Cert2.getName()); } catch (Exception ex_0) { Assert.Fail("Unexpected exception: " + ex_0.Message); } Name id1Key1Cert3Name = new Name(fixture.id1Key1Name); id1Key1Cert3Name.append("issuer").appendVersion(3); try { container.get(id1Key1Cert3Name); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } // Check the certificates. CertificateV2 cert1 = container.get(fixture.id1Key1Cert1.getName()); CertificateV2 cert2 = container.get(fixture.id1Key1Cert2.getName()); // Use the wire encoding to check equivalence. Assert.AssertTrue(cert1.wireEncode().equals(fixture.id1Key1Cert1.wireEncode())); Assert.AssertTrue(cert2.wireEncode().equals(fixture.id1Key1Cert2.wireEncode())); // Create another container with the same PibImpl. The cache should be empty. PibCertificateContainer container2 = new PibCertificateContainer( fixture.id1Key1Name, pibImpl); Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(0, container2.getCertificates_().Count); // Get a certificate. The cache should be filled. try { container2.get(fixture.id1Key1Cert1.getName()); } catch (Exception ex_3) { Assert.Fail("Unexpected exception: " + ex_3.Message); } Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(1, container2.getCertificates_().Count); try { container2.get(fixture.id1Key1Cert2.getName()); } catch (Exception ex_4) { Assert.Fail("Unexpected exception: " + ex_4.Message); } Assert.AssertEquals(2, container2.size()); Assert.AssertEquals(2, container2.getCertificates_().Count); // Remove a certificate. container2.remove(fixture.id1Key1Cert1.getName()); Assert.AssertEquals(1, container2.size()); Assert.AssertEquals(1, container2.getCertificates_().Count); Assert.AssertTrue(!container2.getCertificates_().Contains( fixture.id1Key1Cert1.getName())); Assert.AssertTrue(container2.getCertificates_().Contains( fixture.id1Key1Cert2.getName())); // Remove another certificate. container2.remove(fixture.id1Key1Cert2.getName()); Assert.AssertEquals(0, container2.size()); Assert.AssertEquals(0, container2.getCertificates_().Count); Assert.AssertTrue(!container2.getCertificates_().Contains( fixture.id1Key1Cert2.getName())); }
public void testCertificateOperation() { PibMemory pibImpl = new PibMemory(); PibKeyImpl key11 = new PibKeyImpl(fixture.id1Key1Name, fixture.id1Key1.buf(), pibImpl); try { new PibKeyImpl(fixture.id1Key1Name, pibImpl); } catch (Exception ex) { Assert.Fail("Unexpected exception: " + ex.Message); } // The key should not have any certificates. Assert.AssertEquals(0, key11.getCertificates_().size()); // Getting a non-existing certificate should throw Pib.Error. try { key11.getCertificate(fixture.id1Key1Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_0) { } catch (Exception ex_1) { Assert.Fail("Did not throw the expected exception"); } // Getting the non-existing default certificate should throw Pib.Error. try { key11.getDefaultCertificate(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_2) { } catch (Exception ex_3) { Assert.Fail("Did not throw the expected exception"); } // Setting a non-existing certificate as the default should throw Pib.Error. try { key11.setDefaultCertificate(fixture.id1Key1Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_4) { } catch (Exception ex_5) { Assert.Fail("Did not throw the expected exception"); } // Add a certificate. key11.addCertificate(fixture.id1Key1Cert1); try { key11.getCertificate(fixture.id1Key1Cert1.getName()); } catch (Exception ex_6) { Assert.Fail("Unexpected exception: " + ex_6.Message); } // The new certificate becomes the default when there was no default. try { key11.getDefaultCertificate(); } catch (Exception ex_7) { Assert.Fail("Unexpected exception: " + ex_7.Message); } CertificateV2 defaultCert0 = key11.getDefaultCertificate(); Assert.AssertTrue(fixture.id1Key1Cert1.getName() .equals(defaultCert0.getName())); // Use the wire encoding to check equivalence. Assert.AssertTrue(fixture.id1Key1Cert1.wireEncode().equals( defaultCert0.wireEncode())); // Remove the certificate. key11.removeCertificate(fixture.id1Key1Cert1.getName()); try { key11.getCertificate(fixture.id1Key1Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_8) { } catch (Exception ex_9) { Assert.Fail("Did not throw the expected exception"); } try { key11.getDefaultCertificate(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_10) { } catch (Exception ex_11) { Assert.Fail("Did not throw the expected exception"); } // Set the default certificate directly. try { key11.setDefaultCertificate(fixture.id1Key1Cert1); } catch (Exception ex_12) { Assert.Fail("Unexpected exception: " + ex_12.Message); } try { key11.getDefaultCertificate(); } catch (Exception ex_13) { Assert.Fail("Unexpected exception: " + ex_13.Message); } try { key11.getCertificate(fixture.id1Key1Cert1.getName()); } catch (Exception ex_14) { Assert.Fail("Unexpected exception: " + ex_14.Message); } // Check the default cert. CertificateV2 defaultCert1 = key11.getDefaultCertificate(); Assert.AssertTrue(fixture.id1Key1Cert1.getName() .equals(defaultCert1.getName())); Assert.AssertTrue(defaultCert1.wireEncode().equals( fixture.id1Key1Cert1.wireEncode())); // Add another certificate. key11.addCertificate(fixture.id1Key1Cert2); Assert.AssertEquals(2, key11.getCertificates_().size()); // Set the default certificate using a name. try { key11.setDefaultCertificate(fixture.id1Key1Cert2.getName()); } catch (Exception ex_15) { Assert.Fail("Unexpected exception: " + ex_15.Message); } try { key11.getDefaultCertificate(); } catch (Exception ex_16) { Assert.Fail("Unexpected exception: " + ex_16.Message); } CertificateV2 defaultCert2 = key11.getDefaultCertificate(); Assert.AssertTrue(fixture.id1Key1Cert2.getName() .equals(defaultCert2.getName())); Assert.AssertTrue(defaultCert2.wireEncode().equals( fixture.id1Key1Cert2.wireEncode())); // Remove a certificate. key11.removeCertificate(fixture.id1Key1Cert1.getName()); try { key11.getCertificate(fixture.id1Key1Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_17) { } catch (Exception ex_18) { Assert.Fail("Did not throw the expected exception"); } Assert.AssertEquals(1, key11.getCertificates_().size()); // Set the default certificate directly again, which should change the default. try { key11.setDefaultCertificate(fixture.id1Key1Cert1); } catch (Exception ex_19) { Assert.Fail("Unexpected exception: " + ex_19.Message); } CertificateV2 defaultCert3 = key11.getDefaultCertificate(); Assert.AssertTrue(fixture.id1Key1Cert1.getName() .equals(defaultCert3.getName())); Assert.AssertTrue(defaultCert3.wireEncode().equals( fixture.id1Key1Cert1.wireEncode())); Assert.AssertEquals(2, key11.getCertificates_().size()); // Remove all certificates. key11.removeCertificate(fixture.id1Key1Cert1.getName()); try { key11.getCertificate(fixture.id1Key1Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_20) { } catch (Exception ex_21) { Assert.Fail("Did not throw the expected exception"); } Assert.AssertEquals(1, key11.getCertificates_().size()); key11.removeCertificate(fixture.id1Key1Cert2.getName()); try { key11.getCertificate(fixture.id1Key1Cert2.getName()); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_22) { } catch (Exception ex_23) { Assert.Fail("Did not throw the expected exception"); } try { key11.getDefaultCertificate(); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex_24) { } catch (Exception ex_25) { Assert.Fail("Did not throw the expected exception"); } Assert.AssertEquals(0, key11.getCertificates_().size()); }
public void testErrors() { PibMemory pibImpl = new PibMemory(); try { new PibKeyImpl(fixture.id1Key1Name, pibImpl); Assert.Fail("Did not throw the expected exception"); } catch (Pib.Error ex) { } catch (Exception ex_0) { Assert.Fail("Did not throw the expected exception"); } PibKeyImpl key11 = new PibKeyImpl(fixture.id1Key1Name, fixture.id1Key1.buf(), pibImpl); try { new PibKeyImpl(new Name("/wrong"), pibImpl); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_1) { } catch (Exception ex_2) { Assert.Fail("Did not throw the expected exception"); } try { new PibKeyImpl(new Name("/wrong"), fixture.id1Key1.buf(), pibImpl); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_3) { } catch (Exception ex_4) { Assert.Fail("Did not throw the expected exception"); } Blob wrongKey = new Blob(""); try { new PibKeyImpl(fixture.id1Key2Name, wrongKey.buf(), pibImpl); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_5) { } catch (Exception ex_6) { Assert.Fail("Did not throw the expected exception"); } key11.addCertificate(fixture.id1Key1Cert1); try { key11.addCertificate(fixture.id1Key2Cert1); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_7) { } catch (Exception ex_8) { Assert.Fail("Did not throw the expected exception"); } try { key11.removeCertificate(fixture.id1Key2Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_9) { } catch (Exception ex_10) { Assert.Fail("Did not throw the expected exception"); } try { key11.getCertificate(fixture.id1Key2Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_11) { } catch (Exception ex_12) { Assert.Fail("Did not throw the expected exception"); } try { key11.setDefaultCertificate(fixture.id1Key2Cert1); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_13) { } catch (Exception ex_14) { Assert.Fail("Did not throw the expected exception"); } try { key11.setDefaultCertificate(fixture.id1Key2Cert1.getName()); Assert.Fail("Did not throw the expected exception"); } catch (ArgumentException ex_15) { } catch (Exception ex_16) { Assert.Fail("Did not throw the expected exception"); } }