diff --git a/src/test/kotlin/provider/KeyAttestationCertPathValidatorTest.kt b/src/test/kotlin/provider/KeyAttestationCertPathValidatorTest.kt index 7b8bdba..6445ca6 100644 --- a/src/test/kotlin/provider/KeyAttestationCertPathValidatorTest.kt +++ b/src/test/kotlin/provider/KeyAttestationCertPathValidatorTest.kt @@ -260,6 +260,15 @@ class KeyAttestationCertPathValidatorTest { assertThat(exception.reason).isEqualTo(BasicReason.EXPIRED) } + @Test + fun p256Sha384Intermediate_succeeds() { + val certPath = readCertPath("p256_sha384_intermediate.pem") + val root = certPath.certificatesWithAnchor.last() + val params = + PKIXParameters(setOf(TrustAnchor(root, null))).apply { date = FakeCalendar.DEFAULT.today() } + certPathValidator.validate(certPath, params) + } + @Test fun forgedKeybox_throwsCertPathValidatorException() { val certPath = Chains.forgedKeybox diff --git a/testdata/p256_sha384_intermediate.pem b/testdata/p256_sha384_intermediate.pem new file mode 100644 index 0000000..df26045 --- /dev/null +++ b/testdata/p256_sha384_intermediate.pem @@ -0,0 +1,32 @@ +-----BEGIN CERTIFICATE----- +MIIBdzCCAR2gAwIBAgIBAjAKBggqhkjOPQQDAzAcMRowGAYDVQQDDBFUZXN0IElu +dGVybWVkaWF0ZTAeFw0yNDAxMDEwMDAwMDBaFw0zNDAxMDEwMDAwMDBaMBQxEjAQ +BgNVBAMMCVRlc3QgTGVhZjBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABBqQpJH6 +/KMGJcJyFrn1O5UFKfgFY0IpfJ6CFoijMxgd0wEkHfJxmr+raceuTykXXVVxdOpy +UoQmZiXBmtw1PNujWDBWMBQGCisGAQQB1nkCAREEBgQEBAIFADAdBgNVHQ4EFgQU +bIoAns4i7eKpY7/wWAY3dBcDKTcwHwYDVR0jBBgwFoAU2PaTsAJyUGeWGHR1//Xk +G5yCfJAwCgYIKoZIzj0EAwMDSAAwRQIhAKkafkMZhoVFTrOE7T8o5oRFV79FzO0/ +P7n8s6KuwiLXAiA5qUmDUXEiI94HddoysULan5oiq73YDh2pwKOxkRv5Qw== +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIBgjCCASigAwIBAgIBATAKBggqhkjOPQQDAzAUMRIwEAYDVQQDDAlUZXN0IFJv +b3QwHhcNMjQwMTAxMDAwMDAwWhcNMzQwMTAxMDAwMDAwWjAcMRowGAYDVQQDDBFU +ZXN0IEludGVybWVkaWF0ZTBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABFjV02Xx +9WHqlJLqliDXgGlIlLenTYGdpCZtDIc5k4ixDBLvQfbMrnjemjjeUssvfJvO8gkj +zO+esSPhHUSIf2ujYzBhMA8GA1UdEwEB/wQFMAMBAf8wDgYDVR0PAQH/BAQDAgEG +MB0GA1UdDgQWBBTY9pOwAnJQZ5YYdHX/9eQbnIJ8kDAfBgNVHSMEGDAWgBSMoD+h +inW5a/FoQO+IyTuL1BuCTDAKBggqhkjOPQQDAwNIADBFAiA7KrlpJpR3GAbeINO8 +pCN4ESFvs4DFGFAJacJdssl9kwIhAIDq2rk9DL1p/FV1mKWFNVyuZqt5HNxhJTiF +qpgCnAgv +-----END CERTIFICATE----- +-----BEGIN CERTIFICATE----- +MIIBfTCCASOgAwIBAgIUMvJabJaz5RJp0wnaNaOtJSEo/GIwCgYIKoZIzj0EAwMw +FDESMBAGA1UEAwwJVGVzdCBSb290MB4XDTI0MDEwMTAwMDAwMFoXDTM0MDEwMTAw +MDAwMFowFDESMBAGA1UEAwwJVGVzdCBSb290MFkwEwYHKoZIzj0CAQYIKoZIzj0D +AQcDQgAE2kjHtGifLOvcHsIo14W46o39Du/ObLitndTPoXyLsNKSmCyNuOXzMVGp +EpXW0fC5KsV+8NqMu0eI3Qm8rOdit6NTMFEwHQYDVR0OBBYEFIygP6GKdblr8WhA +74jJO4vUG4JMMB8GA1UdIwQYMBaAFIygP6GKdblr8WhA74jJO4vUG4JMMA8GA1Ud +EwEB/wQFMAMBAf8wCgYIKoZIzj0EAwMDSAAwRQIgYK7jkjOwDYdpCfSOLtGBYCsx +usE1jbE31QkzBWkXakUCIQCFni4F7fIU4FmfRS+9ct6GYUv2z4qCxLFSx07hOnWB +EA== +-----END CERTIFICATE-----