new GeneralName(new EDIPartyName("assigner", "party"));
GeneralName san6 = new GeneralName(6, "http://uniform.Resource.Id");
GeneralName san7 = new GeneralName(7, "1.1.1.1");
GeneralName san8 = new GeneralName(8, "1.2.3.4444.55555");
GeneralNames sans_1 = new GeneralNames();
sans_1.addName(san0);
sans_1.addName(san1);
sans_1.addName(san2);
sans_1.addName(san3);
sans_1.addName(san4);
sans_1.addName(san5);
sans_1.addName(san6);
sans_1.addName(san7);
sans_1.addName(san8);
GeneralNames sans_2 = new GeneralNames();
sans_2.addName(san0);
TestCert cert_1 = new TestCert(sans_1);
TestCert cert_2 = new TestCert(sans_2);
X509CertSelector selector = new X509CertSelector();
selector.setMatchAllSubjectAltNames(true);
selector.setSubjectAlternativeNames(null);
assertTrue("Any certificate should match in the case of null "
+ "subjectAlternativeNames criteria.",
selector.match(cert_1) && selector.match(cert_2));
Collection sans = sans_1.getPairsList();
selector.setSubjectAlternativeNames(sans);
assertTrue("The certificate should match the selection criteria.",
selector.match(cert_1));
assertFalse("The certificate should not match "
+ "the selection criteria.", selector.match(cert_2));
sans.clear();
assertTrue("The modification of initialization object "
+ "should not affect the modification "
+ "of internal object.", selector.match(cert_1));
selector.setSubjectAlternativeNames(sans_2.getPairsList());
assertTrue("The certificate should match the selection criteria.",
selector.match(cert_2));
} catch (IOException e) {
e.printStackTrace();
fail("Unexpected IOException was thrown.");