@Test public void test() { CertificateToken certificateOCSP = DSSUtils.loadCertificateFromBase64EncodedString( "MIIEXjCCAkagAwIBAgILBAAAAAABWLd6HkYwDQYJKoZIhvcNAQELBQAwMzELMAkGA1UEBhMCQkUxEzARBgNVBAMTCkNpdGl6ZW4gQ0ExDzANBgNVBAUTBjIwMTYzMTAeFw0xNjEyMTAxMTAwMDBaFw0xODAxMjkxMTAwMDBaMC4xHzAdBgNVBAMTFkJlbGdpdW0gT0NTUCBSZXNwb25kZXIxCzAJBgNVBAYTAkJFMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAzD0B0c4gBx/wumeE2l/Wcz5FoMSUIuRNIySH2pJ3yfKR/u/FWCOzcrJvDMdmgzR33zGb4/fZel9YlI6xcN08Yd7GkP0/WtbHUhGUPERV76Vvyrk2K/EH/IG2gtxYB+7pkA/ZZycdyjc4IxHzBOiGofP9lDkPD05GSqI7MjVf6sNkZSnHcQSKwkaCGhAshJMjHzShEsSzOgX9kXceBFPTt6Hd2prVmnMTyAwURbQ6gFHbgfxB8JLMya95U6391nGQC66ScH1GhIwd9KSn+yBY0cazJ3nIrc8wd0yGYBgPK78jN3MvAsb1ydfs7kE+Wf95z9oRMiw62Glxh/ksLS/tTQIDAQABo3gwdjAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFBgKRBywCTroyvAErr7p657558Y9MBMGA1UdJQQMMAoGCCsGAQUFBwMJMB8GA1UdIwQYMBaAFM6Al2fQrdlOxJlqgCcikM0RNRCHMA8GCSsGAQUFBzABBQQCBQAwDQYJKoZIhvcNAQELBQADggIBAFuZrqcwt23UiiJdRst66MEBRyKbgPsQM81Uq4FVrAnV8z3l8DDUv+A29KzCPO0GnHSatqA7DNhhMzoBRC42PqCpuvrj8VEWHd43AuPOLaikE04a5tVh6DgW8b00s6Yyf/PuDHCsg2C2MqY71MUR9GcnI7ngR2SyWQGpbsf/wfjujNxEB0+SOwMDTgIAikaueHGZbYkwvlRpL6wm2ENvrE8OvKt7NlNsaWJ4KtQo0QS5Ku+Y2BDA3bX+g8eNLQkaXTycgL4X3MyE5pBOl1OW3KOjJdfyLF+Sii+JKjNf8ZQWk0xvkBEI+nhCzDXhtKAcrkTKlXE25MiUnYoRsXkXgrzYftxAMxvFOXJji/hnX5Fe/3SBAHaE+jU6yC5nk6Q9ERii8mL0nHouMlZWSiAuXtlZDFrzwtLD2ITBECe4X60BDQfb/caO2u3HcWoG1AOvGxfQB0cMmP2njCdDf8UOqryiyky4t7Jj3ghOvETjWlwMw5ObhZ8yj8p6qFAt7+EVJfpUc1gDAolS/hJoLzohbL5LnCAnUAWsFpvG3qW1ky+X0MePXi6q/boqj2tcC4IDdsYS6RHPBvzl5+yLDccrGx1s/7vQYTMNyX0dYZzuxFZxx0bttWfjqLz3hFHlAEVmLCyUkSz761CbaT9u/G4tPP4Q8ApFfSskPI57lbLWIcwP"); ExtendedKeyUsageCondition ekuc = new ExtendedKeyUsageCondition(Arrays.asList("1.2.3")); LOG.info(ekuc.toString()); assertFalse(ekuc.check(certificateOCSP)); ekuc = new ExtendedKeyUsageCondition(Arrays.asList("1.3.6.1.5.5.7.3.9")); LOG.info(ekuc.toString()); assertTrue(ekuc.check(certificateOCSP)); ekuc = new ExtendedKeyUsageCondition(Arrays.asList("1.3.6.1.5.5.7.3.9", "1.2.3")); LOG.info(ekuc.toString()); assertFalse(ekuc.check(certificateOCSP)); }
@Test public void testMultiComposites() { CompositeCondition condition = new CompositeCondition(MatchingCriteriaIndicator.all); condition.addChild(new CertSubjectDNAttributeCondition(Arrays.asList(BCStyle.C.toString()))); CompositeCondition subCondition = new CompositeCondition(MatchingCriteriaIndicator.all); subCondition.addChild(new ExtendedKeyUsageCondition(Arrays.asList("1.3.6.1.5.5.7.3.9"))); CompositeCondition subSubCondition = new CompositeCondition(MatchingCriteriaIndicator.none); subSubCondition.addChild(new ExtendedKeyUsageCondition(Arrays.asList("1.3.1"))); subCondition.addChild(subSubCondition); condition.addChild(subCondition); LOG.info(condition.toString()); assertTrue(condition.check(certificate)); } }