/** * verify addCertificate(Certificate certificate) adds a certificate for this identity. if the * identity does not have a public key, the identity's public key is set to be that specified in * the certificate. */ public void testAddCertificate2() throws Exception { Identity i = new IdentityStub("iii"); PublicKeyStub pk1 = new PublicKeyStub("kkk", "fff", null); CertificateStub c1 = new CertificateStub("fff", null, null, pk1); i.addCertificate(c1); assertSame(c1, i.certificates()[0]); assertSame(pk1, i.getPublicKey()); }
/** * verify addCertificate(Certificate certificate) adds a certificate for this identity. If the * identity has a public key, the public key in the certificate must be the same */ public void testAddCertificate1() throws Exception { Identity i = new IdentityStub("iii"); PublicKeyStub pk1 = new PublicKeyStub("kkk", "fff", new byte[] {1, 2, 3, 4, 5}); i.setPublicKey(pk1); // try with the same key CertificateStub c1 = new CertificateStub("fff", null, null, pk1); i.addCertificate(c1); assertSame(c1, i.certificates()[0]); // try Certificate with different key try { i.addCertificate( new CertificateStub( "ccc", null, null, new PublicKeyStub("k2", "fff", new byte[] {6, 7, 8, 9, 0}))); fail("KeyManagementException should be thrown"); } catch (KeyManagementException ok) { } }
/** * verify removeCertificate(Certificate certificate) throws SecurityException if permission is * denied */ public void testRemoveCertificate2() throws Exception { MySecurityManager sm = new MySecurityManager(); sm.denied.add(new SecurityPermission("removeIdentityCertificate")); Identity i = new IdentityStub("iii"); i.addCertificate(new CertificateStub("ccc", null, null, null)); System.setSecurityManager(sm); try { i.removeCertificate(i.certificates()[0]); fail("SecurityException should be thrown"); } catch (SecurityException ok) { } finally { System.setSecurityManager(null); } }
/** verify Identity.setPublicKey() removes old key and all identity's certificates */ public void testSetPublicKey4() throws Exception { Identity i = new IdentityStub("testSetPublicKey4"); PublicKeyStub pk1 = new PublicKeyStub("kkk", "Identity.testSetPublicKey4", null); CertificateStub c1 = new CertificateStub("fff", null, null, pk1); CertificateStub c2 = new CertificateStub("zzz", null, null, pk1); i.addCertificate(c1); i.addCertificate(c2); assertEquals(2, i.certificates().length); assertSame(pk1, i.getPublicKey()); PublicKeyStub pk2 = new PublicKeyStub("zzz", "Identity.testSetPublicKey4", null); i.setPublicKey(pk2); assertSame(pk2, i.getPublicKey()); assertEquals(0, i.certificates().length); }
/** verify certificates() returns a copy of all certificates for this identity */ public void testCertificates() throws Exception { Identity i = new IdentityStub("iii"); PublicKeyStub pk1 = new PublicKeyStub("kkk", "fff", null); CertificateStub c1 = new CertificateStub("fff", null, null, pk1); CertificateStub c2 = new CertificateStub("zzz", null, null, pk1); i.addCertificate(c1); i.addCertificate(c2); Certificate[] s = i.certificates(); assertEquals(2, s.length); assertTrue(c1.equals(s[0]) || c2.equals(s[0])); assertTrue(c1.equals(s[1]) || c2.equals(s[1])); s[0] = null; s[1] = null; // check that the copy was modified s = i.certificates(); assertEquals(2, s.length); assertTrue(c1.equals(s[0]) || c2.equals(s[0])); assertTrue(c1.equals(s[1]) || c2.equals(s[1])); }