@Test
    void verifyExtractedAttributes() throws Throwable {
        val extractor = new DefaultX509AttributeExtractor();
        val attributes = extractor.extractPersonAttributes(getCertificate("classpath:/x509-san-upn-resolver.crt"));
        assertEquals(CollectionUtils.wrapList("1.2.840.113549.1.1.11"), attributes.get("sigAlgOid"));
        assertEquals(CollectionUtils.wrapList(
                "EMAILADDRESS=test@somecompany.com, CN=Test User, OU=Some Department, O=Some Company, ST=District of Columbia, C=US"),
                attributes.get("subjectDn"));
        assertEquals(CollectionUtils.wrapList(
                "1.2.840.113549.1.9.1=#16147465737440736f6d65636f6d70616e792e636f6d,CN=Test User,OU=Some Department,O=Some Company,ST=District of Columbia,C=US"),
                attributes.get("subjectX500Principal"));
        assertEquals(CollectionUtils.wrapList(
                "EMAILADDRESS=ca@somecompany.com, CN=Test CA, OU=Some Department, O=Some Company, L=Washington, ST=District of Columbia, C=US"),
                attributes.get("issuerDn"));
        assertEquals(CollectionUtils.wrapList(
                "1.2.840.113549.1.9.1=#1612636140736f6d65636f6d70616e792e636f6d,CN=Test CA,OU=Some Department,O=Some Company,L=Washington,ST=District of Columbia,C=US"),
                attributes.get("issuerX500Principal"));
        assertEquals(CollectionUtils.wrapList("test@somecompany.com"), attributes.get("x509Rfc822Email"));
        assertEquals(CollectionUtils.wrapList("test-user@some-company-domain"), attributes.get("x509subjectUPN"));
    }
Test cases for {@link DefaultX509AttributeExtractor}.
@author Hal Deadman
@since 6.4.0
support/cas-server-support-x509-core/src/test/java/org/apereo/cas/adaptors/x509/authentication/principal/DefaultX509AttributeExtractorTests.java