From 1092768cb74eb7e0cbd0b734e17e0d1cfd9a8032 Mon Sep 17 00:00:00 2001 From: Evgeny Margolis Date: Thu, 4 Aug 2022 01:37:34 -0700 Subject: [PATCH] Updated DAC Validation Procedure to Match the Spec. (#21531) - Removed use of IsCertificateValidAtCurrentTime() as spec doesn't require DAC certificate validity check at the current time. - Updated mbedTLS implementation of the ValidateCertificateChain() to ignore validity checks of the certificates in the validation chain. - Updated OpenSSL implementation of the ValidateCertificateChain() to use notBefore time of the DAC certificate as a current time. That way the chain validation function checks exactly that the PAA and PAI were valid at the time of DAC generation. - NOTE: Ideally it would be nice if mbedTLS and OpenSSL implementations of ValidateCertificateChain() function behaive similar. Unfortunately, I didn't find a way to adjust the mbedTLS current time during the chain validation. - Created new test vectors for PAA, PAI, and DAC (correct and with errors) to validate all various corner cases of the implementation. --- .../Chip-Test-DAC-FFF2-8003-0018-FB-Cert.der | Bin 436 -> 435 bytes .../Chip-Test-DAC-FFF2-8003-0018-FB-Cert.pem | 16 +- .../Chip-Test-DAC-FFF2-8003-0018-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8003-0018-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8003-0019-FB-Cert.der | Bin 435 -> 435 bytes .../Chip-Test-DAC-FFF2-8003-0019-FB-Cert.pem | 16 +- .../Chip-Test-DAC-FFF2-8003-0019-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8003-0019-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8003-001A-FB-Cert.der | Bin 435 -> 435 bytes .../Chip-Test-DAC-FFF2-8003-001A-FB-Cert.pem | 16 +- .../Chip-Test-DAC-FFF2-8003-001A-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8003-001A-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8003-001B-FB-Cert.der | Bin 435 -> 436 bytes .../Chip-Test-DAC-FFF2-8003-001B-FB-Cert.pem | 16 +- .../Chip-Test-DAC-FFF2-8003-001B-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8003-001B-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8004-001C-FB-Cert.der | Bin 445 -> 445 bytes .../Chip-Test-DAC-FFF2-8004-001C-FB-Cert.pem | 14 +- .../Chip-Test-DAC-FFF2-8004-001C-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8004-001C-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8004-001D-FB-Cert.der | Bin 446 -> 445 bytes .../Chip-Test-DAC-FFF2-8004-001D-FB-Cert.pem | 14 +- .../Chip-Test-DAC-FFF2-8004-001D-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8004-001D-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8004-001E-FB-Cert.der | Bin 445 -> 445 bytes .../Chip-Test-DAC-FFF2-8004-001E-FB-Cert.pem | 14 +- .../Chip-Test-DAC-FFF2-8004-001E-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8004-001E-FB-Key.pem | 6 +- .../Chip-Test-DAC-FFF2-8004-001F-FB-Cert.der | Bin 445 -> 444 bytes .../Chip-Test-DAC-FFF2-8004-001F-FB-Cert.pem | 14 +- .../Chip-Test-DAC-FFF2-8004-001F-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-DAC-FFF2-8004-001F-FB-Key.pem | 6 +- ...Test-DAC-FFF2-8004-0020-ValInPast-Cert.der | Bin 0 -> 443 bytes ...Test-DAC-FFF2-8004-0020-ValInPast-Cert.pem | 12 + ...-Test-DAC-FFF2-8004-0020-ValInPast-Key.der | Bin 0 -> 121 bytes ...-Test-DAC-FFF2-8004-0020-ValInPast-Key.pem | 5 + ...st-DAC-FFF2-8004-0021-ValInFuture-Cert.der | Bin 0 -> 444 bytes ...st-DAC-FFF2-8004-0021-ValInFuture-Cert.pem | 12 + ...est-DAC-FFF2-8004-0021-ValInFuture-Key.der | Bin 0 -> 121 bytes ...est-DAC-FFF2-8004-0021-ValInFuture-Key.pem | 5 + ...Test-DAC-FFF2-8005-0022-ValInPast-Cert.der | Bin 0 -> 468 bytes ...Test-DAC-FFF2-8005-0022-ValInPast-Cert.pem | 12 + ...-Test-DAC-FFF2-8005-0022-ValInPast-Key.der | Bin 0 -> 121 bytes ...-Test-DAC-FFF2-8005-0022-ValInPast-Key.pem | 5 + ...st-DAC-FFF2-8005-0023-ValInFuture-Cert.der | Bin 0 -> 469 bytes ...st-DAC-FFF2-8005-0023-ValInFuture-Cert.pem | 12 + ...est-DAC-FFF2-8005-0023-ValInFuture-Key.der | Bin 0 -> 121 bytes ...est-DAC-FFF2-8005-0023-ValInFuture-Key.pem | 5 + ...Test-DAC-FFF2-8006-0024-ValInPast-Cert.der | Bin 0 -> 469 bytes ...Test-DAC-FFF2-8006-0024-ValInPast-Cert.pem | 12 + ...-Test-DAC-FFF2-8006-0024-ValInPast-Key.der | Bin 0 -> 121 bytes ...-Test-DAC-FFF2-8006-0024-ValInPast-Key.pem | 5 + ...st-DAC-FFF2-8006-0025-ValInFuture-Cert.der | Bin 0 -> 469 bytes ...st-DAC-FFF2-8006-0025-ValInFuture-Cert.pem | 12 + ...est-DAC-FFF2-8006-0025-ValInFuture-Key.der | Bin 0 -> 121 bytes ...est-DAC-FFF2-8006-0025-ValInFuture-Key.pem | 5 + .../Chip-Test-PAA-FFF2-ValInFuture-Cert.der | Bin 0 -> 448 bytes .../Chip-Test-PAA-FFF2-ValInFuture-Cert.pem | 12 + .../Chip-Test-PAA-FFF2-ValInFuture-Key.der | Bin 0 -> 121 bytes .../Chip-Test-PAA-FFF2-ValInFuture-Key.pem | 5 + .../Chip-Test-PAA-FFF2-ValInPast-Cert.der | Bin 0 -> 447 bytes .../Chip-Test-PAA-FFF2-ValInPast-Cert.pem | 12 + .../Chip-Test-PAA-FFF2-ValInPast-Key.der | Bin 0 -> 121 bytes .../Chip-Test-PAA-FFF2-ValInPast-Key.pem | 5 + .../Chip-Test-PAI-FFF2-8004-FB-Cert.der | Bin 426 -> 426 bytes .../Chip-Test-PAI-FFF2-8004-FB-Cert.pem | 14 +- .../Chip-Test-PAI-FFF2-8004-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-PAI-FFF2-8004-FB-Key.pem | 6 +- ...ip-Test-PAI-FFF2-8005-ValInFuture-Cert.der | Bin 0 -> 447 bytes ...ip-Test-PAI-FFF2-8005-ValInFuture-Cert.pem | 12 + ...hip-Test-PAI-FFF2-8005-ValInFuture-Key.der | Bin 0 -> 121 bytes ...hip-Test-PAI-FFF2-8005-ValInFuture-Key.pem | 5 + ...Chip-Test-PAI-FFF2-8005-ValInPast-Cert.der | Bin 0 -> 448 bytes ...Chip-Test-PAI-FFF2-8005-ValInPast-Cert.pem | 12 + .../Chip-Test-PAI-FFF2-8005-ValInPast-Key.der | Bin 0 -> 121 bytes .../Chip-Test-PAI-FFF2-8005-ValInPast-Key.pem | 5 + ...ip-Test-PAI-FFF2-8006-ValInFuture-Cert.der | Bin 0 -> 470 bytes ...ip-Test-PAI-FFF2-8006-ValInFuture-Cert.pem | 12 + ...hip-Test-PAI-FFF2-8006-ValInFuture-Key.der | Bin 0 -> 121 bytes ...hip-Test-PAI-FFF2-8006-ValInFuture-Key.pem | 5 + ...Chip-Test-PAI-FFF2-8006-ValInPast-Cert.der | Bin 0 -> 470 bytes ...Chip-Test-PAI-FFF2-8006-ValInPast-Cert.pem | 12 + .../Chip-Test-PAI-FFF2-8006-ValInPast-Key.der | Bin 0 -> 121 bytes .../Chip-Test-PAI-FFF2-8006-ValInPast-Key.pem | 5 + .../Chip-Test-PAI-FFF2-NoPID-FB-Cert.der | Bin 416 -> 415 bytes .../Chip-Test-PAI-FFF2-NoPID-FB-Cert.pem | 14 +- .../Chip-Test-PAI-FFF2-NoPID-FB-Key.der | Bin 121 -> 121 bytes .../Chip-Test-PAI-FFF2-NoPID-FB-Key.pem | 6 +- .../test/gen-test-attestation-certs.sh | 89 ++ .../tests/CHIPAttCert_test_vectors.cpp | 1066 +++++++++++++---- .../tests/CHIPAttCert_test_vectors.h | 60 + src/crypto/CHIPCryptoPALOpenSSL.cpp | 21 + src/crypto/CHIPCryptoPALmbedTLS.cpp | 11 +- src/crypto/tests/CHIPCryptoPALTest.cpp | 104 +- src/lib/asn1/ASN1.h | 5 + src/lib/asn1/ASN1Time.cpp | 5 + src/tools/chip-cert/CertUtils.cpp | 4 +- 97 files changed, 1407 insertions(+), 370 deletions(-) create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Key.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Key.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Key.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Key.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Key.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Key.der create mode 100644 credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Key.der create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Key.der create mode 100644 credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Key.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Key.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Key.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Cert.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Cert.pem create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Key.der create mode 100644 credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Key.pem diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Cert.der index d8e0ddaa12f3476009e0612299d453926d3b9b05..6c367615f068a85cd1be37952f910b463e31eb65 100644 GIT binary patch delta 240 zcmV@~1_&yK zNX|V20SBQ(13~}@gGBk5vRV3wAVS literal 121 zcmV-<0EYiCcLD(c1R$F1_KyaZJ>6bIalO8Fg&%k3p9XF)4Z;^=ro`T1_&yK zNX|V20SBQ(13~}Vbs7jy bcg(S`t-c$2Hk0rEG{0Mo(MCCM=6whKOpY~u diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Key.pem index c7fda4acda6ccb..f1f9cf80542e49 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIJrs9o8Glj3dXkPjoo/K6rFvpjA8tbYLNIBP07yuueg0oAoGCCqGSM49 -AwEHoUQDQgAEU+6o+gMaar2wMp9NV2N5qDjDvTZAt5tqNXXH0y+Acqo6LEoZdRoI -T3fMsa+tvht6NpPv/jS/W43RRjlv5n0H/Q== +MHcCAQEEILdQJ1wwWujHv/igx0YkG9qY3vUhb8+6YSZ4OrOuy0FooAoGCCqGSM49 +AwEHoUQDQgAEup+vPXf1k13oaf0fwyAoyA0k55hqDEmQiM4fKBcwg5DwHZd5vQOy +9+iVSobnKCmixMyXCFW4jF3sMRPZj1UENg== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.der index 04970610ca039b146ac78158d1b571782c1973d5..829645ca294caf59d0faf55bffc544edb197c51d 100644 GIT binary patch delta 240 zcmVqd0w8npI@LGVq5Lizffr4M6Gu>uZk!DAv}WvxSwDtG{pGi&uwTXi delta 240 zcmV7ot<<0-=VlV8oes4vLOJjl`@iF#wj<4 q3Qgdu0w4p`)f`0aP(Q}()NU^E#(`Oz4 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.pem index f1f41a714e129d..8f332aef620be6 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.pem @@ -1,12 +1,12 @@ -----BEGIN CERTIFICATE----- -MIIBrzCCAVWgAwIBAgIIXbqoPGVmY5owCgYIKoZIzj0EAwIwJDEiMCAGA1UEAwwZ +MIIBrzCCAVWgAwIBAgIIPYyLgsiPRiIwCgYIKoZIzj0EAwIwJDEiMCAGA1UEAwwZ TWF0dGVyIFRlc3QgUEFJIE12aWQ6RkZGMjAgFw0yMTA2MjgxNDIzNDNaGA85OTk5 MTIzMTIzNTk1OVowMzExMC8GA1UEAwwoTWF0dGVyIFRlc3QgREFDIDAwMTkgTXZp -ZDpGRkYyIE1waWQ6ODAwMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABD4IxF68 -hibRTRCp/1eQTsCChYAb5jvYr0sFNbz0vnps0c5n+qTAzqYhUlGEB23qH/Hnxlva -VYs0gKiwoT9dSfmjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G -A1UdDgQWBBQcgat5YdFIqCo/oljpkKE9Oxu71jAfBgNVHSMEGDAWgBSjW/AA0ned -0o2RindE3lt/EeRNJzAKBggqhkjOPQQDAgNIADBFAiEAiq8ycetmaUTfobg6Gr0q -rLIhAK6VMpJfxik3hwpN4KoCIAPV1RxE7VA/xuzUbi7x5ROOqccSqfnKfQDu5GlV -ucER +ZDpGRkYyIE1waWQ6ODAwMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABHQ/h7nn +rJjDIAFUctf1BOZj2nvodhRUjKbxJSNiUb/ir7JBAWl8FLIZsoXCgvSrPnR8U1ka +s3zoht2GRfsJEimjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G +A1UdDgQWBBRMT3O1F37ttIYmgNaUCIo1GkUsBTAfBgNVHSMEGDAWgBQZ+pR0kyna +dA9VajM/tRNz1wgXVjAKBggqhkjOPQQDAgNIADBFAiEAgBJzqo+fT79tf7bHCwdT +nAe8EhvimAJWc7sLUFjopeoCIHPyOtU316H8LhuBF02FE0dQjW6c8rRm7IhZP4ZG +/eW3 -----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.der index 29b487142c82b9e90f0ed4fa2613e0379d777dc3..1bed27b9ef92901ee893f50450ecbe76de8fd716 100644 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R&KgE9o8)5gi421RJbo7a_%~QEkgX7@wn1qYJ`s6S<%Y1_&yK zNX|V20SBQ(13~}P@b`(^Mrtu{sVo|^1ud+b_X?zs2 b8M1}Kg7m9CbbM1;8nb-phTVom`w0>$H6So# literal 121 zcmV-<0EYiCcLD(c1Rx79qRKKil^4mGFC(gJ@;z0CQsVWz#4D5&j~CIOlh~jN1_&yK zNX|V20SBQ(13~}Fy diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.pem index 363e1239e3a8c4..a865ee9d823e28 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIAsvosoyN5UXyZkvI6pr8j1VhlLi9bzEK5QTjxfRn5PYoAoGCCqGSM49 -AwEHoUQDQgAEPgjEXryGJtFNEKn/V5BOwIKFgBvmO9ivSwU1vPS+emzRzmf6pMDO -piFSUYQHbeof8efGW9pVizSAqLChP11J+Q== +MHcCAQEEINUwK+keEREdBXkEG6xmFyHFq1Fty0EYn6NQowvCbxO5oAoGCCqGSM49 +AwEHoUQDQgAEdD+HueesmMMgAVRy1/UE5mPae+h2FFSMpvElI2JRv+KvskEBaXwU +shmyhcKC9Ks+dHxTWRqzfOiG3YZF+wkSKQ== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.der index f5fb338018467b599a0d6a0e5e7e390a2f1f4471..2ebee97afebfdea4fe70197353d8e823bd12d894 100644 GIT binary patch delta 240 zcmVeV;9_!Plz&h168W~7FbXVc#XhKMq?{Gv7G>oy+g1vPQB84? z`z?P}v-}n*ZCaiB<+GM(ax^M1fkc@w9|i+e9U}x7FcyFm8TyoTlPTJC4^?V2KeZEc z*9aF@FbW0;DuzhTJp=;+14sZcMFJpKs4sM%#V{~*Tq6SR-GQ?zcoIoh4pL#j=iXiS qok`vTApr8G;Kv%vrSk{7cTu2^=D(^~5t|I1Cke(RZS6vX! z8BTozREz0otv3bl2Iyo*>0V5@$?}gdf^d|}F>pC=*HuMV+K3okOdi^lFU=zf_^rf| z`z?P8y3)S6S?Z$33)N@R(z}bM!>AQ79|i+e9U}x7FcyFmqg(I*(s!NGjgg9XMBZC} z5#&uLFbW0;DuzhTJp=;+14sZcMFJo;Wp~RWb|q8ea2s^ciOAz-Pbp_5J^9mZOnR&O qe?CkCApq`MUY(Xh5_4{%|M|+^j;4=Qy+I6>nU})zD00R>N_K)HjAiNo diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.pem index b51573eb45085d..cb803d9bb12548 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.pem @@ -1,12 +1,12 @@ -----BEGIN CERTIFICATE----- -MIIBrzCCAVWgAwIBAgIIJIC4D0PPTYYwCgYIKoZIzj0EAwIwJDEiMCAGA1UEAwwZ +MIIBrzCCAVWgAwIBAgIIDd5zFLNu5CowCgYIKoZIzj0EAwIwJDEiMCAGA1UEAwwZ TWF0dGVyIFRlc3QgUEFJIE12aWQ6RkZGMjAgFw0yMTA2MjgxNDIzNDNaGA85OTk5 MTIzMTIzNTk1OVowMzExMC8GA1UEAwwoTWF0dGVyIFRlc3QgREFDIDAwMUEgTXZp -ZDpGRkYyIE1waWQ6ODAwMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDEn9w4w -qZlUfemZbU0ZTn0DVIvpaK03Be8G6GRH6V5MuMnyjzCCcJTLMXA5b9dVRVfaiBhd -TB7alC/NIwn4rcSjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G -A1UdDgQWBBQKutK+uVnqosYL1WfS0ruLpsOoFTAfBgNVHSMEGDAWgBSjW/AA0ned -0o2RindE3lt/EeRNJzAKBggqhkjOPQQDAgNIADBFAiA2ZXfLInYlU+NwG3TQicjj -Zk8pZyU9+dNtTHqr+n8+TAIhAO5bXp2WQxJzbqL/+crejqaPVb1BlZmXwvMocsY/ -SnaC +ZDpGRkYyIE1waWQ6ODAwMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABDe04D1F +lSL6L6d2FznLLtvBFIVQG0DbsIJvYk5U4GJyY5R/T/IS+baZMAosasU+qGmknBXi +FmXlMNtWCodRTXGjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G +A1UdDgQWBBRVs/wWKW1anfrls5ZocjQqMIFEmTAfBgNVHSMEGDAWgBQZ+pR0kyna +dA9VajM/tRNz1wgXVjAKBggqhkjOPQQDAgNIADBFAiBXqC90n8UwMHRcIwLu3YGz +KngSSVcOUmHA595d951J3gIhAPKm4Mcay6XzB7t3UaCP5r+qWBGbnScJxiRt9Jvp +a2KJ -----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.der index 5a1e01c21af8ae4841f806605be14689cdc3a2c5..48bb5fc9a884864f455d1de9a32a043d8e7cbfe5 100644 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1Rxrea2{}9vx5~{PTz#BXTP75NOlbU)% literal 121 zcmV-<0EYiCcLD(c1R$wz)Xs7{`glPqFmqDf!}8_g<@#B*+ZJw&sM9%XLUy1E1_&yK zNX|V20SBQ(13~}y9FsYeTed(EPO&Lyo15}IYXstH|?*`~(N9kTnxXJR5FoJND b%Q0{{Z`V~tSK5deT}&R@lrPOA3HYtVK~*%+ diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.pem index 700ba6552faff4..dfc6c6b7f31d13 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIKlv1M5yO/p4QSowc1Ldw/Ll4uX6WbXbFm6MqNM5a0J2oAoGCCqGSM49 -AwEHoUQDQgAEMSf3DjCpmVR96ZltTRlOfQNUi+lorTcF7wboZEfpXky4yfKPMIJw -lMsxcDlv11VFV9qIGF1MHtqUL80jCfitxA== +MHcCAQEEIBqUcB5wX7ODFVpO34StZ7+fk0h2DShGutx1xPhjXMsLoAoGCCqGSM49 +AwEHoUQDQgAEN7TgPUWVIvovp3YXOcsu28EUhVAbQNuwgm9iTlTgYnJjlH9P8hL5 +tpkwCixqxT6oaaScFeIWZeUw21YKh1FNcQ== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.der index 82be84f34b4f4a26f00d6e9663add81ace822d65..e4f215cf47a8a15e0940fb4e06273960b83fa3d2 100644 GIT binary patch delta 241 zcmVL*ExRVQ zSnk^_{(j4RVP&N*DufumF3Nr=A8k}8ROZ6^2W;uVd-+Y_4l3$TiS2OWZiNp?skMHQ z`z?PF@ec_Ic(u4GGDXfO=ZsxGmoM2c9|i+e9U}x7FcyFm8TyoTlPTJC4^?V2KeZEc z*9aF@FbW0;DuzhTJp=;+14#fdMgk!Kzjt@%Y#2`4vIBAG^K$Ib+@FCeMAF+sXo(*i rS*xUb0wDm-NP@jmk_$Nm%S}Fn_jt<{(ohX_$gP+xUeBq-t3bPh;!tEp delta 240 zcmVTBba%!}UHV!j@ZSDZ5{)|`*wML qwNCm1Apot79_VyL@k9s@DpY|zSe&ozd`=AdXhiapt;r^LNqZYjK4Y!` diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.pem index 31dcf525905c04..335ab55fd462cf 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.pem @@ -1,12 +1,12 @@ -----BEGIN CERTIFICATE----- -MIIBrzCCAVWgAwIBAgIIDk6/jHMqYm8wCgYIKoZIzj0EAwIwJDEiMCAGA1UEAwwZ +MIIBsDCCAVWgAwIBAgIIOFJ0cZb6avEwCgYIKoZIzj0EAwIwJDEiMCAGA1UEAwwZ TWF0dGVyIFRlc3QgUEFJIE12aWQ6RkZGMjAgFw0yMTA2MjgxNDIzNDNaGA85OTk5 MTIzMTIzNTk1OVowMzExMC8GA1UEAwwoTWF0dGVyIFRlc3QgREFDIDAwMUIgTXZp -ZDpGRkYyIE1waWQ6ODAwMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABGWEEU6Y -L1hefOGO3sbmPxl0BFpg5lcu/X9i+VDEAiuj5zfuYYS373bxDzQYdHJqtIw2DjOA -be4A7DRA0EcmjoGjYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G -A1UdDgQWBBRmXpeaBbu/5K4pOtHIbMpZYRmKFjAfBgNVHSMEGDAWgBSjW/AA0ned -0o2RindE3lt/EeRNJzAKBggqhkjOPQQDAgNIADBFAiBwb6Aygr66cTayZiQsZdfZ -C9DT6d/pkr9r+3Z5frVO+gIhAK2NHuh0RPFECA8qVIE9WJyv7XxO+mhE8pOtySZ3 -SXsb +ZDpGRkYyIE1waWQ6ODAwMzBZMBMGByqGSM49AgEGCCqGSM49AwEHA0IABMeO5XDD +LIsxsS27JrVY7tss/n7LfGFlpS4qhBi+Lsp+KB9tVCdU5sL6B2zpwXv5TeEOKupP +ie1w4m6FD0mptX6jYDBeMAwGA1UdEwEB/wQCMAAwDgYDVR0PAQH/BAQDAgeAMB0G +A1UdDgQWBBQR8Q8JCHi1uCkyRc4n54xdPpcv2TAfBgNVHSMEGDAWgBQZ+pR0kyna +dA9VajM/tRNz1wgXVjAKBggqhkjOPQQDAgNJADBGAiEAv3d352wYTtuyA3Ho83Ls +0dyfgSpE0ttDaIkfG1mrpHsCIQDOSIK9UpILOQTLTT6E93jLFdJQdMitmCxez6nE +q0C7gw== -----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.der index c73df5cd82ed828718d21f8f9dbbecf617b08fd2..8447c32c32ff153a5b1fb997dea3ce385413dcae 100644 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R%Nbe)RvqCa;$EwmX(RQkUVxB;(D`E*s%F$11>Rh#H^@1_&yK zNX|V20SBQ(13~}<$ByN2!z_z2u`RnMwOH=kEdGAWd|_p!E-Hi=zAnmsC?9Q9CsgLb b`Uh<3!F%~l;SMV5Pl@et;%@+~oM<$MeDH}9D diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.pem index be7a60b2db9f5d..85ca2135aec431 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIG/j4QjE8hk2b46HqX5eiqU61L2KnrhdPe6/lOdByJoioAoGCCqGSM49 -AwEHoUQDQgAEZYQRTpgvWF584Y7exuY/GXQEWmDmVy79f2L5UMQCK6PnN+5hhLfv -dvEPNBh0cmq0jDYOM4Bt7gDsNEDQRyaOgQ== +MHcCAQEEILnxfvT/wCavlva2O5Y9UpfhxCTjzc8uG+E5xyrAaIgaoAoGCCqGSM49 +AwEHoUQDQgAEx47lcMMsizGxLbsmtVju2yz+fst8YWWlLiqEGL4uyn4oH21UJ1Tm +wvoHbOnBe/lN4Q4q6k+J7XDiboUPSam1fg== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Cert.der index 4beed9afe35168452d5f4402a684c7a8ceec8831..1342f6206cd00fe2e9d9fc44893f5103457525f4 100644 GIT binary patch delta 241 zcmVxjX;_{lYSNv5o+zw$>N%EkxF9>3k)*b+C}yoCUb6mmVjZ2 delta 241 zcmV1T1}o!8e1E7p_3k)Nam8q z6X$8JJFlR!4hQroSnAnJVdtVsQ);2T`yB*rz&EJ3YBbN7)895InccEIC-R6Rc9M*f z1pzI8p#^u!9sG{7_YB$f)YxQHrnN7Hmh|IxWHuDOI-`gZ>azh>wusN1_&yK zNX|V20SBQ(13~}<*#HjYW6d^%aRy91DEu@PXpOHfTEyhoDA?4p5!mL_S-DwcN7`3_ buwu2tr2x$Q3*86)R1E>Sh7 literal 121 zcmV-<0EYiCcLD(c1R&qH=t9q-*WNE7F2t~;-wvJMCIC|K&*OJV1tN>gf~z55*m bZNN9Ew`w%cnA6`jD4E@|Jty*rBX*LEB1$u5 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Key.pem index baa4a3dcfd7be0..22c19347b85155 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIN+36O+qvjdrZh8dTemLFBsCWJB5BxChk3dSIGsgtkZuoAoGCCqGSM49 -AwEHoUQDQgAE0tRuzkukencd7901SBPnaa47r6CyDgf0KFjq2Uth56JKU2qhvfsd -BG3AN6i3ajTPmNPfNiiZ3bI9J/KII3aSjA== +MHcCAQEEIPTY0LJQhaSNlqY22uVlNqt1ELjAZNlLXQvLb6kAEuuAoAoGCCqGSM49 +AwEHoUQDQgAE2QAO5GPNNoRxBkw9KPw0FWiNry5axOTYKNjUshHY5tNZuVlkR9pX +gLBitcOlAMz85UMjeekvzCyJJ03xGSPnMg== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.der index 5ca6f349390b13b82747f30f807c5ba90a8481c6..b9faf45cc1b341a45b01bb351671184f5eb64059 100644 GIT binary patch delta 241 zcmV)9N_@ zW;6xa1zaNEvQ7}rqKs={jst#`J{fcrq9bN`ca~ga%a8&X<<%P!pBY9@$2R$`YI#dd{z!Z4uhB<-@AqnIE0>FX5Z1c0(D{`=;*ySsFg9y%( z1pzI8mC)G9@s#44!i;tw$1*!!sDi0DFdqg3RUIP)7%&!q6hW8`Ocx7@&~amfZC=Bu z0J%8hhcF5T2r7n1&OHPJ0s~0^Fh&9)0Myu|IUJF$oymV>`Ruf$$7EQv-bP9>;Y&Gu s>Atc3Asn*aa+ diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.pem index d4c0dcda3f830f..a8133808a4d0cb 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.pem @@ -1,12 +1,12 @@ -----BEGIN CERTIFICATE----- -MIIBujCCAV+gAwIBAgIIR4wY4yP20TkwCgYIKoZIzj0EAwIwLjEsMCoGA1UEAwwj +MIIBuTCCAV+gAwIBAgIIQq/PqRG3b6UwCgYIKoZIzj0EAwIwLjEsMCoGA1UEAwwj TWF0dGVyIFRlc3QgUEFJIE12aWQ6RkZGMiBNcGlkOjgwMDQwIBcNMjEwNjI4MTQy MzQzWhgPOTk5OTEyMzEyMzU5NTlaMDMxMTAvBgNVBAMMKE1hdHRlciBUZXN0IERB QyAwMDFEIE12aWQ6RkZGMiBNcGlkOjgwMDQwWTATBgcqhkjOPQIBBggqhkjOPQMB -BwNCAAS5ycwSzdZnkdVS5MNWIqZoACGXrSONjDmXBz01UzpUCrjAFHjqhjmCCyEJ -4/8CwIHAbPOz2StysKTY5St6gwjOo2AwXjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB -/wQEAwIHgDAdBgNVHQ4EFgQUldDYyfGU4prCjHYfxzI7XqiCqTgwHwYDVR0jBBgw -FoAUQZgNTBcLidBxY4NtXsOoALk444cwCgYIKoZIzj0EAwIDSQAwRgIhANTYpDkc -ka6dyX9k+ey0pMdkWLTeRkox4Us5fOwKvZkcAiEAgP557EHTTbT87aDxea4evGNr -Yb70T3Fi/oi1PJwNzqw= +BwNCAATTSixZosbsXDvT6jkAZjQF2QVcIt+yThDOooxrYY4DfpU+GXQUoiNmeXeW +XGTLkAIY5dUbEp8ZRk7kly8k+ofSo2AwXjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB +/wQEAwIHgDAdBgNVHQ4EFgQUIflHUzdhpdk+v4g0nKgf/3cLIbMwHwYDVR0jBBgw +FoAUFW7NjBS+gLQQruQCo/IzF+c0BnQwCgYIKoZIzj0EAwIDSAAwRQIhAOozIkhe +g5+JOIg8YQRrAQN+z5KWn5tTjVc3q4q2ZUl0AiBSK9N3obG4tSbEj8Frxm0gFKVB +BrGDHIsj0LF7ks+4rg== -----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.der index 00bd888f754d3ddc7337025748813ec3030e6435..238a4247437278ef9a2a10ae6de6ca3c2edea374 100644 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R(1IerIg3Y^m_J?kZdRoQ$xV#Yc155kS!%MJht7rVOA81_&yK zNX|V20SBQ(13~}<(@HE^qQ>l8JJaep0A@4=*#%r8-?B~+&Z3NKVU7cSl|C7C6rv+$ bd3TmvWXq5O80FO)5}z4HPUM#_B>IQaX3Q|; literal 121 zcmV-<0EYiCcLD(c1R&@G33rYZam__m%r9N}Q11Mf>RmHXpV2(uV`Rj b3n2;P{{p~)z-;rg*(-9eq}b&vdV>hg^>;M! diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.pem index 1d6bf7ae69cdc2..01aa6285f7229a 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIOgDCXeOFHHNRVbML135UO78l+pdM1Cf0Tzf5HDYt3F4oAoGCCqGSM49 -AwEHoUQDQgAEucnMEs3WZ5HVUuTDViKmaAAhl60jjYw5lwc9NVM6VAq4wBR46oY5 -ggshCeP/AsCBwGzzs9krcrCk2OUreoMIzg== +MHcCAQEEIOsCfmdssGyp8LbuKlv7nIywmsVHc9kRQNEeRSpCqqYMoAoGCCqGSM49 +AwEHoUQDQgAE00osWaLG7Fw70+o5AGY0BdkFXCLfsk4QzqKMa2GOA36VPhl0FKIj +Znl3llxky5ACGOXVGxKfGUZO5JcvJPqH0g== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Cert.der index 826e3c24c533a26b0b43507eb46fe8749d732bc6..11a9b84eb13a56c246ebe67a39f11769304f23a7 100644 GIT binary patch delta 241 zcmVi7p_2Vm<uz57qf=D;q0V3NW1^gC9j4xwV07lY>A#og!RbULeC(fpEmowFL=z>Tq3gaOc# z1pzI8_>x+)V1_7^KRw%s@#E+p?={CrFdqg3RUIP)7%&!q6cujGj1<0rv=FZ30;BRX z7w0qvbTA4A2r7n1&OHPJ0s}|@Fhv3&8(-b6T}u>P&2CZipP&@jgQcVJ3)eYE7Of%H rS9%DO0wDmLZ{V6(ZX53}@ delta 241 zcmVW3z!xaZhpN!9NTDCo%I=5Fdqg3RUIP)7%&!q6hW8`Ocx7@&~amfZC=Bu z0J%8hhcF5T2r7n1&OHPJ0s}|@Fhv3&CEK`cww)g0tOU$pAjPrPW-|(d0h$|CTdVCE rl@=^90wDmS&&z?-zS6|RR!Te_)cq_VhberVgQEm=}ZQ b-NoJKwYBCaY}9J&6l%ci_n+K~^>y diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Key.pem index 2ef97d59d3f1ff..d96bb5ec9a142c 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIJNHv2rJFEpOqbpgE7So/JIE+b2g4w3ky3+OkojKJUbboAoGCCqGSM49 -AwEHoUQDQgAEexZF5/W3QR/MComFYSPojpNMLIzJ1GIasM2viGBs3rwPcTz2ou4J -3MDLHmQg80RdIeJumCarbMo9iQtvd+DJJA== +MHcCAQEEIK+68DHpTJt1aUtSDjcaQeS38NODkBCh5yZyNOIHIkgvoAoGCCqGSM49 +AwEHoUQDQgAEbpgNCCZrk3xGQWDhKyWye4+9+0/K5sAuf2CSwfb0O1amDqFimBeD +5t3F3efkdDqrXNH8knmdsxrewI2xWIQB0A== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Cert.der index 0767a015ebcfb8d600f9d0261306e339f69a5792..cdad888b2d181892e9f96c9537575f991ed89f8e 100644 GIT binary patch delta 240 zcmV<-%>ef2k&NER9p5BAvte*v}2733UW@#b- delta 241 zcmVI~Gi4o!9-MFoj z1pzI80sHjDaa#d1l~0g<2W3;t&U9~UFdqg3RUIP)7%&!q6hW8`Ocx7@&~amfZC=Bu z0J%8hhcF5T2r7n1&OHPJ0s}|@Fhv3&A)tI%*qrQgdQt1jcDxIb=Jr70fLJ|4%GgOK rYRBOV0wDmPN7z^yieHJHY9iTEde<8xQ_SqWv-5a0^1_&yK zNX|V20SBQ(13~}41W>T1o@Cn(!0t9x=MHwe#bMk|a~DDlG^5 bJ9r?)O0U}bwFf_^ksmpPhK?)eaENfT*_SeL literal 121 zcmV-<0EYiCcLD(c1R%PJ?^a|kTol9K8O}4mzbEWY4lCZ%Uu|qNlAgs|#p|F71_&yK zNX|V20SBQ(13~}<@e1Zy(suZ46~cQ>{Hu2aJ0Vs733TX4kXn42j5;aE)z}n~{-qvA b`a>=(@V+&JE*5JJ8NF}-;fWF9;oZ2c;zTsk diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Key.pem index 9a9758a98a2622..1ae2f1b0badd0b 100644 --- a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEILqJ71ZkLlwUw98ZzjO/vyfsTg4r3tNfbWwzkp7FW8XroAoGCCqGSM49 -AwEHoUQDQgAE8QrmWdJ2+GwVwntN/Kt3BDshVf8JdOhIkFp8mow6KcjV2BSR/qUe -R/pDLizwvjWDLhZrDhm9cADhiRHh4d24rQ== +MHcCAQEEIC4ptwBbRk46PdiLWurPfRYnZx2gMjd/IcK29tka+N0boAoGCCqGSM49 +AwEHoUQDQgAEIIcwez5jZeuZWraG6YCCs1pKA7ma8BPtHjG6sbXz44iSJFOtKi0H ++zt4IMVKr9r6tQc/p5EfOYSGjivncIhwsw== -----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Cert.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Cert.der new file mode 100644 index 0000000000000000000000000000000000000000..519e2208f634363dcde76f7d95bc4d4cc06b7e08 GIT binary patch literal 443 zcmXqLV%%=f#2CAPnTe5!i6d^8hBmX*&FKbQY#dr`9_MUXn3)Xp40Q~&*qB3En0b_a z6H7``ixfgqi%S#&96c3$%Q91}+}zxZ6nqPSEDHkz69YMMUL!*TGb0N_6C-02<0v54 z2+lQ%GB7qYG|-2br-5vqi=(rGfq{_$Rzo8VgxT1^PGVw&x{aBUo!Nb`Q@tTM?!9we>IB4HrbAR?M~wnt=N!xn*cPnZ^eG8TVs!d8MDn#>*y z2Chts49ox4guHN^zjNZGptxQCyld^Q?k{2$zGD47Fzt5jj-Cp>Wtk~fZfq@$V3S#k%h3JM)&cFYDg>bshY9WAgmEv zrANA}7IL4>?B3n#s}WPXIKd#!fCuOvSz$)T|13-f3ZE=&rBfgi2BBiFo~dNs>*_EOFGE9&QK(sWgwe!3P)a|v#WV^YwLwv&F7 gdXJxl+u_>R1&c*)$S$m!Td)7wf9f1TQ~tAR07ZO=Qvd(} literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Cert.pem new file mode 100644 index 00000000000000..c3ce5ab42bfa9e --- /dev/null +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBuDCCAV+gAwIBAgIIL2+OMx/9kVUwCgYIKoZIzj0EAwIwLjEsMCoGA1UEAwwj +TWF0dGVyIFRlc3QgUEFJIE12aWQ6RkZGMiBNcGlkOjgwMDQwIBcNMzEwNjI4MTQy +MzQzWhgPOTk5OTEyMzEyMzU5NTlaMDMxMTAvBgNVBAMMKE1hdHRlciBUZXN0IERB +QyAwMDIxIE12aWQ6RkZGMiBNcGlkOjgwMDQwWTATBgcqhkjOPQIBBggqhkjOPQMB +BwNCAAQRHr2Ctqa02cGQwHGYB230EQpOD7gX6gWuxe43hK3pfu9OisH52JOffmPZ +eQAZ/6ZGZ1lHJXELzWmLu4VNKFx9o2AwXjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB +/wQEAwIHgDAdBgNVHQ4EFgQUxhJQRkw3u9GOOrAdSGC2pMCKuQAwHwYDVR0jBBgw +FoAUFW7NjBS+gLQQruQCo/IzF+c0BnQwCgYIKoZIzj0EAwIDRwAwRAIgMVHxOktZ +rOmV1Wo1m6UpX9Qnz3xmLSVC+UVxGwoRsl4CICtbPhvsZd4PBAtA1vWgoxTYHaF6 +nX8v80+VnBE1D80m +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..518384e8700bfbd1613ff8c24f286c545b9557fe GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R&He{Kyi6<+hnCGa*9b`ZI#cG(n--1HItaSvsGoW8a_(1_&yK zNX|V20SBQ(13~}<5gxsQwx+b%!H~dlmJkHs&Ff$pr8A=$4u`!3TF!S*H zCYF?>7Ab_J7MCalIC>h27znX(X|pl1Fg7i!VPfQAadUGsLK9`;VX-hUFg1`9=QT1k zFf+0+G%+$ZF^&Rqjo@6PC<9|dLj!$?JsQaNxHvj17#J8CDfpIUrdWY2Q1C4PvcQH$ z8VIwogPqF62z4_vBRjJb1B=^tpMcHl=YDVddALKrJ$^U;MOnFfN&PFzi{~BZnpk^C z`Ne(jThEzeG%p#%E?qF~XOno>NM#ldvOa=@F zd>|e_hzAT8_67r45TB1lj73B?qAZ)A`}Uqzrj%QezI&PtKI!)u$b+PnS%9I}Afl0P zRJl*MJWnoT_vf(q{X(}_F7QMSWoAzX12-l`hM&qOzFd3n89P_Y(CJ*AE9X9L<<8Id z6C>TPW=c$IW{(0YnY8h_2E*r$yc)MZE6h1=KFKfIy<)jId)bGRfA_oSsuckM5@L=b literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Cert.pem new file mode 100644 index 00000000000000..4c058c31d0e7e5 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIB0DCCAXWgAwIBAgIIFNEnEMzzd/QwCgYIKoZIzj0EAwIwRjEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFJMRQwEgYKKwYBBAGConwCAQwERkZGMjEUMBIGCisGAQQB +gqJ8AgIMBDgwMDUwHhcNMjEwNjI4MTQyMzQzWhcNMjIwNjI4MTQyMzQyWjAzMTEw +LwYDVQQDDChNYXR0ZXIgVGVzdCBEQUMgMDAyMiBNdmlkOkZGRjIgTXBpZDo4MDA1 +MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAERvdMULOvnfeG+cOIL4dfuw/RHR7e +Yo+od3OexwqRfcIj6N9L2ucDXCnSMF2loJb5gheKk5kxozP3pwWSTDooSaNgMF4w +DAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0OBBYEFB1YdmsPC9u8 +hQJk2llNvIMw8i+MMB8GA1UdIwQYMBaAFChvMnm+E3duHmi781ZfvxLbqaBJMAoG +CCqGSM49BAMCA0kAMEYCIQD5I8j01u9JXZ0qMULOfkUJvgsjifPfYVlH1WkYkoMH +WgIhAJKx5ygA84hufEb8qDcI2eRvcruopxcHdvDJ/b9ELSZy +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..48bcd206133f1e3dd93132da1d297c7ec8c1c7b4 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1Rxkz&vUjSXZqsbG|9YF1}<&)7v@P7UK*n@0=?oWu|}W@1_&yK zNX|V20SBQ(13~}j-G}h210CH+H8z0j7^Jbm>79j+}zxZ&_tPdSS$<-Obryod5sMX z%#17yO^l39jH4v@ErGz$$QX!BEln+>42%s84fG*4X&~F=;^?ekU|?jd;9HiNVg<57 z!M6a&0vj7?Ak4-Nb}SPk)YZ(4?95IKEVn8r8UH--H!D>8R~7HX=X{5pV~t)McPK3^ zH;T8}eRXdR6MKrAc+bnoDZ)RN_Oz`3we$7$zXsh!2T!~`bYo`bi^T~BaRxj<_s9w} zGX7^_GGH*^1M&DlJYdMMHyFr*_&deSR2Chts412;mt(HzJw|#Z*a)rhJ zGGVp+rQX+slD6@jF-hClXOY9C5P0RmoUdDy*)xmv!!oCRdM)|)wNT+yz2FIJ7TctR H%B%wb)XR}E literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Cert.pem new file mode 100644 index 00000000000000..ad508202e805a8 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIB0TCCAXegAwIBAgIIPyT2YBwFtGowCgYIKoZIzj0EAwIwRjEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFJMRQwEgYKKwYBBAGConwCAQwERkZGMjEUMBIGCisGAQQB +gqJ8AgIMBDgwMDUwIBcNMzEwNjI4MTQyMzQzWhgPOTk5OTEyMzEyMzU5NTlaMDMx +MTAvBgNVBAMMKE1hdHRlciBUZXN0IERBQyAwMDIzIE12aWQ6RkZGMiBNcGlkOjgw +MDUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAATaeZIz+cj9alUr+noNkecOwkNd +MujHQHVxdzJfPLvVvWwCB2RGF4zpWZQT+KWMhK/6uevX/TCLcsHI7cLYmWnoo2Aw +XjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUJ2ZBbChD +c66dIiuS3qiTWm++vgMwHwYDVR0jBBgwFoAUvxZ2kFJXJv6TXPXAnni9CWW2H9Yw +CgYIKoZIzj0EAwIDSAAwRQIhALxXiTqllnc96t7TeDj/dhMmb6VL1hJitgzMNGax +jjhsAiBR1OCc9bQjB2lzL1ZplvLrGf3rEnGVLlOQrKM8ZFUcrg== +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..605305a6c45ce8a1c457cf8f7390361ddaf9bbff GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R!JHAT*X(#l^S&6OB1(5jR(HD_k3oxpVVA74xYJ(l?+A1_&yK zNX|V20SBQ(13~}<+If;Q`N;ihRV(^>4Uy*#!b4p$=*K{Had$FbJiFDsYyt;lMi-3f bS(Fp_rHq8H`nl`Z{VdsF6f2Mw z3cdwE7TDNG17S9Huw$7Rp{{0TWM_6_U{h#OGrXV-cx1n;0;=tnA?eN4KrT!q(M`8$YfwkOxUC zvjD@dL1e+(TseW{9HoZb)3+2;H%X*6q;w#MGqVSSfh&_D!#uA2^BO9mWD}37Sslzc zbF}u~^CPmNB;Bj;+$ukD$jwr& Gz5xItv5vt2 literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Cert.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Cert.pem new file mode 100644 index 00000000000000..53f7a5237e6635 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIB0TCCAXegAwIBAgIIC2Df/K/j52IwCgYIKoZIzj0EAwIwRjEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFJMRQwEgYKKwYBBAGConwCAQwERkZGMjEUMBIGCisGAQQB +gqJ8AgIMBDgwMDYwIBcNMjEwNjI4MTQyMzQzWhgPOTk5OTEyMzEyMzU5NTlaMDMx +MTAvBgNVBAMMKE1hdHRlciBUZXN0IERBQyAwMDI0IE12aWQ6RkZGMiBNcGlkOjgw +MDYwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARWyLSzlDwl/hUDRsmlbdv4opHi +kRBXw9ByHzYkOlHM4e6DLsivHG9IjYRKRPLb1lEFzB/HFlE3Nbaf5wkFlerco2Aw +XjAMBgNVHRMBAf8EAjAAMA4GA1UdDwEB/wQEAwIHgDAdBgNVHQ4EFgQUeM1hUJt2 +duGgQUa1cxM7e6OB8awwHwYDVR0jBBgwFoAUoO1tHhBjbCKAbcvaIWWyGGWAZIgw +CgYIKoZIzj0EAwIDSAAwRQIhAJ4Kv56AeFodYcUmOsFozMV9ysF5SiJ9Rybc/Zh+ +NwRfAiBcm63vllUiZS9l3SbvFGufWGpaGUd73Np3yMJGOR5/gA== +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Key.der b/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..1652e5fc12248e43df5558da3e3b080a44393943 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R&JIsnc5-Tt<}SLJ!<^i$XWkb-uolsqN=6$3`erES~zqLJc}5Ld&{avwG%I#JBw?t?DKuN-ek bjf6@>^4r!?1JkHs&Ff$pr8A=$4u`!3TF!S*H zCYF?>7Ab_J7MCalIC>h27znX(X|pl1Fg7i!VPfQAadUGsLK9`;VX-hUFf&jP=QTDo zFf+0+G%+$ZF^-bpw*&%1BV!;kwKTPiGB7qYG|-3Gq=9Uci=(rGfq{{!f^S)7iWSHT z1>XW73v6tpfiN38*s)BEP**cEvNJm|up}LjI(#^6!Gy;NUmU!jxbNC~l2;^Yq0PSK zyS`ueG`~0I#|!@{T4#d4{OZ`((z?pOp!1gPnj2h|k9&#v;PJOZDRUM?KeH-LXu1cJzJm)%xR22J#?j zWfoxgHHc`J8%w#JJ6!Aj{Y}=XPcMx`tKP&QhcmMWgMllPBE!-UR`C+wtqGamA8zSp zu9@<75AU>_=j$3m&IXz~-8h-dq>wecJ^B5c$+lVC$-OM;><6!haOXNqoy~zy}Vxc^~r@Hsh@}G@d_~=iRD$G;# b`iQ=Sg{n_*iP}A^#9Tf=DPMA(g2Z<4^<_H5 literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Key.pem b/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Key.pem new file mode 100644 index 00000000000000..4362be54ba30ff --- /dev/null +++ b/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Key.pem @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIAFdMZifi76G2K5MUL1Jep+/1T6xCvi/eqLfePbZeFDIoAoGCCqGSM49 +AwEHoUQDQgAEYsAaw8NWoJDjYPRAS+RHur3JDRRioTy+p7r30PKfjVz46E+UKsxT +9PqIvoSFqk9wido9rMRcPkApX3KdgsR28A== +-----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.der b/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.der new file mode 100644 index 0000000000000000000000000000000000000000..88698d4672868c297763751ef348ed8bd777c656 GIT binary patch literal 448 zcmXqLV%%fU#F(^znTe5!i9??&$nFNC`)dO(HV&;ek8`#x%uEIbh7ty1Y|No7%sl+Q zi6teeMG7IQ#U%;>j*f;R210CH+H8z0j7^Jbm>79j+}zxZ4CKUljSUUVj4TXIjEqf; zqkvo^AlDqsHHsp`#7F~SHg>R!m>8i>V`gM$c4A;DsJ8EIbhE9N-C{ZS^QXk!P8$;H zK27h6j#>J9Ti~K;GybaFz8CwX$GfSo9)iOs1+NiP?x~A?BrVQ*$mQunO=Uk`UC(>JcuO# literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.pem b/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.pem new file mode 100644 index 00000000000000..ea87e3947505c2 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBvDCCAWKgAwIBAgIILwpSPtgBR+swCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMjAeFw0zMTA2Mjgx +NDIzNDNaFw0zMjA2MjcxNDIzNDJaMDAxGDAWBgNVBAMMD01hdHRlciBUZXN0IFBB +QTEUMBIGCisGAQQBgqJ8AgEMBEZGRjIwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC +AARwez+NgUY9ex20OZ3z8mG7QrBgfvKXiltcpfu2UaKWmP0k295d5IxLgnw8k1Xo +JNGuKZz7WfaHyskb4oq0+Bojo2YwZDASBgNVHRMBAf8ECDAGAQH/AgEBMA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUacz2/b00Kj0pSJhJMtZ/OyIuJ5owHwYDVR0j +BBgwFoAUacz2/b00Kj0pSJhJMtZ/OyIuJ5owCgYIKoZIzj0EAwIDSAAwRQIhAJxT +R/FJl5GMA5p7/AIiHXIFOdqrQk/U5Koyyt/PjSe2AiB0iIyU98MbRza7b9EqXVEg +fmAGpsmtK5sAG/0C6fc68g== +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Key.der b/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..0e550dcdf8e57855031e9f63d5e167bd18266288 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1RyTl3n}Es{C)>u4PCE%&0%!b&}&tF*YO1*Nnv?tT>O*lfBe$L{Tn*7#8tU; zii2hE^=w!oYr%Qs-_OpXsq9fo49QFNeBvKPpZ(kUntPIAuBwON!%6oiEKV~>0eXTt zR92Xg@jnZP0UMBFVq`Sn1Bvm2#DIao$Yvl5;`6bHv53^~TXy!^nQm2sLm&DAZa?Y# z_|K bA^>BhE=*tITh0B6>kE=GZ6!z%;ga8wU*t7m literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Key.pem b/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Key.pem new file mode 100644 index 00000000000000..7f36fe12757493 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Key.pem @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIGbeXiLQIML9te6xkt3h9AEpZNlTvBiwN9eMlXMbq1BIoAoGCCqGSM49 +AwEHoUQDQgAEoc8o61hgmNH8Y0/H0tG/sIlqFyUKLHNTHd6MsKQdOAnE/vmJcpUH +WiIAY6UuTF/iW839iesLkjFtJUgR4ZLfkA== +-----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8004-FB-Cert.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-8004-FB-Cert.der index b548e5e52359077d7bc4ce2eb1ad3771307d0b66..6a9427329e3899c0144beb83a98cef150a477bbc 100644 GIT binary patch delta 240 zcmVKrZ)_c z>@$BAZq1AozJRn4uH*uv@-r9bGzN4q9|i+e9U}x7FcyFmcwFZNxNDD2Z^x6WV9P`5 zX=sAgFbW0;DuzhTJp=;+14sZcMFJrJ@8ypDNfl>+#!$19EP^do5xcA}rk+SqUZdlD!PnAA@=(qGiTKR delta 240 zcmV@$Bsm<>!93yIKiV}os8!>9ncIOB&f9|i+e9U}x7FcyFm;QZI}B5n5cTAT zc7S>&FbW0;DuzhTJp=;+14sZcMFJrJr2)s&UT^K|G3UcLFcVdDL_siEuu$-(lICC! qmk3Ah0w4+%o9p<4JMaEmsyd@QcMh bXfT7e+U8i;tHS&1_&yK zNX|V20SBQ(13~}<{)3|SHqHhvcQLyw|YGX{7|XN~iz2yC(6+ zTiZitzU-K_IL#mh=n&>mSz$)T|12B^Y(R>Mk->luB*qUC0|o*kn}IBd&&MLhBC=ns zY(h}D+P}#$Uk}Wy*vpx^P5zpJJV;uZ1sGHfA{8;uS$Aaj`{f^>yei?e^Q+8^rmM(7 z%IwZy;KHO3<0w?CAGo~wbDWvC67ONLuLljzTd#YdP#3nt!8P~pCME?}4vkX>*D?o| dd1SGrSH&(BTf=#Jg~*dv`s+<4@Awv;0|3qxgsuPp literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Cert.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Cert.pem new file mode 100644 index 00000000000000..83e86511ef0dea --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIBuzCCAWKgAwIBAgIIVyOL6GNKL40wCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFBMB4XDTMxMDYyODE0MjM0M1oXDTMyMDYyNzE0MjM0Mlow +RjEYMBYGA1UEAwwPTWF0dGVyIFRlc3QgUEFJMRQwEgYKKwYBBAGConwCAQwERkZG +MjEUMBIGCisGAQQBgqJ8AgIMBDgwMDUwWTATBgcqhkjOPQIBBggqhkjOPQMBBwNC +AASGorQryzjephcJ24TBKH8BkjYFUdWEiYKAGqJ1lzGzcwm04pOad8IfGzpLrAUe +KmRQRRtn+t2sYfjtPcLM9Liao2YwZDASBgNVHRMBAf8ECDAGAQH/AgEAMA4GA1Ud +DwEB/wQEAwIBBjAdBgNVHQ4EFgQUvxZ2kFJXJv6TXPXAnni9CWW2H9YwHwYDVR0j +BBgwFoAUeFznBbhrj05vx5OqYMtD6mlogtUwCgYIKoZIzj0EAwIDRwAwRAIgXEES +fS9Rp3vzXjZLIg3DFvXBMM87ruAgfla4QEVt3bICIEUIKMrBrQNRdkhqBmd6XaUW +rAnLqBTk6i+vNRncTXHO +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..0636413d933a0e0b3a544a39d9644f4cf33e01ab GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R#V3RfR{L!YIv@648aG4uerD$`{53b%yg-61h)>TfLwP1_&yK zNX|V20SBQ(13~}q< b8#+s@1s*D7P(>SO`rWKy`0YKy%=EaLxr8yn literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.pem new file mode 100644 index 00000000000000..4d212b182083b8 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.pem @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIIQFVYVHncIozZQS0YWmDoNRKsoXxgV1hvNXErlPhVu9oAoGCCqGSM49 +AwEHoUQDQgAEhqK0K8s43qYXCduEwSh/AZI2BVHVhImCgBqidZcxs3MJtOKTmnfC +Hxs6S6wFHipkUEUbZ/rdrGH47T3CzPS4mg== +-----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Cert.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Cert.der new file mode 100644 index 0000000000000000000000000000000000000000..fa5bc48ec7bc6b4e0eb85df6eee3282d944f71af GIT binary patch literal 448 zcmXqLV%%fU#F(^znTe5!iNoRb_X)l1mZuE3*f_M>JkHs&Ff$oQ8A=$4u`!3TF!S*H zCYF?>7Ab_J7MCalI64~0iSrs68kiYb7@8Ovn;1s{xkhlVQIvrjPQ9LnA_hWiT-t1m zER0QyYM2;#Slry)jL<}xcvvh93``9o4TRa)!7gHAggT9xk)7Fzfn|UF^f^a&-ko^% ztfSO*r^hL&Q|8QG$KU-)n9ZrkK2^*2qTWV>n;h+Ip6yz~OXcJjh@SP?AILi^HS@E= zuO9)+y%(n$qyQbl94af!$oQXy!+;G)F)=b2@PWkmL1Mr_U}Q6p1@ZY<#8^Z$@{KC@ z376-|W$gYO7QbKU_R0mG2J#?jWfoviHHcKiJZIgJ-S3xweDbP<)6TClGn%d<2Pv}$ zgMllPLei0=S}#iOee~aIFC@xf#209{Wd4^=deUh@@m;k?{zxz>GJNQ~^>furtx0SC by<*%N=9Tf_~Rz&mS_R;uEK-?$L1Wk=>vQ1_&yK zNX|V20SBQ(13~}RS(Jrwt*$9UQ bNrx&Er5+!k70pb)Q4N}9Y4afZ_)w=y$#6A( literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Key.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Key.pem new file mode 100644 index 00000000000000..47e16f6fe212a9 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Key.pem @@ -0,0 +1,5 @@ +-----BEGIN EC PRIVATE KEY----- +MHcCAQEEIL3b6No/GY6I50bLHWPQgn7XZM8fMqTiE6ep7tFw7pHdoAoGCCqGSM49 +AwEHoUQDQgAEv3+XnMW53ZHNzUEa10LjZGWUnJuuD4vyEwZCcj9lKk3RLrEw2QiH +BkmHKhOlHh+gFc1Mv1ENmmVp8yD6+FCnSw== +-----END EC PRIVATE KEY----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.der new file mode 100644 index 0000000000000000000000000000000000000000..dc66b20d600f37d66b79a2bdbce3dc6297a69b55 GIT binary patch literal 470 zcmXqLV!UL~#8|O_nTe5!i6g?H?eg=(?_&(O*f_M>JkHs&Ff$n#7)lt3u`!3TF!S*H zCYF?>7Ab_J7MCalI64}N7znX(X|pl1Fg7i!VPfQAadUGsGLRGJH8wObGqNx=F)}tW zjskLxfLwDh*C@)s4X25o*iA$eW#VD6FfcGPh%^vpV+XsFi4p2xW=3{qCkB?cg7Z67 zRrQwcnf_s$?yo~1tZuf1PxftM>}b{B>uSia#1VYCf?wUutTDqdg0rWeAu5z_-R~mKpvLHSmix`WD zcDb>X+quKF?%&^Jo%;0BNVMurjDb8zTA2kHfDIy8{lt hH`c~FiOKYYSBflMam31Y`qF5Li4OCY-OX?91ptqdj86an literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.pem new file mode 100644 index 00000000000000..25164f9be25749 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIB0jCCAXigAwIBAgIIWECG0+fD71wwCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMjAeFw0zMTA2Mjgx +NDIzNDNaFw0zMjA2MjcxNDIzNDJaMEYxGDAWBgNVBAMMD01hdHRlciBUZXN0IFBB +STEUMBIGCisGAQQBgqJ8AgEMBEZGRjIxFDASBgorBgEEAYKifAICDAQ4MDA2MFkw +EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAE7RGfiSUlLqW8l/C2LfrC8DrZhFeTTYIB +iIUvvUUxDyIIU9N4DydGNoFoMVgJjI8AWlUOrvvUuGiHpe7XNaDbEqNmMGQwEgYD +VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFCt3MxpG +zsN9R/fsasry6TIVeuxcMB8GA1UdIwQYMBaAFGnM9v29NCo9KUiYSTLWfzsiLiea +MAoGCCqGSM49BAMCA0gAMEUCIQD4ocMW40DFg6zws8GD/YoYyXNjm6uwQsnmhHEL +5pLNowIgQhuKq0jYrV1CFhyMV3kUpajEOj2XpVsYkUCept1vhY0= +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Key.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..fdd7b7b2571eb0796c001faca7827bd94221b7b5 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R#bs7s0X6G$FAf-+XRXgeB3&9Fqt`fBx~Eap4=!eg>cl1_&yK zNX|V20SBQ(13~}|V~+^w#*& zYr8!A zaVH*!gqVbPi_;8JfL>z`l@(@W{LjK+zy_q47#R%sKw|tLF<{UzvKh#N_I0t~5(gZ3)dY>_h?V^N+Fs literal 0 HcmV?d00001 diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Cert.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Cert.pem new file mode 100644 index 00000000000000..4d38638832f051 --- /dev/null +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Cert.pem @@ -0,0 +1,12 @@ +-----BEGIN CERTIFICATE----- +MIIB0jCCAXigAwIBAgIIZv3WQhe2md4wCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP +TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMjAeFw0yMTA2Mjgx +NDIzNDNaFw0yMjA2MjgxNDIzNDJaMEYxGDAWBgNVBAMMD01hdHRlciBUZXN0IFBB +STEUMBIGCisGAQQBgqJ8AgEMBEZGRjIxFDASBgorBgEEAYKifAICDAQ4MDA2MFkw +EwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEu6cGgu0z0uP/5dolWqrv601JUp+8tmj7 +1KyR+mOSouD701/QWAFuRKbo1hKDECl3jG9pHQWHHwfHQgxAYFxg7qNmMGQwEgYD +VR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFKDtbR4Q +Y2wigG3L2iFlshhlgGSIMB8GA1UdIwQYMBaAFH++ps3WzIslMMLwjlDb5Inx9T21 +MAoGCCqGSM49BAMCA0gAMEUCIQCEzROqVjqsl8YIRuvCUJqDWsI8yUZNzrqnVJ5p +3STTOgIgBDRR+PZ0/iTRupgAFJLjDXk2dQ1pcIV1Fp+GYIOYPhU= +-----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Key.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Key.der new file mode 100644 index 0000000000000000000000000000000000000000..55338ab5cd943165c76441fb03579237bfaabcf8 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1R#cpaTK{0s;sk-wAOihH9gc7mGk@d-3}t`m=w$qgduW zk_5K{R|dYVe$(Jf3mg6_Sypu)>J@L4(?-rHVf5>-*dmj{=VV;WdRnZ%v3^12;zWUw z;xm64`jm8&DcW=oRcbRowG(sK2p3i`9|i+e9U}x7FcyFmcwFZNxNDD2Z^x6WV9P`5 zX=sAgFbW0;DuzhTJp=;+14jTbL;@goP~nUG1ej{;4aSZeyaAbSM6|Fpu-FWZl%|Ve p1~LNzAb9?~oVWA@%paTK{0s;srB|bqce}=q~7mGkGCP}B*x}U(Aw9YV- zC@`kAuzACCq2Gg5rzg$Q+g?`8?%_F7Xoe{s%y1q~|MFFlvyb%tmJKV)Y}_elX!y&K z;xm7vTkrtVcb(FWk&1Uj-dleWn5cTAT zc7S>&FbW0;DuzhTJp=;+14sZcMFJoKXt0`tAtCn5%Puup6j$$;m9bC;(UTMnfXz0@ q)Cj%;ApoCfogFnoIkkhe?aw{j{-Y_+c6SU>-D|I(RlBCCK^NOz*=Uvk diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Cert.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Cert.pem index 4d2b9c5eb6e03d..37da0b022d270d 100644 --- a/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Cert.pem +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Cert.pem @@ -1,11 +1,11 @@ -----BEGIN CERTIFICATE----- -MIIBnDCCAUKgAwIBAgIIKSU+QSx/hrwwCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwP +MIIBmzCCAUKgAwIBAgIIIt8JcSeGaqMwCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwP TWF0dGVyIFRlc3QgUEFBMCAXDTIxMDYyODE0MjM0M1oYDzk5OTkxMjMxMjM1OTU5 WjAkMSIwIAYDVQQDDBlNYXR0ZXIgVGVzdCBQQUkgTXZpZDpGRkYyMFkwEwYHKoZI -zj0CAQYIKoZIzj0DAQcDQgAELSZJp9i6n8CZtM4wkygwprWwecNzod+DVacnzdLb -XlbM7uE5UmiGKR7McB5O//JVkbOP9P6WDSvKbNwpZ2j4y6NmMGQwEgYDVR0TAQH/ -BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFKNb8ADSd53SjZGK -d0TeW38R5E0nMB8GA1UdIwQYMBaAFOD81/IicKuy1GdYRxD15Id2gHomMAoGCCqG -SM49BAMCA0gAMEUCIAJosJqDISH2y8suNVkUV++XlbFQBtGTFA2AzTbI1Ai+AiEA -n2idHTVCObWDte3PPdz+oynPdndR3Wuvn1W7pqlBF9s= +zj0CAQYIKoZIzj0DAQcDQgAEanvx+yP6s3+8o1jmPZIEtwNXBr6tftPgSwsb/ipZ +VnUf6hVvlNNGzihh9Ouv2CKTwudkXMx6Wqy/sX5B5eJEgaNmMGQwEgYDVR0TAQH/ +BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAQYwHQYDVR0OBBYEFBn6lHSTKdp0D1Vq +Mz+1E3PXCBdWMB8GA1UdIwQYMBaAFHhc5wW4a49Ob8eTqmDLQ+ppaILVMAoGCCqG +SM49BAMCA0cAMEQCIHZQ4Yv8BJhq6w3Gjhu8AZlvRLSwNLDYDI2UpothBjIDAiB4 +/ryct/QEzO8ZXM8eywlUQ4vlpZ10iumuMTkNmxJb/g== -----END CERTIFICATE----- diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.der b/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.der index a1f145df54688e5219a9c57d50698b91b7d816dc..af4b77499ce67edcf070d8461188b0fa4ca28029 100644 GIT binary patch literal 121 zcmV-<0EYiCcLD(c1Rx@K;i>>xSRT(Uzi7kqQTBHH-rb0{=TK1JYH~rxWmcdH1_&yK zNX|V20SBQ(13~}Ewvem6K{ literal 121 zcmV-<0EYiCcLD(c1R(c}pb6Qefp&Rf-d&iNCCo())S}D9Y4_fdb{~+(e-5Au1_&yK zNX|V20SBQ(13~}%k+YBV{+10Z%52;zXK47#txh>x diff --git a/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.pem b/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.pem index d6425210d6eda6..e7f24bfd11a9ff 100644 --- a/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.pem +++ b/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.pem @@ -1,5 +1,5 @@ -----BEGIN EC PRIVATE KEY----- -MHcCAQEEIPeMoAnZpIF2eWLeXZiXJcxFDdSiy8Vp996Rdh+Qx38OoAoGCCqGSM49 -AwEHoUQDQgAELSZJp9i6n8CZtM4wkygwprWwecNzod+DVacnzdLbXlbM7uE5UmiG -KR7McB5O//JVkbOP9P6WDSvKbNwpZ2j4yw== +MHcCAQEEICJ44aoAWVgezy2/aMPyUfZ2/N7diLbnUFDfanJBx2VWoAoGCCqGSM49 +AwEHoUQDQgAEanvx+yP6s3+8o1jmPZIEtwNXBr6tftPgSwsb/ipZVnUf6hVvlNNG +zihh9Ouv2CKTwudkXMx6Wqy/sX5B5eJEgQ== -----END EC PRIVATE KEY----- diff --git a/credentials/test/gen-test-attestation-certs.sh b/credentials/test/gen-test-attestation-certs.sh index f9cf92d8bfec8b..8144b9da35fb82 100755 --- a/credentials/test/gen-test-attestation-certs.sh +++ b/credentials/test/gen-test-attestation-certs.sh @@ -173,6 +173,95 @@ cert_lifetime=4294967295 done } +# Set #6: +# Generating certificates chains { PAA, PAI, DAC } with one of the certificates +# in the chain either valid in the past or in the future. +# Note that all these chains should pass validation according to Matter specifications +{ + cert_valid_from_in_future="2031-06-28 14:23:43" + cert_lifetime_1year=365 + + # Generating DAC with validity in the past with PAA from Set #2 and PAI from Set #5 + dac=0020 + + dac_key_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInPast-Key" + dac_cert_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInPast-Cert" + + "$chip_cert_tool" gen-att-cert --type d --subject-cn "Matter Test DAC $dac" --subject-vid "$vid" --subject-pid "$pid" --vid-pid-as-cn --valid-from "$cert_valid_from" --lifetime "$cert_lifetime_1year" --ca-key "$pai_key_file".pem --ca-cert "$pai_cert_file".pem --out-key "$dac_key_file".pem --out "$dac_cert_file".pem + + # Generating DAC with validity in the future with PAA from Set #2 and PAI from Set #5 + dac=0021 + + dac_key_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInFuture-Key" + dac_cert_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInFuture-Cert" + + "$chip_cert_tool" gen-att-cert --type d --subject-cn "Matter Test DAC $dac" --subject-vid "$vid" --subject-pid "$pid" --vid-pid-as-cn --valid-from "$cert_valid_from_in_future" --lifetime "$cert_lifetime" --ca-key "$pai_key_file".pem --ca-cert "$pai_cert_file".pem --out-key "$dac_key_file".pem --out "$dac_cert_file".pem + + # Generating PAI and DAC with validity in the past with PAA from Set #2 + pid=8005 + dac=0022 + + pai_key_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInPast-Key" + pai_cert_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInPast-Cert" + + "$chip_cert_tool" gen-att-cert --type i --subject-cn "Matter Test PAI" --subject-vid "$vid" --subject-pid "$pid" --valid-from "$cert_valid_from" --lifetime "$cert_lifetime_1year" --ca-key "$paa_key_file".pem --ca-cert "$paa_cert_file".pem --out-key "$pai_key_file".pem --out "$pai_cert_file".pem + + dac_key_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInPast-Key" + dac_cert_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInPast-Cert" + + "$chip_cert_tool" gen-att-cert --type d --subject-cn "Matter Test DAC $dac" --subject-vid "$vid" --subject-pid "$pid" --vid-pid-as-cn --valid-from "$cert_valid_from" --lifetime "$cert_lifetime_1year" --ca-key "$pai_key_file".pem --ca-cert "$pai_cert_file".pem --out-key "$dac_key_file".pem --out "$dac_cert_file".pem + + # Generating PAI and DAC with validity in the future with PAA from Set #2 + dac=0023 + + pai_key_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInFuture-Key" + pai_cert_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInFuture-Cert" + + "$chip_cert_tool" gen-att-cert --type i --subject-cn "Matter Test PAI" --subject-vid "$vid" --subject-pid "$pid" --valid-from "$cert_valid_from_in_future" --lifetime "$cert_lifetime_1year" --ca-key "$paa_key_file".pem --ca-cert "$paa_cert_file".pem --out-key "$pai_key_file".pem --out "$pai_cert_file".pem + + dac_key_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInFuture-Key" + dac_cert_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInFuture-Cert" + + "$chip_cert_tool" gen-att-cert --type d --subject-cn "Matter Test DAC $dac" --subject-vid "$vid" --subject-pid "$pid" --vid-pid-as-cn --valid-from "$cert_valid_from_in_future" --lifetime "$cert_lifetime" --ca-key "$pai_key_file".pem --ca-cert "$pai_cert_file".pem --out-key "$dac_key_file".pem --out "$dac_cert_file".pem + + # Generating PAA and PAI with validity in the past with DAC valid in the past but doesn't expire + pid=8006 + dac=0024 + + paa_key_file="$dest_dir/Chip-Test-PAA-$vid-ValInPast-Key" + paa_cert_file="$dest_dir/Chip-Test-PAA-$vid-ValInPast-Cert" + + "$chip_cert_tool" gen-att-cert --type a --subject-cn "Matter Test PAA" --subject-vid "$vid" --valid-from "$cert_valid_from" --lifetime "$cert_lifetime_1year" --out-key "$paa_key_file".pem --out "$paa_cert_file".pem + + pai_key_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInPast-Key" + pai_cert_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInPast-Cert" + + "$chip_cert_tool" gen-att-cert --type i --subject-cn "Matter Test PAI" --subject-vid "$vid" --subject-pid "$pid" --valid-from "$cert_valid_from" --lifetime "$cert_lifetime_1year" --ca-key "$paa_key_file".pem --ca-cert "$paa_cert_file".pem --out-key "$pai_key_file".pem --out "$pai_cert_file".pem + + dac_key_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInPast-Key" + dac_cert_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInPast-Cert" + + "$chip_cert_tool" gen-att-cert --type d --subject-cn "Matter Test DAC $dac" --subject-vid "$vid" --subject-pid "$pid" --vid-pid-as-cn --valid-from "$cert_valid_from" --lifetime "$cert_lifetime" --ca-key "$pai_key_file".pem --ca-cert "$pai_cert_file".pem --out-key "$dac_key_file".pem --out "$dac_cert_file".pem + + # Generating PAA and PAI and DAC with validity in the future; the DAC doesn't expire + dac=0025 + + paa_key_file="$dest_dir/Chip-Test-PAA-$vid-ValInFuture-Key" + paa_cert_file="$dest_dir/Chip-Test-PAA-$vid-ValInFuture-Cert" + + "$chip_cert_tool" gen-att-cert --type a --subject-cn "Matter Test PAA" --subject-vid "$vid" --valid-from "$cert_valid_from_in_future" --lifetime "$cert_lifetime_1year" --out-key "$paa_key_file".pem --out "$paa_cert_file".pem + + pai_key_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInFuture-Key" + pai_cert_file="$dest_dir/Chip-Test-PAI-$vid-$pid-ValInFuture-Cert" + + "$chip_cert_tool" gen-att-cert --type i --subject-cn "Matter Test PAI" --subject-vid "$vid" --subject-pid "$pid" --valid-from "$cert_valid_from_in_future" --lifetime "$cert_lifetime_1year" --ca-key "$paa_key_file".pem --ca-cert "$paa_cert_file".pem --out-key "$pai_key_file".pem --out "$pai_cert_file".pem + + dac_key_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInFuture-Key" + dac_cert_file="$dest_dir/Chip-Test-DAC-$vid-$pid-$dac-ValInFuture-Cert" + + "$chip_cert_tool" gen-att-cert --type d --subject-cn "Matter Test DAC $dac" --subject-vid "$vid" --subject-pid "$pid" --vid-pid-as-cn --valid-from "$cert_valid_from_in_future" --lifetime "$cert_lifetime" --ca-key "$pai_key_file".pem --ca-cert "$pai_cert_file".pem --out-key "$dac_key_file".pem --out "$dac_cert_file".pem +} + # In addition to PEM format also create certificates in DER form. for cert_file_pem in "$dest_dir"/*Cert.pem; do cert_file_der="${cert_file_pem/.pem/.der}" diff --git a/src/credentials/tests/CHIPAttCert_test_vectors.cpp b/src/credentials/tests/CHIPAttCert_test_vectors.cpp index 1babcbc8920886..e9deec93da6987 100644 --- a/src/credentials/tests/CHIPAttCert_test_vectors.cpp +++ b/src/credentials/tests/CHIPAttCert_test_vectors.cpp @@ -1337,33 +1337,33 @@ extern const ByteSpan sTestCert_DAC_FFF2_8002_0017_PrivateKey = ByteSpan(sTestCe // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_0018_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xb0, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x19, 0x2a, 0xd8, 0xde, 0x78, 0xcf, - 0xb2, 0xac, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, + 0x30, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x5a, 0x16, 0x82, 0x9b, 0x0d, 0xaf, + 0x00, 0x8a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x19, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x38, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x33, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x53, 0xee, - 0xa8, 0xfa, 0x03, 0x1a, 0x6a, 0xbd, 0xb0, 0x32, 0x9f, 0x4d, 0x57, 0x63, 0x79, 0xa8, 0x38, 0xc3, 0xbd, 0x36, 0x40, 0xb7, 0x9b, - 0x6a, 0x35, 0x75, 0xc7, 0xd3, 0x2f, 0x80, 0x72, 0xaa, 0x3a, 0x2c, 0x4a, 0x19, 0x75, 0x1a, 0x08, 0x4f, 0x77, 0xcc, 0xb1, 0xaf, - 0xad, 0xbe, 0x1b, 0x7a, 0x36, 0x93, 0xef, 0xfe, 0x34, 0xbf, 0x5b, 0x8d, 0xd1, 0x46, 0x39, 0x6f, 0xe6, 0x7d, 0x07, 0xfd, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xba, 0x9f, + 0xaf, 0x3d, 0x77, 0xf5, 0x93, 0x5d, 0xe8, 0x69, 0xfd, 0x1f, 0xc3, 0x20, 0x28, 0xc8, 0x0d, 0x24, 0xe7, 0x98, 0x6a, 0x0c, 0x49, + 0x90, 0x88, 0xce, 0x1f, 0x28, 0x17, 0x30, 0x83, 0x90, 0xf0, 0x1d, 0x97, 0x79, 0xbd, 0x03, 0xb2, 0xf7, 0xe8, 0x95, 0x4a, 0x86, + 0xe7, 0x28, 0x29, 0xa2, 0xc4, 0xcc, 0x97, 0x08, 0x55, 0xb8, 0x8c, 0x5d, 0xec, 0x31, 0x13, 0xd9, 0x8f, 0x55, 0x04, 0x36, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, - 0x04, 0x14, 0xe0, 0x5d, 0x36, 0x3d, 0x31, 0x0f, 0x43, 0x8f, 0x3d, 0xf0, 0x56, 0xed, 0xd3, 0xc4, 0x12, 0x63, 0x69, 0xf7, 0x90, - 0x32, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xa3, 0x5b, 0xf0, 0x00, 0xd2, 0x77, 0x9d, - 0xd2, 0x8d, 0x91, 0x8a, 0x77, 0x44, 0xde, 0x5b, 0x7f, 0x11, 0xe4, 0x4d, 0x27, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xc2, 0x2c, 0x8e, 0x2d, 0xa5, 0x3e, 0xfb, 0x4a, 0x08, - 0x8f, 0x2a, 0x22, 0x33, 0x7d, 0x1b, 0xbb, 0x54, 0x94, 0x95, 0x30, 0x16, 0x34, 0xa6, 0xb0, 0x3d, 0xd3, 0xc0, 0xbd, 0x11, 0xa3, - 0x31, 0xac, 0x02, 0x21, 0x00, 0x81, 0x0f, 0x8f, 0xbe, 0xf6, 0xb7, 0x64, 0xef, 0x4b, 0x30, 0x5e, 0x9a, 0x06, 0x42, 0x77, 0xf2, - 0xc7, 0x61, 0x8c, 0x1c, 0x05, 0x8b, 0x8c, 0x17, 0x4f, 0xb0, 0xe1, 0xea, 0xb8, 0x5f, 0x10, 0xae, + 0x04, 0x14, 0xb9, 0x59, 0xdc, 0xed, 0xb2, 0x52, 0x93, 0xe4, 0xa8, 0xf2, 0xb7, 0x56, 0x71, 0x38, 0x5f, 0x62, 0x63, 0x84, 0xf1, + 0xd6, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x19, 0xfa, 0x94, 0x74, 0x93, 0x29, 0xda, + 0x74, 0x0f, 0x55, 0x6a, 0x33, 0x3f, 0xb5, 0x13, 0x73, 0xd7, 0x08, 0x17, 0x56, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, + 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x5d, 0x47, 0x64, 0xfa, 0xe1, 0xcc, 0x21, 0x15, 0x20, 0x12, + 0x8f, 0xd2, 0x52, 0x78, 0xe1, 0xc8, 0xda, 0x8e, 0xd4, 0xc6, 0x0a, 0x71, 0x30, 0x4f, 0x42, 0x10, 0xea, 0x3f, 0x1d, 0x49, 0x11, + 0x9b, 0x02, 0x21, 0x00, 0xb6, 0xa3, 0xce, 0xd8, 0xc1, 0x12, 0xf4, 0x8e, 0x1e, 0x1a, 0x98, 0x0e, 0xfe, 0xd2, 0x32, 0xd4, 0x32, + 0xca, 0x4d, 0xe9, 0xc5, 0xe5, 0x20, 0x19, 0x22, 0x8e, 0xbf, 0x8a, 0x99, 0x2e, 0xf1, 0x4a, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8003_0018_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_0018_FB_SKID_Array[] = { - 0xE0, 0x5D, 0x36, 0x3D, 0x31, 0x0F, 0x43, 0x8F, 0x3D, 0xF0, 0x56, 0xED, 0xD3, 0xC4, 0x12, 0x63, 0x69, 0xF7, 0x90, 0x32, + 0xB9, 0x59, 0xDC, 0xED, 0xB2, 0x52, 0x93, 0xE4, 0xA8, 0xF2, 0xB7, 0x56, 0x71, 0x38, 0x5F, 0x62, 0x63, 0x84, 0xF1, 0xD6, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8003_0018_FB_SKID_Array); @@ -1371,17 +1371,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0018-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_0018_FB_PublicKey_Array[] = { - 0x04, 0x53, 0xee, 0xa8, 0xfa, 0x03, 0x1a, 0x6a, 0xbd, 0xb0, 0x32, 0x9f, 0x4d, 0x57, 0x63, 0x79, 0xa8, - 0x38, 0xc3, 0xbd, 0x36, 0x40, 0xb7, 0x9b, 0x6a, 0x35, 0x75, 0xc7, 0xd3, 0x2f, 0x80, 0x72, 0xaa, 0x3a, - 0x2c, 0x4a, 0x19, 0x75, 0x1a, 0x08, 0x4f, 0x77, 0xcc, 0xb1, 0xaf, 0xad, 0xbe, 0x1b, 0x7a, 0x36, 0x93, - 0xef, 0xfe, 0x34, 0xbf, 0x5b, 0x8d, 0xd1, 0x46, 0x39, 0x6f, 0xe6, 0x7d, 0x07, 0xfd, + 0x04, 0xba, 0x9f, 0xaf, 0x3d, 0x77, 0xf5, 0x93, 0x5d, 0xe8, 0x69, 0xfd, 0x1f, 0xc3, 0x20, 0x28, 0xc8, + 0x0d, 0x24, 0xe7, 0x98, 0x6a, 0x0c, 0x49, 0x90, 0x88, 0xce, 0x1f, 0x28, 0x17, 0x30, 0x83, 0x90, 0xf0, + 0x1d, 0x97, 0x79, 0xbd, 0x03, 0xb2, 0xf7, 0xe8, 0x95, 0x4a, 0x86, 0xe7, 0x28, 0x29, 0xa2, 0xc4, 0xcc, + 0x97, 0x08, 0x55, 0xb8, 0x8c, 0x5d, 0xec, 0x31, 0x13, 0xd9, 0x8f, 0x55, 0x04, 0x36, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8003_0018_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_0018_FB_PrivateKey_Array[] = { - 0x9a, 0xec, 0xf6, 0x8f, 0x06, 0x96, 0x3d, 0xdd, 0x5e, 0x43, 0xe3, 0xa2, 0x8f, 0xca, 0xea, 0xb1, - 0x6f, 0xa6, 0x30, 0x3c, 0xb5, 0xb6, 0x0b, 0x34, 0x80, 0x4f, 0xd3, 0xbc, 0xae, 0xb9, 0xe8, 0x34, + 0xb7, 0x50, 0x27, 0x5c, 0x30, 0x5a, 0xe8, 0xc7, 0xbf, 0xf8, 0xa0, 0xc7, 0x46, 0x24, 0x1b, 0xda, + 0x98, 0xde, 0xf5, 0x21, 0x6f, 0xcf, 0xba, 0x61, 0x26, 0x78, 0x3a, 0xb3, 0xae, 0xcb, 0x41, 0x68, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8003_0018_FB_PrivateKey_Array); @@ -1389,33 +1389,33 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_0018_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_0019_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x5d, 0xba, 0xa8, 0x3c, 0x65, 0x66, - 0x63, 0x9a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, + 0x30, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x3d, 0x8c, 0x8b, 0x82, 0xc8, 0x8f, + 0x46, 0x22, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x19, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x39, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x33, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x3e, 0x08, - 0xc4, 0x5e, 0xbc, 0x86, 0x26, 0xd1, 0x4d, 0x10, 0xa9, 0xff, 0x57, 0x90, 0x4e, 0xc0, 0x82, 0x85, 0x80, 0x1b, 0xe6, 0x3b, 0xd8, - 0xaf, 0x4b, 0x05, 0x35, 0xbc, 0xf4, 0xbe, 0x7a, 0x6c, 0xd1, 0xce, 0x67, 0xfa, 0xa4, 0xc0, 0xce, 0xa6, 0x21, 0x52, 0x51, 0x84, - 0x07, 0x6d, 0xea, 0x1f, 0xf1, 0xe7, 0xc6, 0x5b, 0xda, 0x55, 0x8b, 0x34, 0x80, 0xa8, 0xb0, 0xa1, 0x3f, 0x5d, 0x49, 0xf9, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x74, 0x3f, + 0x87, 0xb9, 0xe7, 0xac, 0x98, 0xc3, 0x20, 0x01, 0x54, 0x72, 0xd7, 0xf5, 0x04, 0xe6, 0x63, 0xda, 0x7b, 0xe8, 0x76, 0x14, 0x54, + 0x8c, 0xa6, 0xf1, 0x25, 0x23, 0x62, 0x51, 0xbf, 0xe2, 0xaf, 0xb2, 0x41, 0x01, 0x69, 0x7c, 0x14, 0xb2, 0x19, 0xb2, 0x85, 0xc2, + 0x82, 0xf4, 0xab, 0x3e, 0x74, 0x7c, 0x53, 0x59, 0x1a, 0xb3, 0x7c, 0xe8, 0x86, 0xdd, 0x86, 0x45, 0xfb, 0x09, 0x12, 0x29, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, - 0x04, 0x14, 0x1c, 0x81, 0xab, 0x79, 0x61, 0xd1, 0x48, 0xa8, 0x2a, 0x3f, 0xa2, 0x58, 0xe9, 0x90, 0xa1, 0x3d, 0x3b, 0x1b, 0xbb, - 0xd6, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xa3, 0x5b, 0xf0, 0x00, 0xd2, 0x77, 0x9d, - 0xd2, 0x8d, 0x91, 0x8a, 0x77, 0x44, 0xde, 0x5b, 0x7f, 0x11, 0xe4, 0x4d, 0x27, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x8a, 0xaf, 0x32, 0x71, 0xeb, 0x66, 0x69, 0x44, 0xdf, - 0xa1, 0xb8, 0x3a, 0x1a, 0xbd, 0x2a, 0xac, 0xb2, 0x21, 0x00, 0xae, 0x95, 0x32, 0x92, 0x5f, 0xc6, 0x29, 0x37, 0x87, 0x0a, 0x4d, - 0xe0, 0xaa, 0x02, 0x20, 0x03, 0xd5, 0xd5, 0x1c, 0x44, 0xed, 0x50, 0x3f, 0xc6, 0xec, 0xd4, 0x6e, 0x2e, 0xf1, 0xe5, 0x13, 0x8e, - 0xa9, 0xc7, 0x12, 0xa9, 0xf9, 0xca, 0x7d, 0x00, 0xee, 0xe4, 0x69, 0x55, 0xb9, 0xc1, 0x11, + 0x04, 0x14, 0x4c, 0x4f, 0x73, 0xb5, 0x17, 0x7e, 0xed, 0xb4, 0x86, 0x26, 0x80, 0xd6, 0x94, 0x08, 0x8a, 0x35, 0x1a, 0x45, 0x2c, + 0x05, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x19, 0xfa, 0x94, 0x74, 0x93, 0x29, 0xda, + 0x74, 0x0f, 0x55, 0x6a, 0x33, 0x3f, 0xb5, 0x13, 0x73, 0xd7, 0x08, 0x17, 0x56, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, + 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0x80, 0x12, 0x73, 0xaa, 0x8f, 0x9f, 0x4f, 0xbf, 0x6d, + 0x7f, 0xb6, 0xc7, 0x0b, 0x07, 0x53, 0x9c, 0x07, 0xbc, 0x12, 0x1b, 0xe2, 0x98, 0x02, 0x56, 0x73, 0xbb, 0x0b, 0x50, 0x58, 0xe8, + 0xa5, 0xea, 0x02, 0x20, 0x73, 0xf2, 0x3a, 0xd5, 0x37, 0xd7, 0xa1, 0xfc, 0x2e, 0x1b, 0x81, 0x17, 0x4d, 0x85, 0x13, 0x47, 0x50, + 0x8d, 0x6e, 0x9c, 0xf2, 0xb4, 0x66, 0xec, 0x88, 0x59, 0x3f, 0x86, 0x46, 0xfd, 0xe5, 0xb7, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8003_0019_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_0019_FB_SKID_Array[] = { - 0x1C, 0x81, 0xAB, 0x79, 0x61, 0xD1, 0x48, 0xA8, 0x2A, 0x3F, 0xA2, 0x58, 0xE9, 0x90, 0xA1, 0x3D, 0x3B, 0x1B, 0xBB, 0xD6, + 0x4C, 0x4F, 0x73, 0xB5, 0x17, 0x7E, 0xED, 0xB4, 0x86, 0x26, 0x80, 0xD6, 0x94, 0x08, 0x8A, 0x35, 0x1A, 0x45, 0x2C, 0x05, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8003_0019_FB_SKID_Array); @@ -1423,17 +1423,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-0019-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_0019_FB_PublicKey_Array[] = { - 0x04, 0x3e, 0x08, 0xc4, 0x5e, 0xbc, 0x86, 0x26, 0xd1, 0x4d, 0x10, 0xa9, 0xff, 0x57, 0x90, 0x4e, 0xc0, - 0x82, 0x85, 0x80, 0x1b, 0xe6, 0x3b, 0xd8, 0xaf, 0x4b, 0x05, 0x35, 0xbc, 0xf4, 0xbe, 0x7a, 0x6c, 0xd1, - 0xce, 0x67, 0xfa, 0xa4, 0xc0, 0xce, 0xa6, 0x21, 0x52, 0x51, 0x84, 0x07, 0x6d, 0xea, 0x1f, 0xf1, 0xe7, - 0xc6, 0x5b, 0xda, 0x55, 0x8b, 0x34, 0x80, 0xa8, 0xb0, 0xa1, 0x3f, 0x5d, 0x49, 0xf9, + 0x04, 0x74, 0x3f, 0x87, 0xb9, 0xe7, 0xac, 0x98, 0xc3, 0x20, 0x01, 0x54, 0x72, 0xd7, 0xf5, 0x04, 0xe6, + 0x63, 0xda, 0x7b, 0xe8, 0x76, 0x14, 0x54, 0x8c, 0xa6, 0xf1, 0x25, 0x23, 0x62, 0x51, 0xbf, 0xe2, 0xaf, + 0xb2, 0x41, 0x01, 0x69, 0x7c, 0x14, 0xb2, 0x19, 0xb2, 0x85, 0xc2, 0x82, 0xf4, 0xab, 0x3e, 0x74, 0x7c, + 0x53, 0x59, 0x1a, 0xb3, 0x7c, 0xe8, 0x86, 0xdd, 0x86, 0x45, 0xfb, 0x09, 0x12, 0x29, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8003_0019_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_0019_FB_PrivateKey_Array[] = { - 0x0b, 0x2f, 0xa2, 0xca, 0x32, 0x37, 0x95, 0x17, 0xc9, 0x99, 0x2f, 0x23, 0xaa, 0x6b, 0xf2, 0x3d, - 0x55, 0x86, 0x52, 0xe2, 0xf5, 0xbc, 0xc4, 0x2b, 0x94, 0x13, 0x8f, 0x17, 0xd1, 0x9f, 0x93, 0xd8, + 0xd5, 0x30, 0x2b, 0xe9, 0x1e, 0x11, 0x11, 0x1d, 0x05, 0x79, 0x04, 0x1b, 0xac, 0x66, 0x17, 0x21, + 0xc5, 0xab, 0x51, 0x6d, 0xcb, 0x41, 0x18, 0x9f, 0xa3, 0x50, 0xa3, 0x0b, 0xc2, 0x6f, 0x13, 0xb9, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8003_0019_FB_PrivateKey_Array); @@ -1441,33 +1441,33 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_0019_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_001A_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x24, 0x80, 0xb8, 0x0f, 0x43, 0xcf, - 0x4d, 0x86, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, + 0x30, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x0d, 0xde, 0x73, 0x14, 0xb3, 0x6e, + 0xe4, 0x2a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x19, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x41, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x33, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x31, 0x27, - 0xf7, 0x0e, 0x30, 0xa9, 0x99, 0x54, 0x7d, 0xe9, 0x99, 0x6d, 0x4d, 0x19, 0x4e, 0x7d, 0x03, 0x54, 0x8b, 0xe9, 0x68, 0xad, 0x37, - 0x05, 0xef, 0x06, 0xe8, 0x64, 0x47, 0xe9, 0x5e, 0x4c, 0xb8, 0xc9, 0xf2, 0x8f, 0x30, 0x82, 0x70, 0x94, 0xcb, 0x31, 0x70, 0x39, - 0x6f, 0xd7, 0x55, 0x45, 0x57, 0xda, 0x88, 0x18, 0x5d, 0x4c, 0x1e, 0xda, 0x94, 0x2f, 0xcd, 0x23, 0x09, 0xf8, 0xad, 0xc4, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x37, 0xb4, + 0xe0, 0x3d, 0x45, 0x95, 0x22, 0xfa, 0x2f, 0xa7, 0x76, 0x17, 0x39, 0xcb, 0x2e, 0xdb, 0xc1, 0x14, 0x85, 0x50, 0x1b, 0x40, 0xdb, + 0xb0, 0x82, 0x6f, 0x62, 0x4e, 0x54, 0xe0, 0x62, 0x72, 0x63, 0x94, 0x7f, 0x4f, 0xf2, 0x12, 0xf9, 0xb6, 0x99, 0x30, 0x0a, 0x2c, + 0x6a, 0xc5, 0x3e, 0xa8, 0x69, 0xa4, 0x9c, 0x15, 0xe2, 0x16, 0x65, 0xe5, 0x30, 0xdb, 0x56, 0x0a, 0x87, 0x51, 0x4d, 0x71, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, - 0x04, 0x14, 0x0a, 0xba, 0xd2, 0xbe, 0xb9, 0x59, 0xea, 0xa2, 0xc6, 0x0b, 0xd5, 0x67, 0xd2, 0xd2, 0xbb, 0x8b, 0xa6, 0xc3, 0xa8, - 0x15, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xa3, 0x5b, 0xf0, 0x00, 0xd2, 0x77, 0x9d, - 0xd2, 0x8d, 0x91, 0x8a, 0x77, 0x44, 0xde, 0x5b, 0x7f, 0x11, 0xe4, 0x4d, 0x27, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x36, 0x65, 0x77, 0xcb, 0x22, 0x76, 0x25, 0x53, 0xe3, 0x70, - 0x1b, 0x74, 0xd0, 0x89, 0xc8, 0xe3, 0x66, 0x4f, 0x29, 0x67, 0x25, 0x3d, 0xf9, 0xd3, 0x6d, 0x4c, 0x7a, 0xab, 0xfa, 0x7f, 0x3e, - 0x4c, 0x02, 0x21, 0x00, 0xee, 0x5b, 0x5e, 0x9d, 0x96, 0x43, 0x12, 0x73, 0x6e, 0xa2, 0xff, 0xf9, 0xca, 0xde, 0x8e, 0xa6, 0x8f, - 0x55, 0xbd, 0x41, 0x95, 0x99, 0x97, 0xc2, 0xf3, 0x28, 0x72, 0xc6, 0x3f, 0x4a, 0x76, 0x82, + 0x04, 0x14, 0x55, 0xb3, 0xfc, 0x16, 0x29, 0x6d, 0x5a, 0x9d, 0xfa, 0xe5, 0xb3, 0x96, 0x68, 0x72, 0x34, 0x2a, 0x30, 0x81, 0x44, + 0x99, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x19, 0xfa, 0x94, 0x74, 0x93, 0x29, 0xda, + 0x74, 0x0f, 0x55, 0x6a, 0x33, 0x3f, 0xb5, 0x13, 0x73, 0xd7, 0x08, 0x17, 0x56, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, + 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x57, 0xa8, 0x2f, 0x74, 0x9f, 0xc5, 0x30, 0x30, 0x74, 0x5c, + 0x23, 0x02, 0xee, 0xdd, 0x81, 0xb3, 0x2a, 0x78, 0x12, 0x49, 0x57, 0x0e, 0x52, 0x61, 0xc0, 0xe7, 0xde, 0x5d, 0xf7, 0x9d, 0x49, + 0xde, 0x02, 0x21, 0x00, 0xf2, 0xa6, 0xe0, 0xc7, 0x1a, 0xcb, 0xa5, 0xf3, 0x07, 0xbb, 0x77, 0x51, 0xa0, 0x8f, 0xe6, 0xbf, 0xaa, + 0x58, 0x11, 0x9b, 0x9d, 0x27, 0x09, 0xc6, 0x24, 0x6d, 0xf4, 0x9b, 0xe9, 0x6b, 0x62, 0x89, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8003_001A_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_001A_FB_SKID_Array[] = { - 0x0A, 0xBA, 0xD2, 0xBE, 0xB9, 0x59, 0xEA, 0xA2, 0xC6, 0x0B, 0xD5, 0x67, 0xD2, 0xD2, 0xBB, 0x8B, 0xA6, 0xC3, 0xA8, 0x15, + 0x55, 0xB3, 0xFC, 0x16, 0x29, 0x6D, 0x5A, 0x9D, 0xFA, 0xE5, 0xB3, 0x96, 0x68, 0x72, 0x34, 0x2A, 0x30, 0x81, 0x44, 0x99, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8003_001A_FB_SKID_Array); @@ -1475,17 +1475,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001A-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_001A_FB_PublicKey_Array[] = { - 0x04, 0x31, 0x27, 0xf7, 0x0e, 0x30, 0xa9, 0x99, 0x54, 0x7d, 0xe9, 0x99, 0x6d, 0x4d, 0x19, 0x4e, 0x7d, - 0x03, 0x54, 0x8b, 0xe9, 0x68, 0xad, 0x37, 0x05, 0xef, 0x06, 0xe8, 0x64, 0x47, 0xe9, 0x5e, 0x4c, 0xb8, - 0xc9, 0xf2, 0x8f, 0x30, 0x82, 0x70, 0x94, 0xcb, 0x31, 0x70, 0x39, 0x6f, 0xd7, 0x55, 0x45, 0x57, 0xda, - 0x88, 0x18, 0x5d, 0x4c, 0x1e, 0xda, 0x94, 0x2f, 0xcd, 0x23, 0x09, 0xf8, 0xad, 0xc4, + 0x04, 0x37, 0xb4, 0xe0, 0x3d, 0x45, 0x95, 0x22, 0xfa, 0x2f, 0xa7, 0x76, 0x17, 0x39, 0xcb, 0x2e, 0xdb, + 0xc1, 0x14, 0x85, 0x50, 0x1b, 0x40, 0xdb, 0xb0, 0x82, 0x6f, 0x62, 0x4e, 0x54, 0xe0, 0x62, 0x72, 0x63, + 0x94, 0x7f, 0x4f, 0xf2, 0x12, 0xf9, 0xb6, 0x99, 0x30, 0x0a, 0x2c, 0x6a, 0xc5, 0x3e, 0xa8, 0x69, 0xa4, + 0x9c, 0x15, 0xe2, 0x16, 0x65, 0xe5, 0x30, 0xdb, 0x56, 0x0a, 0x87, 0x51, 0x4d, 0x71, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8003_001A_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_001A_FB_PrivateKey_Array[] = { - 0xa9, 0x6f, 0xd4, 0xce, 0x72, 0x3b, 0xfa, 0x78, 0x41, 0x2a, 0x30, 0x73, 0x52, 0xdd, 0xc3, 0xf2, - 0xe5, 0xe2, 0xe5, 0xfa, 0x59, 0xb5, 0xdb, 0x16, 0x6e, 0x8c, 0xa8, 0xd3, 0x39, 0x6b, 0x42, 0x76, + 0x1a, 0x94, 0x70, 0x1e, 0x70, 0x5f, 0xb3, 0x83, 0x15, 0x5a, 0x4e, 0xdf, 0x84, 0xad, 0x67, 0xbf, + 0x9f, 0x93, 0x48, 0x76, 0x0d, 0x28, 0x46, 0xba, 0xdc, 0x75, 0xc4, 0xf8, 0x63, 0x5c, 0xcb, 0x0b, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8003_001A_FB_PrivateKey_Array); @@ -1493,33 +1493,33 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_001A_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_001B_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xaf, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x0e, 0x4e, 0xbf, 0x8c, 0x73, 0x2a, - 0x62, 0x6f, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, + 0x30, 0x82, 0x01, 0xb0, 0x30, 0x82, 0x01, 0x55, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x38, 0x52, 0x74, 0x71, 0x96, 0xfa, + 0x6a, 0xf1, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x19, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x42, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x33, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x65, 0x84, - 0x11, 0x4e, 0x98, 0x2f, 0x58, 0x5e, 0x7c, 0xe1, 0x8e, 0xde, 0xc6, 0xe6, 0x3f, 0x19, 0x74, 0x04, 0x5a, 0x60, 0xe6, 0x57, 0x2e, - 0xfd, 0x7f, 0x62, 0xf9, 0x50, 0xc4, 0x02, 0x2b, 0xa3, 0xe7, 0x37, 0xee, 0x61, 0x84, 0xb7, 0xef, 0x76, 0xf1, 0x0f, 0x34, 0x18, - 0x74, 0x72, 0x6a, 0xb4, 0x8c, 0x36, 0x0e, 0x33, 0x80, 0x6d, 0xee, 0x00, 0xec, 0x34, 0x40, 0xd0, 0x47, 0x26, 0x8e, 0x81, 0xa3, + 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xc7, 0x8e, + 0xe5, 0x70, 0xc3, 0x2c, 0x8b, 0x31, 0xb1, 0x2d, 0xbb, 0x26, 0xb5, 0x58, 0xee, 0xdb, 0x2c, 0xfe, 0x7e, 0xcb, 0x7c, 0x61, 0x65, + 0xa5, 0x2e, 0x2a, 0x84, 0x18, 0xbe, 0x2e, 0xca, 0x7e, 0x28, 0x1f, 0x6d, 0x54, 0x27, 0x54, 0xe6, 0xc2, 0xfa, 0x07, 0x6c, 0xe9, + 0xc1, 0x7b, 0xf9, 0x4d, 0xe1, 0x0e, 0x2a, 0xea, 0x4f, 0x89, 0xed, 0x70, 0xe2, 0x6e, 0x85, 0x0f, 0x49, 0xa9, 0xb5, 0x7e, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, - 0x04, 0x14, 0x66, 0x5e, 0x97, 0x9a, 0x05, 0xbb, 0xbf, 0xe4, 0xae, 0x29, 0x3a, 0xd1, 0xc8, 0x6c, 0xca, 0x59, 0x61, 0x19, 0x8a, - 0x16, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xa3, 0x5b, 0xf0, 0x00, 0xd2, 0x77, 0x9d, - 0xd2, 0x8d, 0x91, 0x8a, 0x77, 0x44, 0xde, 0x5b, 0x7f, 0x11, 0xe4, 0x4d, 0x27, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x70, 0x6f, 0xa0, 0x32, 0x82, 0xbe, 0xba, 0x71, 0x36, 0xb2, - 0x66, 0x24, 0x2c, 0x65, 0xd7, 0xd9, 0x0b, 0xd0, 0xd3, 0xe9, 0xdf, 0xe9, 0x92, 0xbf, 0x6b, 0xfb, 0x76, 0x79, 0x7e, 0xb5, 0x4e, - 0xfa, 0x02, 0x21, 0x00, 0xad, 0x8d, 0x1e, 0xe8, 0x74, 0x44, 0xf1, 0x44, 0x08, 0x0f, 0x2a, 0x54, 0x81, 0x3d, 0x58, 0x9c, 0xaf, - 0xed, 0x7c, 0x4e, 0xfa, 0x68, 0x44, 0xf2, 0x93, 0xad, 0xc9, 0x26, 0x77, 0x49, 0x7b, 0x1b, + 0x04, 0x14, 0x11, 0xf1, 0x0f, 0x09, 0x08, 0x78, 0xb5, 0xb8, 0x29, 0x32, 0x45, 0xce, 0x27, 0xe7, 0x8c, 0x5d, 0x3e, 0x97, 0x2f, + 0xd9, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x19, 0xfa, 0x94, 0x74, 0x93, 0x29, 0xda, + 0x74, 0x0f, 0x55, 0x6a, 0x33, 0x3f, 0xb5, 0x13, 0x73, 0xd7, 0x08, 0x17, 0x56, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, + 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, 0x00, 0xbf, 0x77, 0x77, 0xe7, 0x6c, 0x18, 0x4e, 0xdb, 0xb2, + 0x03, 0x71, 0xe8, 0xf3, 0x72, 0xec, 0xd1, 0xdc, 0x9f, 0x81, 0x2a, 0x44, 0xd2, 0xdb, 0x43, 0x68, 0x89, 0x1f, 0x1b, 0x59, 0xab, + 0xa4, 0x7b, 0x02, 0x21, 0x00, 0xce, 0x48, 0x82, 0xbd, 0x52, 0x92, 0x0b, 0x39, 0x04, 0xcb, 0x4d, 0x3e, 0x84, 0xf7, 0x78, 0xcb, + 0x15, 0xd2, 0x50, 0x74, 0xc8, 0xad, 0x98, 0x2c, 0x5e, 0xcf, 0xa9, 0xc4, 0xab, 0x40, 0xbb, 0x83, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8003_001B_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_001B_FB_SKID_Array[] = { - 0x66, 0x5E, 0x97, 0x9A, 0x05, 0xBB, 0xBF, 0xE4, 0xAE, 0x29, 0x3A, 0xD1, 0xC8, 0x6C, 0xCA, 0x59, 0x61, 0x19, 0x8A, 0x16, + 0x11, 0xF1, 0x0F, 0x09, 0x08, 0x78, 0xB5, 0xB8, 0x29, 0x32, 0x45, 0xCE, 0x27, 0xE7, 0x8C, 0x5D, 0x3E, 0x97, 0x2F, 0xD9, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8003_001B_FB_SKID_Array); @@ -1527,17 +1527,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8003-001B-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8003_001B_FB_PublicKey_Array[] = { - 0x04, 0x65, 0x84, 0x11, 0x4e, 0x98, 0x2f, 0x58, 0x5e, 0x7c, 0xe1, 0x8e, 0xde, 0xc6, 0xe6, 0x3f, 0x19, - 0x74, 0x04, 0x5a, 0x60, 0xe6, 0x57, 0x2e, 0xfd, 0x7f, 0x62, 0xf9, 0x50, 0xc4, 0x02, 0x2b, 0xa3, 0xe7, - 0x37, 0xee, 0x61, 0x84, 0xb7, 0xef, 0x76, 0xf1, 0x0f, 0x34, 0x18, 0x74, 0x72, 0x6a, 0xb4, 0x8c, 0x36, - 0x0e, 0x33, 0x80, 0x6d, 0xee, 0x00, 0xec, 0x34, 0x40, 0xd0, 0x47, 0x26, 0x8e, 0x81, + 0x04, 0xc7, 0x8e, 0xe5, 0x70, 0xc3, 0x2c, 0x8b, 0x31, 0xb1, 0x2d, 0xbb, 0x26, 0xb5, 0x58, 0xee, 0xdb, + 0x2c, 0xfe, 0x7e, 0xcb, 0x7c, 0x61, 0x65, 0xa5, 0x2e, 0x2a, 0x84, 0x18, 0xbe, 0x2e, 0xca, 0x7e, 0x28, + 0x1f, 0x6d, 0x54, 0x27, 0x54, 0xe6, 0xc2, 0xfa, 0x07, 0x6c, 0xe9, 0xc1, 0x7b, 0xf9, 0x4d, 0xe1, 0x0e, + 0x2a, 0xea, 0x4f, 0x89, 0xed, 0x70, 0xe2, 0x6e, 0x85, 0x0f, 0x49, 0xa9, 0xb5, 0x7e, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8003_001B_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8003_001B_FB_PrivateKey_Array[] = { - 0x6f, 0xe3, 0xe1, 0x08, 0xc4, 0xf2, 0x19, 0x36, 0x6f, 0x8e, 0x87, 0xa9, 0x7e, 0x5e, 0x8a, 0xa5, - 0x3a, 0xd4, 0xbd, 0x8a, 0x9e, 0xb8, 0x5d, 0x3d, 0xee, 0xbf, 0x94, 0xe7, 0x41, 0xc8, 0x9a, 0x22, + 0xb9, 0xf1, 0x7e, 0xf4, 0xff, 0xc0, 0x26, 0xaf, 0x96, 0xf6, 0xb6, 0x3b, 0x96, 0x3d, 0x52, 0x97, + 0xe1, 0xc4, 0x24, 0xe3, 0xcd, 0xcf, 0x2e, 0x1b, 0xe1, 0x39, 0xc7, 0x2a, 0xc0, 0x68, 0x88, 0x1a, }; extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8003_001B_FB_PrivateKey_Array); @@ -1545,8 +1545,8 @@ extern const ByteSpan sTestCert_DAC_FFF2_8003_001B_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001C_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x3f, 0x04, 0x2c, 0x7d, 0x84, 0xc1, - 0x37, 0x83, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, + 0x30, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x1a, 0xad, 0x64, 0xa6, 0x95, 0x07, + 0xcd, 0xcf, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, @@ -1554,25 +1554,25 @@ constexpr uint8_t sTestCert_DAC_FFF2_8004_001C_FB_Cert_Array[] = { 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x43, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xd2, 0xd4, 0x6e, 0xce, 0x4b, 0xa4, 0x7a, 0x77, 0x1d, 0xef, 0xdd, 0x35, 0x48, - 0x13, 0xe7, 0x69, 0xae, 0x3b, 0xaf, 0xa0, 0xb2, 0x0e, 0x07, 0xf4, 0x28, 0x58, 0xea, 0xd9, 0x4b, 0x61, 0xe7, 0xa2, 0x4a, 0x53, - 0x6a, 0xa1, 0xbd, 0xfb, 0x1d, 0x04, 0x6d, 0xc0, 0x37, 0xa8, 0xb7, 0x6a, 0x34, 0xcf, 0x98, 0xd3, 0xdf, 0x36, 0x28, 0x99, 0xdd, - 0xb2, 0x3d, 0x27, 0xf2, 0x88, 0x23, 0x76, 0x92, 0x8c, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xd9, 0x00, 0x0e, 0xe4, 0x63, 0xcd, 0x36, 0x84, 0x71, 0x06, 0x4c, 0x3d, 0x28, + 0xfc, 0x34, 0x15, 0x68, 0x8d, 0xaf, 0x2e, 0x5a, 0xc4, 0xe4, 0xd8, 0x28, 0xd8, 0xd4, 0xb2, 0x11, 0xd8, 0xe6, 0xd3, 0x59, 0xb9, + 0x59, 0x64, 0x47, 0xda, 0x57, 0x80, 0xb0, 0x62, 0xb5, 0xc3, 0xa5, 0x00, 0xcc, 0xfc, 0xe5, 0x43, 0x23, 0x79, 0xe9, 0x2f, 0xcc, + 0x2c, 0x89, 0x27, 0x4d, 0xf1, 0x19, 0x23, 0xe7, 0x32, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, - 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xa1, 0x05, 0x77, 0xca, 0x1d, 0xfc, 0x8e, 0xb3, 0xf7, - 0x0c, 0xd9, 0xf5, 0xd6, 0x45, 0x34, 0xa2, 0x25, 0xaa, 0x80, 0x72, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, - 0x16, 0x80, 0x14, 0x41, 0x98, 0x0d, 0x4c, 0x17, 0x0b, 0x89, 0xd0, 0x71, 0x63, 0x83, 0x6d, 0x5e, 0xc3, 0xa8, 0x00, 0xb9, 0x38, - 0xe3, 0x87, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, - 0x00, 0xa9, 0xca, 0xeb, 0x41, 0x0a, 0xfc, 0x1c, 0x89, 0xb4, 0x10, 0x08, 0xe3, 0x8b, 0x94, 0x2e, 0x5c, 0x6b, 0xe5, 0xfb, 0x4e, - 0x6a, 0x49, 0x39, 0xb8, 0x3e, 0x52, 0x75, 0xce, 0x4f, 0x7e, 0xee, 0xcb, 0x02, 0x20, 0x2d, 0x62, 0x3f, 0xfd, 0xc6, 0xec, 0x89, - 0xc3, 0x71, 0xbb, 0x0c, 0x40, 0xd2, 0xdb, 0x5c, 0x7d, 0xde, 0x1d, 0xd2, 0x14, 0x10, 0x91, 0xae, 0xfe, 0xe4, 0x04, 0x72, 0x1e, - 0xfe, 0xad, 0xee, 0x99, + 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xc0, 0x32, 0x51, 0x0a, 0x09, 0xe4, 0x76, 0xdb, 0x55, + 0x23, 0x0c, 0xa4, 0x7b, 0xd6, 0x5a, 0x6b, 0xa5, 0x12, 0x34, 0x79, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, + 0x06, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, + 0x00, 0xba, 0xd9, 0x9d, 0x34, 0x1d, 0x38, 0x4d, 0x9e, 0x8d, 0x2e, 0xa0, 0x6d, 0x09, 0xe6, 0x37, 0x88, 0xa7, 0x04, 0x90, 0xf3, + 0x98, 0xfc, 0xd8, 0xc4, 0x7c, 0x2b, 0xfa, 0xb7, 0x7b, 0x8b, 0xd4, 0xfb, 0x02, 0x20, 0x1d, 0x8d, 0x40, 0x9a, 0x3e, 0x93, 0x7e, + 0x16, 0x11, 0x11, 0x6a, 0xed, 0xd0, 0xc9, 0xe2, 0x9a, 0x71, 0x91, 0x4a, 0x63, 0x0b, 0x0c, 0x32, 0xdb, 0xda, 0x45, 0xf6, 0x1b, + 0x26, 0x73, 0x6e, 0x7d, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8004_001C_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001C_FB_SKID_Array[] = { - 0xA1, 0x05, 0x77, 0xCA, 0x1D, 0xFC, 0x8E, 0xB3, 0xF7, 0x0C, 0xD9, 0xF5, 0xD6, 0x45, 0x34, 0xA2, 0x25, 0xAA, 0x80, 0x72, + 0xC0, 0x32, 0x51, 0x0A, 0x09, 0xE4, 0x76, 0xDB, 0x55, 0x23, 0x0C, 0xA4, 0x7B, 0xD6, 0x5A, 0x6B, 0xA5, 0x12, 0x34, 0x79, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8004_001C_FB_SKID_Array); @@ -1580,17 +1580,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001C-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001C_FB_PublicKey_Array[] = { - 0x04, 0xd2, 0xd4, 0x6e, 0xce, 0x4b, 0xa4, 0x7a, 0x77, 0x1d, 0xef, 0xdd, 0x35, 0x48, 0x13, 0xe7, 0x69, - 0xae, 0x3b, 0xaf, 0xa0, 0xb2, 0x0e, 0x07, 0xf4, 0x28, 0x58, 0xea, 0xd9, 0x4b, 0x61, 0xe7, 0xa2, 0x4a, - 0x53, 0x6a, 0xa1, 0xbd, 0xfb, 0x1d, 0x04, 0x6d, 0xc0, 0x37, 0xa8, 0xb7, 0x6a, 0x34, 0xcf, 0x98, 0xd3, - 0xdf, 0x36, 0x28, 0x99, 0xdd, 0xb2, 0x3d, 0x27, 0xf2, 0x88, 0x23, 0x76, 0x92, 0x8c, + 0x04, 0xd9, 0x00, 0x0e, 0xe4, 0x63, 0xcd, 0x36, 0x84, 0x71, 0x06, 0x4c, 0x3d, 0x28, 0xfc, 0x34, 0x15, + 0x68, 0x8d, 0xaf, 0x2e, 0x5a, 0xc4, 0xe4, 0xd8, 0x28, 0xd8, 0xd4, 0xb2, 0x11, 0xd8, 0xe6, 0xd3, 0x59, + 0xb9, 0x59, 0x64, 0x47, 0xda, 0x57, 0x80, 0xb0, 0x62, 0xb5, 0xc3, 0xa5, 0x00, 0xcc, 0xfc, 0xe5, 0x43, + 0x23, 0x79, 0xe9, 0x2f, 0xcc, 0x2c, 0x89, 0x27, 0x4d, 0xf1, 0x19, 0x23, 0xe7, 0x32, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8004_001C_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001C_FB_PrivateKey_Array[] = { - 0xdf, 0xb7, 0xe8, 0xef, 0xaa, 0xbe, 0x37, 0x6b, 0x66, 0x1f, 0x1d, 0x4d, 0xe9, 0x8b, 0x14, 0x1b, - 0x02, 0x58, 0x90, 0x79, 0x07, 0x10, 0xa1, 0x93, 0x77, 0x52, 0x20, 0x6b, 0x20, 0xb6, 0x46, 0x6e, + 0xf4, 0xd8, 0xd0, 0xb2, 0x50, 0x85, 0xa4, 0x8d, 0x96, 0xa6, 0x36, 0xda, 0xe5, 0x65, 0x36, 0xab, + 0x75, 0x10, 0xb8, 0xc0, 0x64, 0xd9, 0x4b, 0x5d, 0x0b, 0xcb, 0x6f, 0xa9, 0x00, 0x12, 0xeb, 0x80, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8004_001C_FB_PrivateKey_Array); @@ -1598,8 +1598,8 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001C_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001D_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xba, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x47, 0x8c, 0x18, 0xe3, 0x23, 0xf6, - 0xd1, 0x39, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, + 0x30, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x42, 0xaf, 0xcf, 0xa9, 0x11, 0xb7, + 0x6f, 0xa5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, @@ -1607,25 +1607,25 @@ constexpr uint8_t sTestCert_DAC_FFF2_8004_001D_FB_Cert_Array[] = { 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x44, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xb9, 0xc9, 0xcc, 0x12, 0xcd, 0xd6, 0x67, 0x91, 0xd5, 0x52, 0xe4, 0xc3, 0x56, - 0x22, 0xa6, 0x68, 0x00, 0x21, 0x97, 0xad, 0x23, 0x8d, 0x8c, 0x39, 0x97, 0x07, 0x3d, 0x35, 0x53, 0x3a, 0x54, 0x0a, 0xb8, 0xc0, - 0x14, 0x78, 0xea, 0x86, 0x39, 0x82, 0x0b, 0x21, 0x09, 0xe3, 0xff, 0x02, 0xc0, 0x81, 0xc0, 0x6c, 0xf3, 0xb3, 0xd9, 0x2b, 0x72, - 0xb0, 0xa4, 0xd8, 0xe5, 0x2b, 0x7a, 0x83, 0x08, 0xce, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xd3, 0x4a, 0x2c, 0x59, 0xa2, 0xc6, 0xec, 0x5c, 0x3b, 0xd3, 0xea, 0x39, 0x00, + 0x66, 0x34, 0x05, 0xd9, 0x05, 0x5c, 0x22, 0xdf, 0xb2, 0x4e, 0x10, 0xce, 0xa2, 0x8c, 0x6b, 0x61, 0x8e, 0x03, 0x7e, 0x95, 0x3e, + 0x19, 0x74, 0x14, 0xa2, 0x23, 0x66, 0x79, 0x77, 0x96, 0x5c, 0x64, 0xcb, 0x90, 0x02, 0x18, 0xe5, 0xd5, 0x1b, 0x12, 0x9f, 0x19, + 0x46, 0x4e, 0xe4, 0x97, 0x2f, 0x24, 0xfa, 0x87, 0xd2, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, - 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x95, 0xd0, 0xd8, 0xc9, 0xf1, 0x94, 0xe2, 0x9a, 0xc2, - 0x8c, 0x76, 0x1f, 0xc7, 0x32, 0x3b, 0x5e, 0xa8, 0x82, 0xa9, 0x38, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, - 0x16, 0x80, 0x14, 0x41, 0x98, 0x0d, 0x4c, 0x17, 0x0b, 0x89, 0xd0, 0x71, 0x63, 0x83, 0x6d, 0x5e, 0xc3, 0xa8, 0x00, 0xb9, 0x38, - 0xe3, 0x87, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, 0x21, - 0x00, 0xd4, 0xd8, 0xa4, 0x39, 0x1c, 0x91, 0xae, 0x9d, 0xc9, 0x7f, 0x64, 0xf9, 0xec, 0xb4, 0xa4, 0xc7, 0x64, 0x58, 0xb4, 0xde, - 0x46, 0x4a, 0x31, 0xe1, 0x4b, 0x39, 0x7c, 0xec, 0x0a, 0xbd, 0x99, 0x1c, 0x02, 0x21, 0x00, 0x80, 0xfe, 0x79, 0xec, 0x41, 0xd3, - 0x4d, 0xb4, 0xfc, 0xed, 0xa0, 0xf1, 0x79, 0xae, 0x1e, 0xbc, 0x63, 0x6b, 0x61, 0xbe, 0xf4, 0x4f, 0x71, 0x62, 0xfe, 0x88, 0xb5, - 0x3c, 0x9c, 0x0d, 0xce, 0xac, + 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x21, 0xf9, 0x47, 0x53, 0x37, 0x61, 0xa5, 0xd9, 0x3e, + 0xbf, 0x88, 0x34, 0x9c, 0xa8, 0x1f, 0xff, 0x77, 0x0b, 0x21, 0xb3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, + 0x06, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, + 0x00, 0xea, 0x33, 0x22, 0x48, 0x5e, 0x83, 0x9f, 0x89, 0x38, 0x88, 0x3c, 0x61, 0x04, 0x6b, 0x01, 0x03, 0x7e, 0xcf, 0x92, 0x96, + 0x9f, 0x9b, 0x53, 0x8d, 0x57, 0x37, 0xab, 0x8a, 0xb6, 0x65, 0x49, 0x74, 0x02, 0x20, 0x52, 0x2b, 0xd3, 0x77, 0xa1, 0xb1, 0xb8, + 0xb5, 0x26, 0xc4, 0x8f, 0xc1, 0x6b, 0xc6, 0x6d, 0x20, 0x14, 0xa5, 0x41, 0x06, 0xb1, 0x83, 0x1c, 0x8b, 0x23, 0xd0, 0xb1, 0x7b, + 0x92, 0xcf, 0xb8, 0xae, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8004_001D_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001D_FB_SKID_Array[] = { - 0x95, 0xD0, 0xD8, 0xC9, 0xF1, 0x94, 0xE2, 0x9A, 0xC2, 0x8C, 0x76, 0x1F, 0xC7, 0x32, 0x3B, 0x5E, 0xA8, 0x82, 0xA9, 0x38, + 0x21, 0xF9, 0x47, 0x53, 0x37, 0x61, 0xA5, 0xD9, 0x3E, 0xBF, 0x88, 0x34, 0x9C, 0xA8, 0x1F, 0xFF, 0x77, 0x0B, 0x21, 0xB3, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8004_001D_FB_SKID_Array); @@ -1633,17 +1633,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001D-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001D_FB_PublicKey_Array[] = { - 0x04, 0xb9, 0xc9, 0xcc, 0x12, 0xcd, 0xd6, 0x67, 0x91, 0xd5, 0x52, 0xe4, 0xc3, 0x56, 0x22, 0xa6, 0x68, - 0x00, 0x21, 0x97, 0xad, 0x23, 0x8d, 0x8c, 0x39, 0x97, 0x07, 0x3d, 0x35, 0x53, 0x3a, 0x54, 0x0a, 0xb8, - 0xc0, 0x14, 0x78, 0xea, 0x86, 0x39, 0x82, 0x0b, 0x21, 0x09, 0xe3, 0xff, 0x02, 0xc0, 0x81, 0xc0, 0x6c, - 0xf3, 0xb3, 0xd9, 0x2b, 0x72, 0xb0, 0xa4, 0xd8, 0xe5, 0x2b, 0x7a, 0x83, 0x08, 0xce, + 0x04, 0xd3, 0x4a, 0x2c, 0x59, 0xa2, 0xc6, 0xec, 0x5c, 0x3b, 0xd3, 0xea, 0x39, 0x00, 0x66, 0x34, 0x05, + 0xd9, 0x05, 0x5c, 0x22, 0xdf, 0xb2, 0x4e, 0x10, 0xce, 0xa2, 0x8c, 0x6b, 0x61, 0x8e, 0x03, 0x7e, 0x95, + 0x3e, 0x19, 0x74, 0x14, 0xa2, 0x23, 0x66, 0x79, 0x77, 0x96, 0x5c, 0x64, 0xcb, 0x90, 0x02, 0x18, 0xe5, + 0xd5, 0x1b, 0x12, 0x9f, 0x19, 0x46, 0x4e, 0xe4, 0x97, 0x2f, 0x24, 0xfa, 0x87, 0xd2, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8004_001D_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001D_FB_PrivateKey_Array[] = { - 0xe8, 0x03, 0x09, 0x77, 0x8e, 0x14, 0x71, 0xcd, 0x45, 0x56, 0xcc, 0x2f, 0x5d, 0xf9, 0x50, 0xee, - 0xfc, 0x97, 0xea, 0x5d, 0x33, 0x50, 0x9f, 0xd1, 0x3c, 0xdf, 0xe4, 0x70, 0xd8, 0xb7, 0x71, 0x78, + 0xeb, 0x02, 0x7e, 0x67, 0x6c, 0xb0, 0x6c, 0xa9, 0xf0, 0xb6, 0xee, 0x2a, 0x5b, 0xfb, 0x9c, 0x8c, + 0xb0, 0x9a, 0xc5, 0x47, 0x73, 0xd9, 0x11, 0x40, 0xd1, 0x1e, 0x45, 0x2a, 0x42, 0xaa, 0xa6, 0x0c, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8004_001D_FB_PrivateKey_Array); @@ -1651,8 +1651,8 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001D_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001E_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x2b, 0x48, 0x6a, 0x62, 0x46, 0xc4, - 0x89, 0x8d, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, + 0x30, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x38, 0x58, 0x3c, 0x1d, 0x11, 0xa8, + 0x2b, 0xc6, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, @@ -1660,25 +1660,25 @@ constexpr uint8_t sTestCert_DAC_FFF2_8004_001E_FB_Cert_Array[] = { 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x45, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x7b, 0x16, 0x45, 0xe7, 0xf5, 0xb7, 0x41, 0x1f, 0xcc, 0x0a, 0x89, 0x85, 0x61, - 0x23, 0xe8, 0x8e, 0x93, 0x4c, 0x2c, 0x8c, 0xc9, 0xd4, 0x62, 0x1a, 0xb0, 0xcd, 0xaf, 0x88, 0x60, 0x6c, 0xde, 0xbc, 0x0f, 0x71, - 0x3c, 0xf6, 0xa2, 0xee, 0x09, 0xdc, 0xc0, 0xcb, 0x1e, 0x64, 0x20, 0xf3, 0x44, 0x5d, 0x21, 0xe2, 0x6e, 0x98, 0x26, 0xab, 0x6c, - 0xca, 0x3d, 0x89, 0x0b, 0x6f, 0x77, 0xe0, 0xc9, 0x24, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x6e, 0x98, 0x0d, 0x08, 0x26, 0x6b, 0x93, 0x7c, 0x46, 0x41, 0x60, 0xe1, 0x2b, + 0x25, 0xb2, 0x7b, 0x8f, 0xbd, 0xfb, 0x4f, 0xca, 0xe6, 0xc0, 0x2e, 0x7f, 0x60, 0x92, 0xc1, 0xf6, 0xf4, 0x3b, 0x56, 0xa6, 0x0e, + 0xa1, 0x62, 0x98, 0x17, 0x83, 0xe6, 0xdd, 0xc5, 0xdd, 0xe7, 0xe4, 0x74, 0x3a, 0xab, 0x5c, 0xd1, 0xfc, 0x92, 0x79, 0x9d, 0xb3, + 0x1a, 0xde, 0xc0, 0x8d, 0xb1, 0x58, 0x84, 0x01, 0xd0, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, - 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x32, 0x47, 0x64, 0x97, 0x0b, 0x98, 0x16, 0x15, 0x6e, - 0x7e, 0xbd, 0x3e, 0x1c, 0xdb, 0x68, 0x56, 0x9d, 0xf5, 0x19, 0x58, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, - 0x16, 0x80, 0x14, 0x41, 0x98, 0x0d, 0x4c, 0x17, 0x0b, 0x89, 0xd0, 0x71, 0x63, 0x83, 0x6d, 0x5e, 0xc3, 0xa8, 0x00, 0xb9, 0x38, - 0xe3, 0x87, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, - 0x25, 0xdb, 0xb8, 0x6c, 0xb6, 0x9d, 0x1e, 0xe2, 0xac, 0x04, 0xcc, 0x60, 0x20, 0xc5, 0xb1, 0xd6, 0x66, 0x33, 0x0a, 0x83, 0x01, - 0x9a, 0x1b, 0x55, 0x5b, 0xab, 0xed, 0x19, 0x95, 0x16, 0x2c, 0x31, 0x02, 0x21, 0x00, 0xa3, 0xcf, 0xcb, 0x81, 0xd4, 0xbe, 0xd2, - 0xc4, 0xc4, 0x56, 0x4a, 0x46, 0xf1, 0x96, 0xc1, 0xe7, 0x95, 0x08, 0x41, 0xac, 0x52, 0x98, 0xe2, 0xd9, 0xcc, 0xc9, 0xb5, 0x36, - 0xf9, 0x45, 0x18, 0x68, + 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xf8, 0x92, 0x5a, 0xb3, 0x60, 0x86, 0x28, 0x94, 0x3f, + 0x3d, 0xdb, 0x88, 0xf1, 0xe3, 0xe8, 0x1f, 0xef, 0x35, 0xc7, 0x48, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, + 0x06, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, + 0x1b, 0x5f, 0xdd, 0xad, 0x5d, 0x4b, 0x14, 0x5c, 0xcd, 0x6e, 0x51, 0xf3, 0x9f, 0xa0, 0x14, 0xd8, 0x83, 0xa5, 0xa3, 0xf0, 0x0b, + 0xd7, 0x39, 0x47, 0x16, 0xad, 0x21, 0xd6, 0x57, 0x7a, 0x08, 0x93, 0x02, 0x21, 0x00, 0x9c, 0x6f, 0xe5, 0x3e, 0x91, 0x56, 0xf2, + 0xcb, 0x85, 0x22, 0x67, 0xb6, 0x6b, 0x9d, 0x7d, 0x42, 0xe7, 0xa4, 0x88, 0x47, 0x18, 0x4c, 0x2f, 0xc8, 0xb4, 0xc4, 0xf0, 0x92, + 0xea, 0x7e, 0x1e, 0x46, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8004_001E_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001E_FB_SKID_Array[] = { - 0x32, 0x47, 0x64, 0x97, 0x0B, 0x98, 0x16, 0x15, 0x6E, 0x7E, 0xBD, 0x3E, 0x1C, 0xDB, 0x68, 0x56, 0x9D, 0xF5, 0x19, 0x58, + 0xF8, 0x92, 0x5A, 0xB3, 0x60, 0x86, 0x28, 0x94, 0x3F, 0x3D, 0xDB, 0x88, 0xF1, 0xE3, 0xE8, 0x1F, 0xEF, 0x35, 0xC7, 0x48, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8004_001E_FB_SKID_Array); @@ -1686,17 +1686,17 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001E-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001E_FB_PublicKey_Array[] = { - 0x04, 0x7b, 0x16, 0x45, 0xe7, 0xf5, 0xb7, 0x41, 0x1f, 0xcc, 0x0a, 0x89, 0x85, 0x61, 0x23, 0xe8, 0x8e, - 0x93, 0x4c, 0x2c, 0x8c, 0xc9, 0xd4, 0x62, 0x1a, 0xb0, 0xcd, 0xaf, 0x88, 0x60, 0x6c, 0xde, 0xbc, 0x0f, - 0x71, 0x3c, 0xf6, 0xa2, 0xee, 0x09, 0xdc, 0xc0, 0xcb, 0x1e, 0x64, 0x20, 0xf3, 0x44, 0x5d, 0x21, 0xe2, - 0x6e, 0x98, 0x26, 0xab, 0x6c, 0xca, 0x3d, 0x89, 0x0b, 0x6f, 0x77, 0xe0, 0xc9, 0x24, + 0x04, 0x6e, 0x98, 0x0d, 0x08, 0x26, 0x6b, 0x93, 0x7c, 0x46, 0x41, 0x60, 0xe1, 0x2b, 0x25, 0xb2, 0x7b, + 0x8f, 0xbd, 0xfb, 0x4f, 0xca, 0xe6, 0xc0, 0x2e, 0x7f, 0x60, 0x92, 0xc1, 0xf6, 0xf4, 0x3b, 0x56, 0xa6, + 0x0e, 0xa1, 0x62, 0x98, 0x17, 0x83, 0xe6, 0xdd, 0xc5, 0xdd, 0xe7, 0xe4, 0x74, 0x3a, 0xab, 0x5c, 0xd1, + 0xfc, 0x92, 0x79, 0x9d, 0xb3, 0x1a, 0xde, 0xc0, 0x8d, 0xb1, 0x58, 0x84, 0x01, 0xd0, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8004_001E_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001E_FB_PrivateKey_Array[] = { - 0x93, 0x47, 0xbf, 0x6a, 0xc9, 0x14, 0x4a, 0x4e, 0xa9, 0xba, 0x60, 0x13, 0xb4, 0xa8, 0xfc, 0x92, - 0x04, 0xf9, 0xbd, 0xa0, 0xe3, 0x0d, 0xe4, 0xcb, 0x7f, 0x8e, 0x92, 0x88, 0xca, 0x25, 0x46, 0xdb, + 0xaf, 0xba, 0xf0, 0x31, 0xe9, 0x4c, 0x9b, 0x75, 0x69, 0x4b, 0x52, 0x0e, 0x37, 0x1a, 0x41, 0xe4, + 0xb7, 0xf0, 0xd3, 0x83, 0x90, 0x10, 0xa1, 0xe7, 0x26, 0x72, 0x34, 0xe2, 0x07, 0x22, 0x48, 0x2f, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8004_001E_FB_PrivateKey_Array); @@ -1704,8 +1704,8 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001E_FB_PrivateKey = ByteSpan(sTes // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Cert.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001F_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xb9, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x77, 0x86, 0x0a, 0xf9, 0x7f, 0x6f, - 0x0f, 0x00, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, + 0x30, 0x82, 0x01, 0xb8, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x7e, 0xf9, 0x2e, 0xfb, 0x56, 0xe3, + 0x60, 0x2d, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, @@ -1713,25 +1713,25 @@ constexpr uint8_t sTestCert_DAC_FFF2_8004_001F_FB_Cert_Array[] = { 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x31, 0x46, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, - 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xf1, 0x0a, 0xe6, 0x59, 0xd2, 0x76, 0xf8, 0x6c, 0x15, 0xc2, 0x7b, 0x4d, 0xfc, - 0xab, 0x77, 0x04, 0x3b, 0x21, 0x55, 0xff, 0x09, 0x74, 0xe8, 0x48, 0x90, 0x5a, 0x7c, 0x9a, 0x8c, 0x3a, 0x29, 0xc8, 0xd5, 0xd8, - 0x14, 0x91, 0xfe, 0xa5, 0x1e, 0x47, 0xfa, 0x43, 0x2e, 0x2c, 0xf0, 0xbe, 0x35, 0x83, 0x2e, 0x16, 0x6b, 0x0e, 0x19, 0xbd, 0x70, - 0x00, 0xe1, 0x89, 0x11, 0xe1, 0xe1, 0xdd, 0xb8, 0xad, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x20, 0x87, 0x30, 0x7b, 0x3e, 0x63, 0x65, 0xeb, 0x99, 0x5a, 0xb6, 0x86, 0xe9, + 0x80, 0x82, 0xb3, 0x5a, 0x4a, 0x03, 0xb9, 0x9a, 0xf0, 0x13, 0xed, 0x1e, 0x31, 0xba, 0xb1, 0xb5, 0xf3, 0xe3, 0x88, 0x92, 0x24, + 0x53, 0xad, 0x2a, 0x2d, 0x07, 0xfb, 0x3b, 0x78, 0x20, 0xc5, 0x4a, 0xaf, 0xda, 0xfa, 0xb5, 0x07, 0x3f, 0xa7, 0x91, 0x1f, 0x39, + 0x84, 0x86, 0x8e, 0x2b, 0xe7, 0x70, 0x88, 0x70, 0xb3, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, - 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x01, 0xfb, 0xf4, 0xc5, 0x71, 0x5b, 0x01, 0x33, 0x95, - 0x4f, 0x90, 0x7e, 0x07, 0x65, 0x53, 0xcc, 0xce, 0x74, 0x6f, 0x6b, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, - 0x16, 0x80, 0x14, 0x41, 0x98, 0x0d, 0x4c, 0x17, 0x0b, 0x89, 0xd0, 0x71, 0x63, 0x83, 0x6d, 0x5e, 0xc3, 0xa8, 0x00, 0xb9, 0x38, - 0xe3, 0x87, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, - 0x21, 0xa0, 0x7c, 0x58, 0xd8, 0x9c, 0xec, 0x72, 0x7a, 0x51, 0xeb, 0xca, 0x76, 0xbc, 0x0b, 0x91, 0xe6, 0xf6, 0x40, 0xe1, 0x80, - 0x58, 0x3d, 0x43, 0xca, 0xd8, 0x49, 0x27, 0x6a, 0xc7, 0xe1, 0x0b, 0x02, 0x21, 0x00, 0xa0, 0x47, 0xd8, 0x58, 0x19, 0x8b, 0x99, - 0xb7, 0xb7, 0x0a, 0xcc, 0xa7, 0x31, 0xbc, 0x5b, 0x50, 0x6d, 0xa4, 0x47, 0x7c, 0xa5, 0xe5, 0x65, 0xb2, 0x4c, 0x89, 0x75, 0x5d, - 0x02, 0x14, 0xbd, 0xbe, + 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x3f, 0x6a, 0xd7, 0x91, 0x88, 0xd2, 0xe2, 0x7a, 0xef, + 0x11, 0x1b, 0x51, 0xf3, 0x89, 0xb4, 0xf6, 0x91, 0x16, 0x59, 0xe3, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, + 0x06, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, + 0x51, 0xe8, 0xec, 0xe9, 0xf9, 0x47, 0xc2, 0xb2, 0xaf, 0x30, 0xf9, 0x9d, 0x64, 0x7a, 0x85, 0xf2, 0xc2, 0xc1, 0x58, 0x5c, 0x48, + 0xdb, 0x22, 0x13, 0x1b, 0x94, 0x86, 0xad, 0xdf, 0x13, 0x09, 0xfb, 0x02, 0x20, 0x0b, 0x49, 0xb8, 0xb7, 0x6a, 0x92, 0xc6, 0xcb, + 0x9b, 0x13, 0xea, 0xd9, 0xcd, 0x6e, 0x72, 0xc5, 0xfe, 0x4c, 0xce, 0x33, 0x51, 0x9e, 0xde, 0x83, 0xe2, 0xac, 0x9f, 0x05, 0xac, + 0x06, 0x7a, 0xf7, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_Cert = ByteSpan(sTestCert_DAC_FFF2_8004_001F_FB_Cert_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001F_FB_SKID_Array[] = { - 0x01, 0xFB, 0xF4, 0xC5, 0x71, 0x5B, 0x01, 0x33, 0x95, 0x4F, 0x90, 0x7E, 0x07, 0x65, 0x53, 0xCC, 0xCE, 0x74, 0x6F, 0x6B, + 0x3F, 0x6A, 0xD7, 0x91, 0x88, 0xD2, 0xE2, 0x7A, 0xEF, 0x11, 0x1B, 0x51, 0xF3, 0x89, 0xB4, 0xF6, 0x91, 0x16, 0x59, 0xE3, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_SKID = ByteSpan(sTestCert_DAC_FFF2_8004_001F_FB_SKID_Array); @@ -1739,21 +1739,355 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_SKID = ByteSpan(sTestCert_ // ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-001F-FB-Key.pem constexpr uint8_t sTestCert_DAC_FFF2_8004_001F_FB_PublicKey_Array[] = { - 0x04, 0xf1, 0x0a, 0xe6, 0x59, 0xd2, 0x76, 0xf8, 0x6c, 0x15, 0xc2, 0x7b, 0x4d, 0xfc, 0xab, 0x77, 0x04, - 0x3b, 0x21, 0x55, 0xff, 0x09, 0x74, 0xe8, 0x48, 0x90, 0x5a, 0x7c, 0x9a, 0x8c, 0x3a, 0x29, 0xc8, 0xd5, - 0xd8, 0x14, 0x91, 0xfe, 0xa5, 0x1e, 0x47, 0xfa, 0x43, 0x2e, 0x2c, 0xf0, 0xbe, 0x35, 0x83, 0x2e, 0x16, - 0x6b, 0x0e, 0x19, 0xbd, 0x70, 0x00, 0xe1, 0x89, 0x11, 0xe1, 0xe1, 0xdd, 0xb8, 0xad, + 0x04, 0x20, 0x87, 0x30, 0x7b, 0x3e, 0x63, 0x65, 0xeb, 0x99, 0x5a, 0xb6, 0x86, 0xe9, 0x80, 0x82, 0xb3, + 0x5a, 0x4a, 0x03, 0xb9, 0x9a, 0xf0, 0x13, 0xed, 0x1e, 0x31, 0xba, 0xb1, 0xb5, 0xf3, 0xe3, 0x88, 0x92, + 0x24, 0x53, 0xad, 0x2a, 0x2d, 0x07, 0xfb, 0x3b, 0x78, 0x20, 0xc5, 0x4a, 0xaf, 0xda, 0xfa, 0xb5, 0x07, + 0x3f, 0xa7, 0x91, 0x1f, 0x39, 0x84, 0x86, 0x8e, 0x2b, 0xe7, 0x70, 0x88, 0x70, 0xb3, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_PublicKey = ByteSpan(sTestCert_DAC_FFF2_8004_001F_FB_PublicKey_Array); constexpr uint8_t sTestCert_DAC_FFF2_8004_001F_FB_PrivateKey_Array[] = { - 0xba, 0x89, 0xef, 0x56, 0x64, 0x2e, 0x5c, 0x14, 0xc3, 0xdf, 0x19, 0xce, 0x33, 0xbf, 0xbf, 0x27, - 0xec, 0x4e, 0x0e, 0x2b, 0xde, 0xd3, 0x5f, 0x6d, 0x6c, 0x33, 0x92, 0x9e, 0xc5, 0x5b, 0xc5, 0xeb, + 0x2e, 0x29, 0xb7, 0x00, 0x5b, 0x46, 0x4e, 0x3a, 0x3d, 0xd8, 0x8b, 0x5a, 0xea, 0xcf, 0x7d, 0x16, + 0x27, 0x67, 0x1d, 0xa0, 0x32, 0x37, 0x7f, 0x21, 0xc2, 0xb6, 0xf6, 0xd9, 0x1a, 0xf8, 0xdd, 0x1b, }; extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_PrivateKey = ByteSpan(sTestCert_DAC_FFF2_8004_001F_FB_PrivateKey_Array); +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Cert.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0020_ValInPast_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xb7, 0x30, 0x82, 0x01, 0x5d, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x5e, 0xba, 0x28, 0x2b, 0x03, 0x1a, + 0xd9, 0x97, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, + 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, + 0x1e, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x32, 0x30, + 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, 0x04, 0x03, + 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, 0x30, 0x32, + 0x30, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, + 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, + 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xae, 0xfc, 0x62, 0x57, 0x82, 0x25, 0xda, 0xa2, 0xc1, 0xfa, 0x17, 0xb3, 0xcd, 0x80, 0x22, + 0x90, 0x3e, 0x5f, 0xd5, 0xc2, 0x0c, 0x50, 0x14, 0x76, 0xf5, 0x87, 0x99, 0x8c, 0x33, 0x02, 0x6d, 0xa9, 0xa2, 0x4c, 0xd4, 0x14, + 0x31, 0xad, 0xf8, 0x91, 0x6b, 0x56, 0x45, 0xaa, 0x5d, 0x05, 0x45, 0x11, 0x57, 0xdd, 0xfd, 0xb9, 0x5a, 0xd3, 0x4a, 0xdf, 0xb5, + 0xfa, 0x77, 0xca, 0xa7, 0x83, 0xa0, 0x78, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, 0x80, 0x30, + 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x74, 0xfc, 0x33, 0xcd, 0xcf, 0xd0, 0x0c, 0x7c, 0xa3, 0xd5, 0xf2, + 0x30, 0x0d, 0x01, 0x2d, 0xea, 0x46, 0xb3, 0x24, 0x92, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, + 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, 0x06, 0x74, + 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x21, 0x00, 0xa7, + 0xfd, 0x7c, 0x54, 0xe8, 0x41, 0x9f, 0xb9, 0x91, 0x92, 0x52, 0x5e, 0xba, 0xfe, 0x4b, 0x7d, 0x3e, 0xd5, 0xbf, 0x72, 0x05, 0x13, + 0xd4, 0x3b, 0xf7, 0x51, 0x66, 0xdb, 0x7d, 0xd3, 0xb2, 0x85, 0x02, 0x20, 0x10, 0x17, 0x14, 0x33, 0xfe, 0x13, 0x5f, 0xae, 0x81, + 0xb3, 0x43, 0xf9, 0xa7, 0x7b, 0x42, 0xe4, 0x0f, 0xd7, 0xc9, 0x4f, 0x19, 0xa8, 0xad, 0x6c, 0x5a, 0x58, 0xfe, 0x0b, 0x37, 0x5c, + 0xf1, 0x64, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_Cert = ByteSpan(sTestCert_DAC_FFF2_8004_0020_ValInPast_Cert_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0020_ValInPast_SKID_Array[] = { + 0x74, 0xFC, 0x33, 0xCD, 0xCF, 0xD0, 0x0C, 0x7C, 0xA3, 0xD5, 0xF2, 0x30, 0x0D, 0x01, 0x2D, 0xEA, 0x46, 0xB3, 0x24, 0x92, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_SKID = ByteSpan(sTestCert_DAC_FFF2_8004_0020_ValInPast_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0020-ValInPast-Key.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0020_ValInPast_PublicKey_Array[] = { + 0x04, 0xae, 0xfc, 0x62, 0x57, 0x82, 0x25, 0xda, 0xa2, 0xc1, 0xfa, 0x17, 0xb3, 0xcd, 0x80, 0x22, 0x90, + 0x3e, 0x5f, 0xd5, 0xc2, 0x0c, 0x50, 0x14, 0x76, 0xf5, 0x87, 0x99, 0x8c, 0x33, 0x02, 0x6d, 0xa9, 0xa2, + 0x4c, 0xd4, 0x14, 0x31, 0xad, 0xf8, 0x91, 0x6b, 0x56, 0x45, 0xaa, 0x5d, 0x05, 0x45, 0x11, 0x57, 0xdd, + 0xfd, 0xb9, 0x5a, 0xd3, 0x4a, 0xdf, 0xb5, 0xfa, 0x77, 0xca, 0xa7, 0x83, 0xa0, 0x78, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_PublicKey = + ByteSpan(sTestCert_DAC_FFF2_8004_0020_ValInPast_PublicKey_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0020_ValInPast_PrivateKey_Array[] = { + 0xc9, 0x55, 0x52, 0xf7, 0x79, 0x58, 0x03, 0xbc, 0x0b, 0xd3, 0x21, 0x27, 0xa8, 0x52, 0x13, 0x27, + 0x5d, 0x10, 0xd7, 0x31, 0x85, 0xba, 0x95, 0x51, 0xd1, 0x69, 0xdd, 0x29, 0xdb, 0xfa, 0x67, 0x64, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_PrivateKey = + ByteSpan(sTestCert_DAC_FFF2_8004_0020_ValInPast_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Cert.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0021_ValInFuture_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xb8, 0x30, 0x82, 0x01, 0x5f, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x2f, 0x6f, 0x8e, 0x33, 0x1f, 0xfd, + 0x91, 0x55, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, + 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, + 0x20, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, + 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, 0x30, + 0x30, 0x32, 0x31, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, + 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, + 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x11, 0x1e, 0xbd, 0x82, 0xb6, 0xa6, 0xb4, 0xd9, 0xc1, 0x90, 0xc0, 0x71, 0x98, + 0x07, 0x6d, 0xf4, 0x11, 0x0a, 0x4e, 0x0f, 0xb8, 0x17, 0xea, 0x05, 0xae, 0xc5, 0xee, 0x37, 0x84, 0xad, 0xe9, 0x7e, 0xef, 0x4e, + 0x8a, 0xc1, 0xf9, 0xd8, 0x93, 0x9f, 0x7e, 0x63, 0xd9, 0x79, 0x00, 0x19, 0xff, 0xa6, 0x46, 0x67, 0x59, 0x47, 0x25, 0x71, 0x0b, + 0xcd, 0x69, 0x8b, 0xbb, 0x85, 0x4d, 0x28, 0x5c, 0x7d, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, + 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x07, + 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xc6, 0x12, 0x50, 0x46, 0x4c, 0x37, 0xbb, 0xd1, 0x8e, + 0x3a, 0xb0, 0x1d, 0x48, 0x60, 0xb6, 0xa4, 0xc0, 0x8a, 0xb9, 0x00, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, + 0x16, 0x80, 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, + 0x06, 0x74, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, + 0x31, 0x51, 0xf1, 0x3a, 0x4b, 0x59, 0xac, 0xe9, 0x95, 0xd5, 0x6a, 0x35, 0x9b, 0xa5, 0x29, 0x5f, 0xd4, 0x27, 0xcf, 0x7c, 0x66, + 0x2d, 0x25, 0x42, 0xf9, 0x45, 0x71, 0x1b, 0x0a, 0x11, 0xb2, 0x5e, 0x02, 0x20, 0x2b, 0x5b, 0x3e, 0x1b, 0xec, 0x65, 0xde, 0x0f, + 0x04, 0x0b, 0x40, 0xd6, 0xf5, 0xa0, 0xa3, 0x14, 0xd8, 0x1d, 0xa1, 0x7a, 0x9d, 0x7f, 0x2f, 0xf3, 0x4f, 0x95, 0x9c, 0x11, 0x35, + 0x0f, 0xcd, 0x26, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_Cert = ByteSpan(sTestCert_DAC_FFF2_8004_0021_ValInFuture_Cert_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0021_ValInFuture_SKID_Array[] = { + 0xC6, 0x12, 0x50, 0x46, 0x4C, 0x37, 0xBB, 0xD1, 0x8E, 0x3A, 0xB0, 0x1D, 0x48, 0x60, 0xB6, 0xA4, 0xC0, 0x8A, 0xB9, 0x00, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_SKID = ByteSpan(sTestCert_DAC_FFF2_8004_0021_ValInFuture_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8004-0021-ValInFuture-Key.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0021_ValInFuture_PublicKey_Array[] = { + 0x04, 0x11, 0x1e, 0xbd, 0x82, 0xb6, 0xa6, 0xb4, 0xd9, 0xc1, 0x90, 0xc0, 0x71, 0x98, 0x07, 0x6d, 0xf4, + 0x11, 0x0a, 0x4e, 0x0f, 0xb8, 0x17, 0xea, 0x05, 0xae, 0xc5, 0xee, 0x37, 0x84, 0xad, 0xe9, 0x7e, 0xef, + 0x4e, 0x8a, 0xc1, 0xf9, 0xd8, 0x93, 0x9f, 0x7e, 0x63, 0xd9, 0x79, 0x00, 0x19, 0xff, 0xa6, 0x46, 0x67, + 0x59, 0x47, 0x25, 0x71, 0x0b, 0xcd, 0x69, 0x8b, 0xbb, 0x85, 0x4d, 0x28, 0x5c, 0x7d, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_PublicKey = + ByteSpan(sTestCert_DAC_FFF2_8004_0021_ValInFuture_PublicKey_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8004_0021_ValInFuture_PrivateKey_Array[] = { + 0xd4, 0x2f, 0xfc, 0xc8, 0x12, 0x83, 0xe5, 0xb6, 0x99, 0x2b, 0x33, 0x21, 0x42, 0xe3, 0xfa, 0x33, + 0x82, 0xca, 0x34, 0x41, 0xa1, 0xda, 0x03, 0xbd, 0xe0, 0xd7, 0x59, 0x3a, 0x9f, 0xa9, 0x63, 0xdf, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_PrivateKey = + ByteSpan(sTestCert_DAC_FFF2_8004_0021_ValInFuture_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Cert.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0022_ValInPast_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xd0, 0x30, 0x82, 0x01, 0x75, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x14, 0xd1, 0x27, 0x10, 0xcc, 0xf3, + 0x77, 0xf4, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, + 0x30, 0x35, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, + 0x32, 0x32, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, 0x06, 0x03, + 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, 0x43, 0x20, + 0x30, 0x30, 0x32, 0x32, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, + 0x30, 0x30, 0x35, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, + 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x46, 0xf7, 0x4c, 0x50, 0xb3, 0xaf, 0x9d, 0xf7, 0x86, 0xf9, 0xc3, 0x88, + 0x2f, 0x87, 0x5f, 0xbb, 0x0f, 0xd1, 0x1d, 0x1e, 0xde, 0x62, 0x8f, 0xa8, 0x77, 0x73, 0x9e, 0xc7, 0x0a, 0x91, 0x7d, 0xc2, 0x23, + 0xe8, 0xdf, 0x4b, 0xda, 0xe7, 0x03, 0x5c, 0x29, 0xd2, 0x30, 0x5d, 0xa5, 0xa0, 0x96, 0xf9, 0x82, 0x17, 0x8a, 0x93, 0x99, 0x31, + 0xa3, 0x33, 0xf7, 0xa7, 0x05, 0x92, 0x4c, 0x3a, 0x28, 0x49, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, 0x1d, 0x13, + 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, + 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x1d, 0x58, 0x76, 0x6b, 0x0f, 0x0b, 0xdb, 0xbc, + 0x85, 0x02, 0x64, 0xda, 0x59, 0x4d, 0xbc, 0x83, 0x30, 0xf2, 0x2f, 0x8c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, + 0x30, 0x16, 0x80, 0x14, 0x28, 0x6f, 0x32, 0x79, 0xbe, 0x13, 0x77, 0x6e, 0x1e, 0x68, 0xbb, 0xf3, 0x56, 0x5f, 0xbf, 0x12, 0xdb, + 0xa9, 0xa0, 0x49, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x49, 0x00, 0x30, 0x46, 0x02, + 0x21, 0x00, 0xf9, 0x23, 0xc8, 0xf4, 0xd6, 0xef, 0x49, 0x5d, 0x9d, 0x2a, 0x31, 0x42, 0xce, 0x7e, 0x45, 0x09, 0xbe, 0x0b, 0x23, + 0x89, 0xf3, 0xdf, 0x61, 0x59, 0x47, 0xd5, 0x69, 0x18, 0x92, 0x83, 0x07, 0x5a, 0x02, 0x21, 0x00, 0x92, 0xb1, 0xe7, 0x28, 0x00, + 0xf3, 0x88, 0x6e, 0x7c, 0x46, 0xfc, 0xa8, 0x37, 0x08, 0xd9, 0xe4, 0x6f, 0x72, 0xbb, 0xa8, 0xa7, 0x17, 0x07, 0x76, 0xf0, 0xc9, + 0xfd, 0xbf, 0x44, 0x2d, 0x26, 0x72, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_Cert = ByteSpan(sTestCert_DAC_FFF2_8005_0022_ValInPast_Cert_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0022_ValInPast_SKID_Array[] = { + 0x1D, 0x58, 0x76, 0x6B, 0x0F, 0x0B, 0xDB, 0xBC, 0x85, 0x02, 0x64, 0xDA, 0x59, 0x4D, 0xBC, 0x83, 0x30, 0xF2, 0x2F, 0x8C, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_SKID = ByteSpan(sTestCert_DAC_FFF2_8005_0022_ValInPast_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0022-ValInPast-Key.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0022_ValInPast_PublicKey_Array[] = { + 0x04, 0x46, 0xf7, 0x4c, 0x50, 0xb3, 0xaf, 0x9d, 0xf7, 0x86, 0xf9, 0xc3, 0x88, 0x2f, 0x87, 0x5f, 0xbb, + 0x0f, 0xd1, 0x1d, 0x1e, 0xde, 0x62, 0x8f, 0xa8, 0x77, 0x73, 0x9e, 0xc7, 0x0a, 0x91, 0x7d, 0xc2, 0x23, + 0xe8, 0xdf, 0x4b, 0xda, 0xe7, 0x03, 0x5c, 0x29, 0xd2, 0x30, 0x5d, 0xa5, 0xa0, 0x96, 0xf9, 0x82, 0x17, + 0x8a, 0x93, 0x99, 0x31, 0xa3, 0x33, 0xf7, 0xa7, 0x05, 0x92, 0x4c, 0x3a, 0x28, 0x49, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_PublicKey = + ByteSpan(sTestCert_DAC_FFF2_8005_0022_ValInPast_PublicKey_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0022_ValInPast_PrivateKey_Array[] = { + 0x18, 0x56, 0xcf, 0x73, 0xb6, 0x22, 0x67, 0xfa, 0xe2, 0xdf, 0x34, 0xc9, 0xbc, 0x54, 0x06, 0x2e, + 0x6d, 0xf7, 0x17, 0xe6, 0x49, 0x15, 0x5e, 0x1a, 0xa3, 0x31, 0x02, 0xbd, 0xe2, 0x28, 0xb1, 0x46, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_PrivateKey = + ByteSpan(sTestCert_DAC_FFF2_8005_0022_ValInPast_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Cert.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0023_ValInFuture_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xd1, 0x30, 0x82, 0x01, 0x77, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x3f, 0x24, 0xf6, 0x60, 0x1c, 0x05, + 0xb4, 0x6a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, + 0x30, 0x35, 0x30, 0x20, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, + 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, + 0x43, 0x20, 0x30, 0x30, 0x32, 0x33, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, + 0x3a, 0x38, 0x30, 0x30, 0x35, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xda, 0x79, 0x92, 0x33, 0xf9, 0xc8, 0xfd, 0x6a, 0x55, 0x2b, + 0xfa, 0x7a, 0x0d, 0x91, 0xe7, 0x0e, 0xc2, 0x43, 0x5d, 0x32, 0xe8, 0xc7, 0x40, 0x75, 0x71, 0x77, 0x32, 0x5f, 0x3c, 0xbb, 0xd5, + 0xbd, 0x6c, 0x02, 0x07, 0x64, 0x46, 0x17, 0x8c, 0xe9, 0x59, 0x94, 0x13, 0xf8, 0xa5, 0x8c, 0x84, 0xaf, 0xfa, 0xb9, 0xeb, 0xd7, + 0xfd, 0x30, 0x8b, 0x72, 0xc1, 0xc8, 0xed, 0xc2, 0xd8, 0x99, 0x69, 0xe8, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x27, 0x66, 0x41, 0x6c, 0x28, 0x43, + 0x73, 0xae, 0x9d, 0x22, 0x2b, 0x92, 0xde, 0xa8, 0x93, 0x5a, 0x6f, 0xbe, 0xbe, 0x03, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xbf, 0x16, 0x76, 0x90, 0x52, 0x57, 0x26, 0xfe, 0x93, 0x5c, 0xf5, 0xc0, 0x9e, 0x78, 0xbd, + 0x09, 0x65, 0xb6, 0x1f, 0xd6, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, + 0x45, 0x02, 0x21, 0x00, 0xbc, 0x57, 0x89, 0x3a, 0xa5, 0x96, 0x77, 0x3d, 0xea, 0xde, 0xd3, 0x78, 0x38, 0xff, 0x76, 0x13, 0x26, + 0x6f, 0xa5, 0x4b, 0xd6, 0x12, 0x62, 0xb6, 0x0c, 0xcc, 0x34, 0x66, 0xb1, 0x8e, 0x38, 0x6c, 0x02, 0x20, 0x51, 0xd4, 0xe0, 0x9c, + 0xf5, 0xb4, 0x23, 0x07, 0x69, 0x73, 0x2f, 0x56, 0x69, 0x96, 0xf2, 0xeb, 0x19, 0xfd, 0xeb, 0x12, 0x71, 0x95, 0x2e, 0x53, 0x90, + 0xac, 0xa3, 0x3c, 0x64, 0x55, 0x1c, 0xae, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_Cert = ByteSpan(sTestCert_DAC_FFF2_8005_0023_ValInFuture_Cert_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0023_ValInFuture_SKID_Array[] = { + 0x27, 0x66, 0x41, 0x6C, 0x28, 0x43, 0x73, 0xAE, 0x9D, 0x22, 0x2B, 0x92, 0xDE, 0xA8, 0x93, 0x5A, 0x6F, 0xBE, 0xBE, 0x03, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_SKID = ByteSpan(sTestCert_DAC_FFF2_8005_0023_ValInFuture_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8005-0023-ValInFuture-Key.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0023_ValInFuture_PublicKey_Array[] = { + 0x04, 0xda, 0x79, 0x92, 0x33, 0xf9, 0xc8, 0xfd, 0x6a, 0x55, 0x2b, 0xfa, 0x7a, 0x0d, 0x91, 0xe7, 0x0e, + 0xc2, 0x43, 0x5d, 0x32, 0xe8, 0xc7, 0x40, 0x75, 0x71, 0x77, 0x32, 0x5f, 0x3c, 0xbb, 0xd5, 0xbd, 0x6c, + 0x02, 0x07, 0x64, 0x46, 0x17, 0x8c, 0xe9, 0x59, 0x94, 0x13, 0xf8, 0xa5, 0x8c, 0x84, 0xaf, 0xfa, 0xb9, + 0xeb, 0xd7, 0xfd, 0x30, 0x8b, 0x72, 0xc1, 0xc8, 0xed, 0xc2, 0xd8, 0x99, 0x69, 0xe8, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_PublicKey = + ByteSpan(sTestCert_DAC_FFF2_8005_0023_ValInFuture_PublicKey_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8005_0023_ValInFuture_PrivateKey_Array[] = { + 0x63, 0xde, 0x20, 0x34, 0x96, 0x58, 0xc5, 0xc5, 0xb7, 0xfe, 0x13, 0x8d, 0x39, 0x69, 0x11, 0x37, + 0x57, 0x71, 0x2b, 0x5c, 0x1b, 0x8f, 0xb9, 0x73, 0xf3, 0x3e, 0x15, 0xf3, 0xa9, 0x0b, 0xd2, 0x37, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_PrivateKey = + ByteSpan(sTestCert_DAC_FFF2_8005_0023_ValInFuture_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Cert.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0024_ValInPast_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xd1, 0x30, 0x82, 0x01, 0x77, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x0b, 0x60, 0xdf, 0xfc, 0xaf, 0xe3, + 0xe7, 0x62, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, + 0x30, 0x36, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, + 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, + 0x43, 0x20, 0x30, 0x30, 0x32, 0x34, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, + 0x3a, 0x38, 0x30, 0x30, 0x36, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x56, 0xc8, 0xb4, 0xb3, 0x94, 0x3c, 0x25, 0xfe, 0x15, 0x03, + 0x46, 0xc9, 0xa5, 0x6d, 0xdb, 0xf8, 0xa2, 0x91, 0xe2, 0x91, 0x10, 0x57, 0xc3, 0xd0, 0x72, 0x1f, 0x36, 0x24, 0x3a, 0x51, 0xcc, + 0xe1, 0xee, 0x83, 0x2e, 0xc8, 0xaf, 0x1c, 0x6f, 0x48, 0x8d, 0x84, 0x4a, 0x44, 0xf2, 0xdb, 0xd6, 0x51, 0x05, 0xcc, 0x1f, 0xc7, + 0x16, 0x51, 0x37, 0x35, 0xb6, 0x9f, 0xe7, 0x09, 0x05, 0x95, 0xea, 0xdc, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x78, 0xcd, 0x61, 0x50, 0x9b, 0x76, + 0x76, 0xe1, 0xa0, 0x41, 0x46, 0xb5, 0x73, 0x13, 0x3b, 0x7b, 0xa3, 0x81, 0xf1, 0xac, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xa0, 0xed, 0x6d, 0x1e, 0x10, 0x63, 0x6c, 0x22, 0x80, 0x6d, 0xcb, 0xda, 0x21, 0x65, 0xb2, + 0x18, 0x65, 0x80, 0x64, 0x88, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, + 0x45, 0x02, 0x21, 0x00, 0x9e, 0x0a, 0xbf, 0x9e, 0x80, 0x78, 0x5a, 0x1d, 0x61, 0xc5, 0x26, 0x3a, 0xc1, 0x68, 0xcc, 0xc5, 0x7d, + 0xca, 0xc1, 0x79, 0x4a, 0x22, 0x7d, 0x47, 0x26, 0xdc, 0xfd, 0x98, 0x7e, 0x37, 0x04, 0x5f, 0x02, 0x20, 0x5c, 0x9b, 0xad, 0xef, + 0x96, 0x55, 0x22, 0x65, 0x2f, 0x65, 0xdd, 0x26, 0xef, 0x14, 0x6b, 0x9f, 0x58, 0x6a, 0x5a, 0x19, 0x47, 0x7b, 0xdc, 0xda, 0x77, + 0xc8, 0xc2, 0x46, 0x39, 0x1e, 0x7f, 0x80, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_Cert = ByteSpan(sTestCert_DAC_FFF2_8006_0024_ValInPast_Cert_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0024_ValInPast_SKID_Array[] = { + 0x78, 0xCD, 0x61, 0x50, 0x9B, 0x76, 0x76, 0xE1, 0xA0, 0x41, 0x46, 0xB5, 0x73, 0x13, 0x3B, 0x7B, 0xA3, 0x81, 0xF1, 0xAC, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_SKID = ByteSpan(sTestCert_DAC_FFF2_8006_0024_ValInPast_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0024-ValInPast-Key.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0024_ValInPast_PublicKey_Array[] = { + 0x04, 0x56, 0xc8, 0xb4, 0xb3, 0x94, 0x3c, 0x25, 0xfe, 0x15, 0x03, 0x46, 0xc9, 0xa5, 0x6d, 0xdb, 0xf8, + 0xa2, 0x91, 0xe2, 0x91, 0x10, 0x57, 0xc3, 0xd0, 0x72, 0x1f, 0x36, 0x24, 0x3a, 0x51, 0xcc, 0xe1, 0xee, + 0x83, 0x2e, 0xc8, 0xaf, 0x1c, 0x6f, 0x48, 0x8d, 0x84, 0x4a, 0x44, 0xf2, 0xdb, 0xd6, 0x51, 0x05, 0xcc, + 0x1f, 0xc7, 0x16, 0x51, 0x37, 0x35, 0xb6, 0x9f, 0xe7, 0x09, 0x05, 0x95, 0xea, 0xdc, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_PublicKey = + ByteSpan(sTestCert_DAC_FFF2_8006_0024_ValInPast_PublicKey_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0024_ValInPast_PrivateKey_Array[] = { + 0xd4, 0xc3, 0xa9, 0xd3, 0x5b, 0x19, 0x5c, 0x46, 0x94, 0xe4, 0x42, 0x0f, 0xdc, 0x75, 0x8b, 0x42, + 0x37, 0xd3, 0x75, 0xcd, 0xff, 0xf1, 0x69, 0xe6, 0xf5, 0x7b, 0x4c, 0x85, 0x5d, 0xbb, 0x52, 0x6a, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_PrivateKey = + ByteSpan(sTestCert_DAC_FFF2_8006_0024_ValInPast_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Cert.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0025_ValInFuture_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xd1, 0x30, 0x82, 0x01, 0x77, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x6b, 0xcd, 0xb8, 0xc4, 0x7b, 0x0c, + 0xa6, 0x1e, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, + 0x30, 0x36, 0x30, 0x20, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, + 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x33, 0x31, 0x31, 0x30, 0x2f, + 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x28, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x44, 0x41, + 0x43, 0x20, 0x30, 0x30, 0x32, 0x35, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, + 0x3a, 0x38, 0x30, 0x30, 0x36, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, + 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x62, 0xc0, 0x1a, 0xc3, 0xc3, 0x56, 0xa0, 0x90, 0xe3, 0x60, + 0xf4, 0x40, 0x4b, 0xe4, 0x47, 0xba, 0xbd, 0xc9, 0x0d, 0x14, 0x62, 0xa1, 0x3c, 0xbe, 0xa7, 0xba, 0xf7, 0xd0, 0xf2, 0x9f, 0x8d, + 0x5c, 0xf8, 0xe8, 0x4f, 0x94, 0x2a, 0xcc, 0x53, 0xf4, 0xfa, 0x88, 0xbe, 0x84, 0x85, 0xaa, 0x4f, 0x70, 0x89, 0xda, 0x3d, 0xac, + 0xc4, 0x5c, 0x3e, 0x40, 0x29, 0x5f, 0x72, 0x9d, 0x82, 0xc4, 0x76, 0xf0, 0xa3, 0x60, 0x30, 0x5e, 0x30, 0x0c, 0x06, 0x03, 0x55, + 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x02, 0x30, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x07, 0x80, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x03, 0xba, 0x25, 0xd1, 0xcf, 0xe2, + 0x8c, 0xd7, 0xea, 0xdc, 0x39, 0x62, 0xe6, 0xc5, 0xef, 0x73, 0xd5, 0x7f, 0xc7, 0x82, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x2b, 0x77, 0x33, 0x1a, 0x46, 0xce, 0xc3, 0x7d, 0x47, 0xf7, 0xec, 0x6a, 0xca, 0xf2, 0xe9, + 0x32, 0x15, 0x7a, 0xec, 0x5c, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, + 0x45, 0x02, 0x21, 0x00, 0xa5, 0x54, 0x05, 0x17, 0x74, 0x4d, 0xb5, 0x60, 0x69, 0xf7, 0xe1, 0xb4, 0x8b, 0x03, 0x7c, 0x94, 0xed, + 0xbc, 0x0d, 0x96, 0xd9, 0xcf, 0x7e, 0x80, 0x54, 0xcd, 0x51, 0x35, 0x42, 0xd8, 0xc9, 0x63, 0x02, 0x20, 0x6a, 0x9b, 0x87, 0x63, + 0xef, 0xec, 0x93, 0x3d, 0x6a, 0x0b, 0x63, 0x8d, 0x04, 0x67, 0x07, 0x00, 0x8c, 0x55, 0x5f, 0x0f, 0x25, 0x6c, 0x4c, 0x23, 0xbc, + 0x8b, 0xf1, 0xbc, 0x66, 0xa2, 0xeb, 0x99, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_Cert = ByteSpan(sTestCert_DAC_FFF2_8006_0025_ValInFuture_Cert_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0025_ValInFuture_SKID_Array[] = { + 0x03, 0xBA, 0x25, 0xD1, 0xCF, 0xE2, 0x8C, 0xD7, 0xEA, 0xDC, 0x39, 0x62, 0xE6, 0xC5, 0xEF, 0x73, 0xD5, 0x7F, 0xC7, 0x82, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_SKID = ByteSpan(sTestCert_DAC_FFF2_8006_0025_ValInFuture_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-DAC-FFF2-8006-0025-ValInFuture-Key.pem + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0025_ValInFuture_PublicKey_Array[] = { + 0x04, 0x62, 0xc0, 0x1a, 0xc3, 0xc3, 0x56, 0xa0, 0x90, 0xe3, 0x60, 0xf4, 0x40, 0x4b, 0xe4, 0x47, 0xba, + 0xbd, 0xc9, 0x0d, 0x14, 0x62, 0xa1, 0x3c, 0xbe, 0xa7, 0xba, 0xf7, 0xd0, 0xf2, 0x9f, 0x8d, 0x5c, 0xf8, + 0xe8, 0x4f, 0x94, 0x2a, 0xcc, 0x53, 0xf4, 0xfa, 0x88, 0xbe, 0x84, 0x85, 0xaa, 0x4f, 0x70, 0x89, 0xda, + 0x3d, 0xac, 0xc4, 0x5c, 0x3e, 0x40, 0x29, 0x5f, 0x72, 0x9d, 0x82, 0xc4, 0x76, 0xf0, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_PublicKey = + ByteSpan(sTestCert_DAC_FFF2_8006_0025_ValInFuture_PublicKey_Array); + +constexpr uint8_t sTestCert_DAC_FFF2_8006_0025_ValInFuture_PrivateKey_Array[] = { + 0x01, 0x5d, 0x31, 0x98, 0x9f, 0x8b, 0xbe, 0x86, 0xd8, 0xae, 0x4c, 0x50, 0xbd, 0x49, 0x7a, 0x9f, + 0xbf, 0xd5, 0x3e, 0xb1, 0x0a, 0xf8, 0xbf, 0x7a, 0xa2, 0xdf, 0x78, 0xf6, 0xd9, 0x78, 0x50, 0xc8, +}; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_PrivateKey = + ByteSpan(sTestCert_DAC_FFF2_8006_0025_ValInFuture_PrivateKey_Array); + // ${chip_root}/credentials/test/attestation/Chip-Test-PAA-FFF1-Cert.pem constexpr uint8_t sTestCert_PAA_FFF1_Cert_Array[] = { @@ -1807,6 +2141,112 @@ constexpr uint8_t sTestCert_PAA_FFF1_PrivateKey_Array[] = { extern const ByteSpan sTestCert_PAA_FFF1_PrivateKey = ByteSpan(sTestCert_PAA_FFF1_PrivateKey_Array); +// ${chip_root}/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Cert.pem + +constexpr uint8_t sTestCert_PAA_FFF2_ValInFuture_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xbc, 0x30, 0x82, 0x01, 0x62, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x2f, 0x0a, 0x52, 0x3e, 0xd8, 0x01, + 0x47, 0xeb, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x33, + 0x32, 0x30, 0x36, 0x32, 0x37, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, 0x31, 0x14, + 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x32, 0x30, + 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, + 0x07, 0x03, 0x42, 0x00, 0x04, 0x70, 0x7b, 0x3f, 0x8d, 0x81, 0x46, 0x3d, 0x7b, 0x1d, 0xb4, 0x39, 0x9d, 0xf3, 0xf2, 0x61, 0xbb, + 0x42, 0xb0, 0x60, 0x7e, 0xf2, 0x97, 0x8a, 0x5b, 0x5c, 0xa5, 0xfb, 0xb6, 0x51, 0xa2, 0x96, 0x98, 0xfd, 0x24, 0xdb, 0xde, 0x5d, + 0xe4, 0x8c, 0x4b, 0x82, 0x7c, 0x3c, 0x93, 0x55, 0xe8, 0x24, 0xd1, 0xae, 0x29, 0x9c, 0xfb, 0x59, 0xf6, 0x87, 0xca, 0xc9, 0x1b, + 0xe2, 0x8a, 0xb4, 0xf8, 0x1a, 0x23, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x69, 0xcc, 0xf6, 0xfd, 0xbd, 0x34, + 0x2a, 0x3d, 0x29, 0x48, 0x98, 0x49, 0x32, 0xd6, 0x7f, 0x3b, 0x22, 0x2e, 0x27, 0x9a, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x69, 0xcc, 0xf6, 0xfd, 0xbd, 0x34, 0x2a, 0x3d, 0x29, 0x48, 0x98, 0x49, 0x32, 0xd6, 0x7f, + 0x3b, 0x22, 0x2e, 0x27, 0x9a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, + 0x45, 0x02, 0x21, 0x00, 0x9c, 0x53, 0x47, 0xf1, 0x49, 0x97, 0x91, 0x8c, 0x03, 0x9a, 0x7b, 0xfc, 0x02, 0x22, 0x1d, 0x72, 0x05, + 0x39, 0xda, 0xab, 0x42, 0x4f, 0xd4, 0xe4, 0xaa, 0x32, 0xca, 0xdf, 0xcf, 0x8d, 0x27, 0xb6, 0x02, 0x20, 0x74, 0x88, 0x8c, 0x94, + 0xf7, 0xc3, 0x1b, 0x47, 0x36, 0xbb, 0x6f, 0xd1, 0x2a, 0x5d, 0x51, 0x20, 0x7e, 0x60, 0x06, 0xa6, 0xc9, 0xad, 0x2b, 0x9b, 0x00, + 0x1b, 0xfd, 0x02, 0xe9, 0xf7, 0x3a, 0xf2, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_Cert = ByteSpan(sTestCert_PAA_FFF2_ValInFuture_Cert_Array); + +constexpr uint8_t sTestCert_PAA_FFF2_ValInFuture_SKID_Array[] = { + 0x69, 0xCC, 0xF6, 0xFD, 0xBD, 0x34, 0x2A, 0x3D, 0x29, 0x48, 0x98, 0x49, 0x32, 0xD6, 0x7F, 0x3B, 0x22, 0x2E, 0x27, 0x9A, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_SKID = ByteSpan(sTestCert_PAA_FFF2_ValInFuture_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInFuture-Key.pem + +constexpr uint8_t sTestCert_PAA_FFF2_ValInFuture_PublicKey_Array[] = { + 0x04, 0x70, 0x7b, 0x3f, 0x8d, 0x81, 0x46, 0x3d, 0x7b, 0x1d, 0xb4, 0x39, 0x9d, 0xf3, 0xf2, 0x61, 0xbb, + 0x42, 0xb0, 0x60, 0x7e, 0xf2, 0x97, 0x8a, 0x5b, 0x5c, 0xa5, 0xfb, 0xb6, 0x51, 0xa2, 0x96, 0x98, 0xfd, + 0x24, 0xdb, 0xde, 0x5d, 0xe4, 0x8c, 0x4b, 0x82, 0x7c, 0x3c, 0x93, 0x55, 0xe8, 0x24, 0xd1, 0xae, 0x29, + 0x9c, 0xfb, 0x59, 0xf6, 0x87, 0xca, 0xc9, 0x1b, 0xe2, 0x8a, 0xb4, 0xf8, 0x1a, 0x23, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_PublicKey = ByteSpan(sTestCert_PAA_FFF2_ValInFuture_PublicKey_Array); + +constexpr uint8_t sTestCert_PAA_FFF2_ValInFuture_PrivateKey_Array[] = { + 0x2e, 0xdc, 0x0b, 0x29, 0xe4, 0xc7, 0xfc, 0x7e, 0x07, 0x60, 0x0d, 0x5d, 0xaf, 0x7c, 0xcd, 0x61, + 0x74, 0xd6, 0xd0, 0x6b, 0x55, 0x7d, 0xd7, 0xf1, 0x05, 0x21, 0x49, 0x61, 0x79, 0x68, 0xe4, 0xe4, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_PrivateKey = ByteSpan(sTestCert_PAA_FFF2_ValInFuture_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Cert.pem + +constexpr uint8_t sTestCert_PAA_FFF2_ValInPast_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xbb, 0x30, 0x82, 0x01, 0x62, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x45, 0xbb, 0xa4, 0x16, 0xad, 0x7c, + 0x4b, 0x36, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x32, + 0x32, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, 0x31, 0x14, + 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x32, 0x30, + 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, + 0x07, 0x03, 0x42, 0x00, 0x04, 0xa1, 0xcf, 0x28, 0xeb, 0x58, 0x60, 0x98, 0xd1, 0xfc, 0x63, 0x4f, 0xc7, 0xd2, 0xd1, 0xbf, 0xb0, + 0x89, 0x6a, 0x17, 0x25, 0x0a, 0x2c, 0x73, 0x53, 0x1d, 0xde, 0x8c, 0xb0, 0xa4, 0x1d, 0x38, 0x09, 0xc4, 0xfe, 0xf9, 0x89, 0x72, + 0x95, 0x07, 0x5a, 0x22, 0x00, 0x63, 0xa5, 0x2e, 0x4c, 0x5f, 0xe2, 0x5b, 0xcd, 0xfd, 0x89, 0xeb, 0x0b, 0x92, 0x31, 0x6d, 0x25, + 0x48, 0x11, 0xe1, 0x92, 0xdf, 0x90, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x01, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x7f, 0xbe, 0xa6, 0xcd, 0xd6, 0xcc, + 0x8b, 0x25, 0x30, 0xc2, 0xf0, 0x8e, 0x50, 0xdb, 0xe4, 0x89, 0xf1, 0xf5, 0x3d, 0xb5, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7f, 0xbe, 0xa6, 0xcd, 0xd6, 0xcc, 0x8b, 0x25, 0x30, 0xc2, 0xf0, 0x8e, 0x50, 0xdb, 0xe4, + 0x89, 0xf1, 0xf5, 0x3d, 0xb5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, + 0x44, 0x02, 0x20, 0x38, 0x1f, 0xb6, 0x2f, 0x2b, 0x80, 0x7f, 0xd5, 0xaf, 0x70, 0x9e, 0xcd, 0x37, 0x5b, 0x81, 0x59, 0xc6, 0xbd, + 0xfd, 0x77, 0x65, 0x1b, 0x27, 0x60, 0x18, 0x2b, 0xa7, 0x25, 0xe4, 0xc8, 0xce, 0x79, 0x02, 0x20, 0x1a, 0xbb, 0xdf, 0xc4, 0x80, + 0x63, 0x6d, 0xd2, 0xfd, 0x83, 0x1e, 0xcc, 0x84, 0x5e, 0x27, 0xca, 0x79, 0x8d, 0xc5, 0xc9, 0x96, 0x12, 0xf4, 0x06, 0x5b, 0x15, + 0x47, 0x35, 0x7f, 0x0f, 0x9a, 0xfe, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_Cert = ByteSpan(sTestCert_PAA_FFF2_ValInPast_Cert_Array); + +constexpr uint8_t sTestCert_PAA_FFF2_ValInPast_SKID_Array[] = { + 0x7F, 0xBE, 0xA6, 0xCD, 0xD6, 0xCC, 0x8B, 0x25, 0x30, 0xC2, 0xF0, 0x8E, 0x50, 0xDB, 0xE4, 0x89, 0xF1, 0xF5, 0x3D, 0xB5, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_SKID = ByteSpan(sTestCert_PAA_FFF2_ValInPast_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAA-FFF2-ValInPast-Key.pem + +constexpr uint8_t sTestCert_PAA_FFF2_ValInPast_PublicKey_Array[] = { + 0x04, 0xa1, 0xcf, 0x28, 0xeb, 0x58, 0x60, 0x98, 0xd1, 0xfc, 0x63, 0x4f, 0xc7, 0xd2, 0xd1, 0xbf, 0xb0, + 0x89, 0x6a, 0x17, 0x25, 0x0a, 0x2c, 0x73, 0x53, 0x1d, 0xde, 0x8c, 0xb0, 0xa4, 0x1d, 0x38, 0x09, 0xc4, + 0xfe, 0xf9, 0x89, 0x72, 0x95, 0x07, 0x5a, 0x22, 0x00, 0x63, 0xa5, 0x2e, 0x4c, 0x5f, 0xe2, 0x5b, 0xcd, + 0xfd, 0x89, 0xeb, 0x0b, 0x92, 0x31, 0x6d, 0x25, 0x48, 0x11, 0xe1, 0x92, 0xdf, 0x90, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_PublicKey = ByteSpan(sTestCert_PAA_FFF2_ValInPast_PublicKey_Array); + +constexpr uint8_t sTestCert_PAA_FFF2_ValInPast_PrivateKey_Array[] = { + 0x66, 0xde, 0x5e, 0x22, 0xd0, 0x20, 0xc2, 0xfd, 0xb5, 0xee, 0xb1, 0x92, 0xdd, 0xe1, 0xf4, 0x01, + 0x29, 0x64, 0xd9, 0x53, 0xbc, 0x18, 0xb0, 0x37, 0xd7, 0x8c, 0x95, 0x73, 0x1b, 0xab, 0x50, 0x48, +}; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_PrivateKey = ByteSpan(sTestCert_PAA_FFF2_ValInPast_PrivateKey_Array); + // ${chip_root}/credentials/test/attestation/Chip-Test-PAA-NoVID-Cert.pem constexpr uint8_t sTestCert_PAA_NoVID_Cert_Array[] = { @@ -1968,33 +2408,33 @@ extern const ByteSpan sTestCert_PAI_FFF2_8001_PrivateKey = ByteSpan(sTestCert_PA // ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8004-FB-Cert.pem constexpr uint8_t sTestCert_PAI_FFF2_8004_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0xa6, 0x30, 0x82, 0x01, 0x4c, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x28, 0x84, 0xf6, 0x17, 0x40, 0x94, - 0x04, 0x9a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x30, 0x82, 0x01, 0xa6, 0x30, 0x82, 0x01, 0x4c, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x55, 0x40, 0xe9, 0xa2, 0xdc, 0x98, + 0x93, 0x3b, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x2e, 0x31, 0x2c, 0x30, 0x2a, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x23, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x20, 0x4d, 0x70, 0x69, 0x64, 0x3a, 0x38, 0x30, 0x30, 0x34, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, - 0x03, 0x42, 0x00, 0x04, 0xfe, 0x83, 0xa2, 0xf6, 0x36, 0xce, 0x10, 0x0f, 0x8e, 0x4c, 0x03, 0xae, 0xa5, 0x8d, 0xb6, 0xef, 0xde, - 0x4e, 0x43, 0x57, 0x32, 0x3c, 0x32, 0xb0, 0x8d, 0xf6, 0x92, 0x4d, 0xbf, 0xe4, 0xe4, 0xab, 0x7d, 0x36, 0x77, 0x04, 0xd0, 0x2d, - 0x3c, 0x26, 0xbe, 0xc0, 0x96, 0x33, 0x1a, 0xa0, 0x4b, 0xd2, 0x8a, 0x2a, 0xc1, 0x0e, 0x23, 0xdb, 0x96, 0xe7, 0x27, 0x4f, 0xb4, - 0x19, 0x09, 0x87, 0x65, 0xa2, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, + 0x03, 0x42, 0x00, 0x04, 0xd3, 0xf3, 0x9b, 0xc2, 0xe3, 0x36, 0xe7, 0x6c, 0x88, 0xd2, 0x31, 0x38, 0x08, 0x9b, 0xc9, 0x63, 0x90, + 0xe8, 0x2b, 0x07, 0x71, 0x49, 0x42, 0x42, 0x53, 0x9b, 0xf5, 0x7c, 0xda, 0x3c, 0xce, 0x2b, 0x99, 0x1d, 0x63, 0x8d, 0xea, 0x52, + 0xbb, 0xdc, 0x68, 0x30, 0x83, 0xb6, 0xdc, 0x7c, 0xc4, 0x38, 0x87, 0xc1, 0xc9, 0x43, 0xf5, 0xf3, 0xea, 0xf4, 0x2f, 0x54, 0x2f, + 0x12, 0x7e, 0xa6, 0x37, 0x0c, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, - 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x41, 0x98, 0x0d, 0x4c, 0x17, 0x0b, 0x89, - 0xd0, 0x71, 0x63, 0x83, 0x6d, 0x5e, 0xc3, 0xa8, 0x00, 0xb9, 0x38, 0xe3, 0x87, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, - 0x18, 0x30, 0x16, 0x80, 0x14, 0xe0, 0xfc, 0xd7, 0xf2, 0x22, 0x70, 0xab, 0xb2, 0xd4, 0x67, 0x58, 0x47, 0x10, 0xf5, 0xe4, 0x87, - 0x76, 0x80, 0x7a, 0x26, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, - 0x02, 0x21, 0x00, 0xa5, 0x01, 0xc7, 0xd3, 0x5e, 0x6f, 0xed, 0xeb, 0x31, 0xe7, 0xc3, 0x38, 0x30, 0x13, 0x55, 0x74, 0x44, 0x41, - 0x30, 0x58, 0xb0, 0x50, 0xf0, 0xa6, 0x92, 0xe6, 0x60, 0x0f, 0x97, 0x08, 0x47, 0xee, 0x02, 0x20, 0x0a, 0x15, 0x9b, 0xeb, 0xf8, - 0x83, 0x3b, 0xef, 0xfe, 0x5b, 0xaa, 0x3a, 0xa3, 0x6b, 0x3c, 0x9c, 0x09, 0x9b, 0x76, 0x8d, 0xd9, 0x4c, 0x99, 0x41, 0xde, 0x97, - 0xdd, 0xa0, 0x8e, 0x39, 0x01, 0x05, + 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x15, 0x6e, 0xcd, 0x8c, 0x14, 0xbe, 0x80, + 0xb4, 0x10, 0xae, 0xe4, 0x02, 0xa3, 0xf2, 0x33, 0x17, 0xe7, 0x34, 0x06, 0x74, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, + 0x18, 0x30, 0x16, 0x80, 0x14, 0x78, 0x5c, 0xe7, 0x05, 0xb8, 0x6b, 0x8f, 0x4e, 0x6f, 0xc7, 0x93, 0xaa, 0x60, 0xcb, 0x43, 0xea, + 0x69, 0x68, 0x82, 0xd5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, + 0x02, 0x21, 0x00, 0xef, 0xe5, 0x8e, 0xfd, 0x49, 0x15, 0x67, 0x80, 0xc6, 0x50, 0xb3, 0x93, 0x2c, 0x82, 0x2d, 0x56, 0x11, 0xbb, + 0xac, 0x2f, 0xa6, 0x9e, 0xa2, 0x48, 0x7c, 0x0b, 0xb0, 0x89, 0xbf, 0x64, 0x09, 0x10, 0x02, 0x20, 0x56, 0x8c, 0x09, 0xd0, 0xe8, + 0xfe, 0x7f, 0x84, 0xfa, 0x13, 0x81, 0x5c, 0x35, 0xd5, 0x7a, 0x69, 0x5b, 0xcf, 0x4c, 0xe7, 0x31, 0xa2, 0xe7, 0xfc, 0xa7, 0x2a, + 0xba, 0x8c, 0x43, 0x21, 0xf6, 0xfb, }; extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_Cert = ByteSpan(sTestCert_PAI_FFF2_8004_FB_Cert_Array); constexpr uint8_t sTestCert_PAI_FFF2_8004_FB_SKID_Array[] = { - 0x41, 0x98, 0x0D, 0x4C, 0x17, 0x0B, 0x89, 0xD0, 0x71, 0x63, 0x83, 0x6D, 0x5E, 0xC3, 0xA8, 0x00, 0xB9, 0x38, 0xE3, 0x87, + 0x15, 0x6E, 0xCD, 0x8C, 0x14, 0xBE, 0x80, 0xB4, 0x10, 0xAE, 0xE4, 0x02, 0xA3, 0xF2, 0x33, 0x17, 0xE7, 0x34, 0x06, 0x74, }; extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_SKID = ByteSpan(sTestCert_PAI_FFF2_8004_FB_SKID_Array); @@ -2002,21 +2442,237 @@ extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_SKID = ByteSpan(sTestCert_PAI_F // ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8004-FB-Key.pem constexpr uint8_t sTestCert_PAI_FFF2_8004_FB_PublicKey_Array[] = { - 0x04, 0xfe, 0x83, 0xa2, 0xf6, 0x36, 0xce, 0x10, 0x0f, 0x8e, 0x4c, 0x03, 0xae, 0xa5, 0x8d, 0xb6, 0xef, - 0xde, 0x4e, 0x43, 0x57, 0x32, 0x3c, 0x32, 0xb0, 0x8d, 0xf6, 0x92, 0x4d, 0xbf, 0xe4, 0xe4, 0xab, 0x7d, - 0x36, 0x77, 0x04, 0xd0, 0x2d, 0x3c, 0x26, 0xbe, 0xc0, 0x96, 0x33, 0x1a, 0xa0, 0x4b, 0xd2, 0x8a, 0x2a, - 0xc1, 0x0e, 0x23, 0xdb, 0x96, 0xe7, 0x27, 0x4f, 0xb4, 0x19, 0x09, 0x87, 0x65, 0xa2, + 0x04, 0xd3, 0xf3, 0x9b, 0xc2, 0xe3, 0x36, 0xe7, 0x6c, 0x88, 0xd2, 0x31, 0x38, 0x08, 0x9b, 0xc9, 0x63, + 0x90, 0xe8, 0x2b, 0x07, 0x71, 0x49, 0x42, 0x42, 0x53, 0x9b, 0xf5, 0x7c, 0xda, 0x3c, 0xce, 0x2b, 0x99, + 0x1d, 0x63, 0x8d, 0xea, 0x52, 0xbb, 0xdc, 0x68, 0x30, 0x83, 0xb6, 0xdc, 0x7c, 0xc4, 0x38, 0x87, 0xc1, + 0xc9, 0x43, 0xf5, 0xf3, 0xea, 0xf4, 0x2f, 0x54, 0x2f, 0x12, 0x7e, 0xa6, 0x37, 0x0c, }; extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_PublicKey = ByteSpan(sTestCert_PAI_FFF2_8004_FB_PublicKey_Array); constexpr uint8_t sTestCert_PAI_FFF2_8004_FB_PrivateKey_Array[] = { - 0xa1, 0x08, 0xa1, 0xe5, 0x27, 0x52, 0xe7, 0x56, 0x0d, 0x0a, 0xed, 0xcb, 0xa4, 0xd5, 0x5d, 0x29, - 0x82, 0x78, 0xb0, 0x8c, 0x72, 0xe0, 0x06, 0x90, 0x73, 0xd7, 0xad, 0xe2, 0xa2, 0xf8, 0xe2, 0x0a, + 0x61, 0xd1, 0x9e, 0x11, 0xf2, 0x1a, 0xd9, 0x78, 0x2c, 0x79, 0x45, 0x69, 0xcd, 0x35, 0x75, 0xf3, + 0x94, 0x1d, 0x27, 0x82, 0xd8, 0x9d, 0xf5, 0xa7, 0x1b, 0xdf, 0xbb, 0x6a, 0xa8, 0xb4, 0xd1, 0x69, }; extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_PrivateKey = ByteSpan(sTestCert_PAI_FFF2_8004_FB_PrivateKey_Array); +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Cert.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInFuture_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xbb, 0x30, 0x82, 0x01, 0x62, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x57, 0x23, 0x8b, 0xe8, 0x63, 0x4a, + 0x2f, 0x8d, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x33, 0x32, + 0x30, 0x36, 0x32, 0x37, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x31, 0x14, 0x30, + 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x32, 0x31, 0x14, + 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, 0x30, 0x35, 0x30, + 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, + 0x07, 0x03, 0x42, 0x00, 0x04, 0x86, 0xa2, 0xb4, 0x2b, 0xcb, 0x38, 0xde, 0xa6, 0x17, 0x09, 0xdb, 0x84, 0xc1, 0x28, 0x7f, 0x01, + 0x92, 0x36, 0x05, 0x51, 0xd5, 0x84, 0x89, 0x82, 0x80, 0x1a, 0xa2, 0x75, 0x97, 0x31, 0xb3, 0x73, 0x09, 0xb4, 0xe2, 0x93, 0x9a, + 0x77, 0xc2, 0x1f, 0x1b, 0x3a, 0x4b, 0xac, 0x05, 0x1e, 0x2a, 0x64, 0x50, 0x45, 0x1b, 0x67, 0xfa, 0xdd, 0xac, 0x61, 0xf8, 0xed, + 0x3d, 0xc2, 0xcc, 0xf4, 0xb8, 0x9a, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xbf, 0x16, 0x76, 0x90, 0x52, 0x57, + 0x26, 0xfe, 0x93, 0x5c, 0xf5, 0xc0, 0x9e, 0x78, 0xbd, 0x09, 0x65, 0xb6, 0x1f, 0xd6, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x78, 0x5c, 0xe7, 0x05, 0xb8, 0x6b, 0x8f, 0x4e, 0x6f, 0xc7, 0x93, 0xaa, 0x60, 0xcb, 0x43, + 0xea, 0x69, 0x68, 0x82, 0xd5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, + 0x44, 0x02, 0x20, 0x5c, 0x41, 0x12, 0x7d, 0x2f, 0x51, 0xa7, 0x7b, 0xf3, 0x5e, 0x36, 0x4b, 0x22, 0x0d, 0xc3, 0x16, 0xf5, 0xc1, + 0x30, 0xcf, 0x3b, 0xae, 0xe0, 0x20, 0x7e, 0x56, 0xb8, 0x40, 0x45, 0x6d, 0xdd, 0xb2, 0x02, 0x20, 0x45, 0x08, 0x28, 0xca, 0xc1, + 0xad, 0x03, 0x51, 0x76, 0x48, 0x6a, 0x06, 0x67, 0x7a, 0x5d, 0xa5, 0x16, 0xac, 0x09, 0xcb, 0xa8, 0x14, 0xe4, 0xea, 0x2f, 0xaf, + 0x35, 0x19, 0xdc, 0x4d, 0x71, 0xce, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_Cert = ByteSpan(sTestCert_PAI_FFF2_8005_ValInFuture_Cert_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInFuture_SKID_Array[] = { + 0xBF, 0x16, 0x76, 0x90, 0x52, 0x57, 0x26, 0xFE, 0x93, 0x5C, 0xF5, 0xC0, 0x9E, 0x78, 0xBD, 0x09, 0x65, 0xB6, 0x1F, 0xD6, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_SKID = ByteSpan(sTestCert_PAI_FFF2_8005_ValInFuture_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInFuture-Key.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInFuture_PublicKey_Array[] = { + 0x04, 0x86, 0xa2, 0xb4, 0x2b, 0xcb, 0x38, 0xde, 0xa6, 0x17, 0x09, 0xdb, 0x84, 0xc1, 0x28, 0x7f, 0x01, + 0x92, 0x36, 0x05, 0x51, 0xd5, 0x84, 0x89, 0x82, 0x80, 0x1a, 0xa2, 0x75, 0x97, 0x31, 0xb3, 0x73, 0x09, + 0xb4, 0xe2, 0x93, 0x9a, 0x77, 0xc2, 0x1f, 0x1b, 0x3a, 0x4b, 0xac, 0x05, 0x1e, 0x2a, 0x64, 0x50, 0x45, + 0x1b, 0x67, 0xfa, 0xdd, 0xac, 0x61, 0xf8, 0xed, 0x3d, 0xc2, 0xcc, 0xf4, 0xb8, 0x9a, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_PublicKey = ByteSpan(sTestCert_PAI_FFF2_8005_ValInFuture_PublicKey_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInFuture_PrivateKey_Array[] = { + 0x84, 0x05, 0x55, 0x85, 0x47, 0x9d, 0xc2, 0x28, 0xcd, 0x94, 0x12, 0xd1, 0x85, 0xa6, 0x0e, 0x83, + 0x51, 0x2a, 0xca, 0x17, 0xc6, 0x05, 0x75, 0x86, 0xf3, 0x57, 0x12, 0xb9, 0x4f, 0x85, 0x5b, 0xbd, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_PrivateKey = + ByteSpan(sTestCert_PAI_FFF2_8005_ValInFuture_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Cert.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInPast_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xbc, 0x30, 0x82, 0x01, 0x62, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x40, 0xeb, 0xf7, 0x90, 0x8d, 0x07, + 0x39, 0xca, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, + 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x32, 0x32, + 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, + 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x31, 0x14, 0x30, + 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x32, 0x31, 0x14, + 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, 0x30, 0x35, 0x30, + 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, + 0x07, 0x03, 0x42, 0x00, 0x04, 0xbf, 0x7f, 0x97, 0x9c, 0xc5, 0xb9, 0xdd, 0x91, 0xcd, 0xcd, 0x41, 0x1a, 0xd7, 0x42, 0xe3, 0x64, + 0x65, 0x94, 0x9c, 0x9b, 0xae, 0x0f, 0x8b, 0xf2, 0x13, 0x06, 0x42, 0x72, 0x3f, 0x65, 0x2a, 0x4d, 0xd1, 0x2e, 0xb1, 0x30, 0xd9, + 0x08, 0x87, 0x06, 0x49, 0x87, 0x2a, 0x13, 0xa5, 0x1e, 0x1f, 0xa0, 0x15, 0xcd, 0x4c, 0xbf, 0x51, 0x0d, 0x9a, 0x65, 0x69, 0xf3, + 0x20, 0xfa, 0xf8, 0x50, 0xa7, 0x4b, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, + 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, + 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x28, 0x6f, 0x32, 0x79, 0xbe, 0x13, + 0x77, 0x6e, 0x1e, 0x68, 0xbb, 0xf3, 0x56, 0x5f, 0xbf, 0x12, 0xdb, 0xa9, 0xa0, 0x49, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, + 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x78, 0x5c, 0xe7, 0x05, 0xb8, 0x6b, 0x8f, 0x4e, 0x6f, 0xc7, 0x93, 0xaa, 0x60, 0xcb, 0x43, + 0xea, 0x69, 0x68, 0x82, 0xd5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, + 0x45, 0x02, 0x20, 0x62, 0xc4, 0xc5, 0x2a, 0xe8, 0x74, 0xde, 0xf1, 0x4f, 0xb5, 0x3f, 0x12, 0x15, 0x00, 0x32, 0x0e, 0x51, 0x3e, + 0xa4, 0x9f, 0xf4, 0xf2, 0x2e, 0x1b, 0x66, 0x52, 0x5f, 0x8a, 0x7d, 0xc4, 0xfc, 0x18, 0x02, 0x21, 0x00, 0xf0, 0x89, 0xda, 0xf9, + 0xaa, 0xe9, 0x2a, 0x92, 0xac, 0xfe, 0xef, 0xa8, 0x59, 0x57, 0xb0, 0x18, 0xfb, 0x8d, 0x04, 0x01, 0x62, 0x38, 0x08, 0x22, 0x57, + 0x40, 0x2e, 0x48, 0xf9, 0x89, 0x8f, 0x65, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_Cert = ByteSpan(sTestCert_PAI_FFF2_8005_ValInPast_Cert_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInPast_SKID_Array[] = { + 0x28, 0x6F, 0x32, 0x79, 0xBE, 0x13, 0x77, 0x6E, 0x1E, 0x68, 0xBB, 0xF3, 0x56, 0x5F, 0xBF, 0x12, 0xDB, 0xA9, 0xA0, 0x49, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_SKID = ByteSpan(sTestCert_PAI_FFF2_8005_ValInPast_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8005-ValInPast-Key.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInPast_PublicKey_Array[] = { + 0x04, 0xbf, 0x7f, 0x97, 0x9c, 0xc5, 0xb9, 0xdd, 0x91, 0xcd, 0xcd, 0x41, 0x1a, 0xd7, 0x42, 0xe3, 0x64, + 0x65, 0x94, 0x9c, 0x9b, 0xae, 0x0f, 0x8b, 0xf2, 0x13, 0x06, 0x42, 0x72, 0x3f, 0x65, 0x2a, 0x4d, 0xd1, + 0x2e, 0xb1, 0x30, 0xd9, 0x08, 0x87, 0x06, 0x49, 0x87, 0x2a, 0x13, 0xa5, 0x1e, 0x1f, 0xa0, 0x15, 0xcd, + 0x4c, 0xbf, 0x51, 0x0d, 0x9a, 0x65, 0x69, 0xf3, 0x20, 0xfa, 0xf8, 0x50, 0xa7, 0x4b, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_PublicKey = ByteSpan(sTestCert_PAI_FFF2_8005_ValInPast_PublicKey_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8005_ValInPast_PrivateKey_Array[] = { + 0xbd, 0xdb, 0xe8, 0xda, 0x3f, 0x19, 0x8e, 0x88, 0xe7, 0x46, 0xcb, 0x1d, 0x63, 0xd0, 0x82, 0x7e, + 0xd7, 0x64, 0xcf, 0x1f, 0x32, 0xa4, 0xe2, 0x13, 0xa7, 0xa9, 0xee, 0xd1, 0x70, 0xee, 0x91, 0xdd, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_PrivateKey = ByteSpan(sTestCert_PAI_FFF2_8005_ValInPast_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Cert.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInFuture_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xd2, 0x30, 0x82, 0x01, 0x78, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x58, 0x40, 0x86, 0xd3, 0xe7, 0xc3, + 0xef, 0x5c, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x33, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x33, + 0x32, 0x30, 0x36, 0x32, 0x37, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x31, 0x14, + 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x32, 0x31, + 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, 0x30, 0x36, + 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, + 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xed, 0x11, 0x9f, 0x89, 0x25, 0x25, 0x2e, 0xa5, 0xbc, 0x97, 0xf0, 0xb6, 0x2d, 0xfa, 0xc2, + 0xf0, 0x3a, 0xd9, 0x84, 0x57, 0x93, 0x4d, 0x82, 0x01, 0x88, 0x85, 0x2f, 0xbd, 0x45, 0x31, 0x0f, 0x22, 0x08, 0x53, 0xd3, 0x78, + 0x0f, 0x27, 0x46, 0x36, 0x81, 0x68, 0x31, 0x58, 0x09, 0x8c, 0x8f, 0x00, 0x5a, 0x55, 0x0e, 0xae, 0xfb, 0xd4, 0xb8, 0x68, 0x87, + 0xa5, 0xee, 0xd7, 0x35, 0xa0, 0xdb, 0x12, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0x2b, 0x77, 0x33, 0x1a, 0x46, + 0xce, 0xc3, 0x7d, 0x47, 0xf7, 0xec, 0x6a, 0xca, 0xf2, 0xe9, 0x32, 0x15, 0x7a, 0xec, 0x5c, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x69, 0xcc, 0xf6, 0xfd, 0xbd, 0x34, 0x2a, 0x3d, 0x29, 0x48, 0x98, 0x49, 0x32, 0xd6, + 0x7f, 0x3b, 0x22, 0x2e, 0x27, 0x9a, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, + 0x30, 0x45, 0x02, 0x21, 0x00, 0xf8, 0xa1, 0xc3, 0x16, 0xe3, 0x40, 0xc5, 0x83, 0xac, 0xf0, 0xb3, 0xc1, 0x83, 0xfd, 0x8a, 0x18, + 0xc9, 0x73, 0x63, 0x9b, 0xab, 0xb0, 0x42, 0xc9, 0xe6, 0x84, 0x71, 0x0b, 0xe6, 0x92, 0xcd, 0xa3, 0x02, 0x20, 0x42, 0x1b, 0x8a, + 0xab, 0x48, 0xd8, 0xad, 0x5d, 0x42, 0x16, 0x1c, 0x8c, 0x57, 0x79, 0x14, 0xa5, 0xa8, 0xc4, 0x3a, 0x3d, 0x97, 0xa5, 0x5b, 0x18, + 0x91, 0x40, 0x9e, 0xa6, 0xdd, 0x6f, 0x85, 0x8d, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_Cert = ByteSpan(sTestCert_PAI_FFF2_8006_ValInFuture_Cert_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInFuture_SKID_Array[] = { + 0x2B, 0x77, 0x33, 0x1A, 0x46, 0xCE, 0xC3, 0x7D, 0x47, 0xF7, 0xEC, 0x6A, 0xCA, 0xF2, 0xE9, 0x32, 0x15, 0x7A, 0xEC, 0x5C, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_SKID = ByteSpan(sTestCert_PAI_FFF2_8006_ValInFuture_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInFuture-Key.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInFuture_PublicKey_Array[] = { + 0x04, 0xed, 0x11, 0x9f, 0x89, 0x25, 0x25, 0x2e, 0xa5, 0xbc, 0x97, 0xf0, 0xb6, 0x2d, 0xfa, 0xc2, 0xf0, + 0x3a, 0xd9, 0x84, 0x57, 0x93, 0x4d, 0x82, 0x01, 0x88, 0x85, 0x2f, 0xbd, 0x45, 0x31, 0x0f, 0x22, 0x08, + 0x53, 0xd3, 0x78, 0x0f, 0x27, 0x46, 0x36, 0x81, 0x68, 0x31, 0x58, 0x09, 0x8c, 0x8f, 0x00, 0x5a, 0x55, + 0x0e, 0xae, 0xfb, 0xd4, 0xb8, 0x68, 0x87, 0xa5, 0xee, 0xd7, 0x35, 0xa0, 0xdb, 0x12, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_PublicKey = ByteSpan(sTestCert_PAI_FFF2_8006_ValInFuture_PublicKey_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInFuture_PrivateKey_Array[] = { + 0x86, 0x36, 0x17, 0xc1, 0xb1, 0xd0, 0x34, 0x21, 0xb1, 0x22, 0xdf, 0x7c, 0x6e, 0x56, 0x84, 0x25, + 0xd1, 0xc6, 0x1c, 0x93, 0x08, 0x43, 0x7f, 0xfe, 0xf1, 0x9d, 0x71, 0xe1, 0x1b, 0xcf, 0x7e, 0x06, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_PrivateKey = + ByteSpan(sTestCert_PAI_FFF2_8006_ValInFuture_PrivateKey_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Cert.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInPast_Cert_Array[] = { + 0x30, 0x82, 0x01, 0xd2, 0x30, 0x82, 0x01, 0x78, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x66, 0xfd, 0xd6, 0x42, 0x17, 0xb6, + 0x99, 0xde, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x30, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, + 0x31, 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, + 0x32, 0x30, 0x1e, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x17, 0x0d, 0x32, + 0x32, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x32, 0x5a, 0x30, 0x46, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, + 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x31, 0x14, + 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x01, 0x0c, 0x04, 0x46, 0x46, 0x46, 0x32, 0x31, + 0x14, 0x30, 0x12, 0x06, 0x0a, 0x2b, 0x06, 0x01, 0x04, 0x01, 0x82, 0xa2, 0x7c, 0x02, 0x02, 0x0c, 0x04, 0x38, 0x30, 0x30, 0x36, + 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, + 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0xbb, 0xa7, 0x06, 0x82, 0xed, 0x33, 0xd2, 0xe3, 0xff, 0xe5, 0xda, 0x25, 0x5a, 0xaa, 0xef, + 0xeb, 0x4d, 0x49, 0x52, 0x9f, 0xbc, 0xb6, 0x68, 0xfb, 0xd4, 0xac, 0x91, 0xfa, 0x63, 0x92, 0xa2, 0xe0, 0xfb, 0xd3, 0x5f, 0xd0, + 0x58, 0x01, 0x6e, 0x44, 0xa6, 0xe8, 0xd6, 0x12, 0x83, 0x10, 0x29, 0x77, 0x8c, 0x6f, 0x69, 0x1d, 0x05, 0x87, 0x1f, 0x07, 0xc7, + 0x42, 0x0c, 0x40, 0x60, 0x5c, 0x60, 0xee, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, + 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, + 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, 0x04, 0x16, 0x04, 0x14, 0xa0, 0xed, 0x6d, 0x1e, 0x10, + 0x63, 0x6c, 0x22, 0x80, 0x6d, 0xcb, 0xda, 0x21, 0x65, 0xb2, 0x18, 0x65, 0x80, 0x64, 0x88, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, + 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x7f, 0xbe, 0xa6, 0xcd, 0xd6, 0xcc, 0x8b, 0x25, 0x30, 0xc2, 0xf0, 0x8e, 0x50, 0xdb, + 0xe4, 0x89, 0xf1, 0xf5, 0x3d, 0xb5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, + 0x30, 0x45, 0x02, 0x21, 0x00, 0x84, 0xcd, 0x13, 0xaa, 0x56, 0x3a, 0xac, 0x97, 0xc6, 0x08, 0x46, 0xeb, 0xc2, 0x50, 0x9a, 0x83, + 0x5a, 0xc2, 0x3c, 0xc9, 0x46, 0x4d, 0xce, 0xba, 0xa7, 0x54, 0x9e, 0x69, 0xdd, 0x24, 0xd3, 0x3a, 0x02, 0x20, 0x04, 0x34, 0x51, + 0xf8, 0xf6, 0x74, 0xfe, 0x24, 0xd1, 0xba, 0x98, 0x00, 0x14, 0x92, 0xe3, 0x0d, 0x79, 0x36, 0x75, 0x0d, 0x69, 0x70, 0x85, 0x75, + 0x16, 0x9f, 0x86, 0x60, 0x83, 0x98, 0x3e, 0x15, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_Cert = ByteSpan(sTestCert_PAI_FFF2_8006_ValInPast_Cert_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInPast_SKID_Array[] = { + 0xA0, 0xED, 0x6D, 0x1E, 0x10, 0x63, 0x6C, 0x22, 0x80, 0x6D, 0xCB, 0xDA, 0x21, 0x65, 0xB2, 0x18, 0x65, 0x80, 0x64, 0x88, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_SKID = ByteSpan(sTestCert_PAI_FFF2_8006_ValInPast_SKID_Array); + +// ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-8006-ValInPast-Key.pem + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInPast_PublicKey_Array[] = { + 0x04, 0xbb, 0xa7, 0x06, 0x82, 0xed, 0x33, 0xd2, 0xe3, 0xff, 0xe5, 0xda, 0x25, 0x5a, 0xaa, 0xef, 0xeb, + 0x4d, 0x49, 0x52, 0x9f, 0xbc, 0xb6, 0x68, 0xfb, 0xd4, 0xac, 0x91, 0xfa, 0x63, 0x92, 0xa2, 0xe0, 0xfb, + 0xd3, 0x5f, 0xd0, 0x58, 0x01, 0x6e, 0x44, 0xa6, 0xe8, 0xd6, 0x12, 0x83, 0x10, 0x29, 0x77, 0x8c, 0x6f, + 0x69, 0x1d, 0x05, 0x87, 0x1f, 0x07, 0xc7, 0x42, 0x0c, 0x40, 0x60, 0x5c, 0x60, 0xee, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_PublicKey = ByteSpan(sTestCert_PAI_FFF2_8006_ValInPast_PublicKey_Array); + +constexpr uint8_t sTestCert_PAI_FFF2_8006_ValInPast_PrivateKey_Array[] = { + 0x86, 0x9e, 0xbf, 0x0f, 0xa5, 0xc4, 0x05, 0x2c, 0xa0, 0x13, 0xe8, 0xa1, 0xb9, 0x8d, 0x6b, 0x79, + 0x3a, 0x77, 0xec, 0xe3, 0x02, 0xf1, 0x4f, 0x88, 0x1f, 0x71, 0xec, 0xd8, 0x40, 0xbe, 0x6f, 0xd2, +}; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_PrivateKey = ByteSpan(sTestCert_PAI_FFF2_8006_ValInPast_PrivateKey_Array); + // ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-Cert.pem constexpr uint8_t sTestCert_PAI_FFF2_NoPID_Cert_Array[] = { @@ -2072,32 +2728,32 @@ extern const ByteSpan sTestCert_PAI_FFF2_NoPID_PrivateKey = ByteSpan(sTestCert_P // ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Cert.pem constexpr uint8_t sTestCert_PAI_FFF2_NoPID_FB_Cert_Array[] = { - 0x30, 0x82, 0x01, 0x9c, 0x30, 0x82, 0x01, 0x42, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x29, 0x25, 0x3e, 0x41, 0x2c, 0x7f, - 0x86, 0xbc, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, + 0x30, 0x82, 0x01, 0x9b, 0x30, 0x82, 0x01, 0x42, 0xa0, 0x03, 0x02, 0x01, 0x02, 0x02, 0x08, 0x22, 0xdf, 0x09, 0x71, 0x27, 0x86, + 0x6a, 0xa3, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x30, 0x1a, 0x31, 0x18, 0x30, 0x16, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x0f, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x41, 0x30, 0x20, 0x17, 0x0d, 0x32, 0x31, 0x30, 0x36, 0x32, 0x38, 0x31, 0x34, 0x32, 0x33, 0x34, 0x33, 0x5a, 0x18, 0x0f, 0x39, 0x39, 0x39, 0x39, 0x31, 0x32, 0x33, 0x31, 0x32, 0x33, 0x35, 0x39, 0x35, 0x39, 0x5a, 0x30, 0x24, 0x31, 0x22, 0x30, 0x20, 0x06, 0x03, 0x55, 0x04, 0x03, 0x0c, 0x19, 0x4d, 0x61, 0x74, 0x74, 0x65, 0x72, 0x20, 0x54, 0x65, 0x73, 0x74, 0x20, 0x50, 0x41, 0x49, 0x20, 0x4d, 0x76, 0x69, 0x64, 0x3a, 0x46, 0x46, 0x46, 0x32, 0x30, 0x59, 0x30, 0x13, 0x06, 0x07, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x02, - 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x2d, 0x26, 0x49, 0xa7, 0xd8, 0xba, - 0x9f, 0xc0, 0x99, 0xb4, 0xce, 0x30, 0x93, 0x28, 0x30, 0xa6, 0xb5, 0xb0, 0x79, 0xc3, 0x73, 0xa1, 0xdf, 0x83, 0x55, 0xa7, 0x27, - 0xcd, 0xd2, 0xdb, 0x5e, 0x56, 0xcc, 0xee, 0xe1, 0x39, 0x52, 0x68, 0x86, 0x29, 0x1e, 0xcc, 0x70, 0x1e, 0x4e, 0xff, 0xf2, 0x55, - 0x91, 0xb3, 0x8f, 0xf4, 0xfe, 0x96, 0x0d, 0x2b, 0xca, 0x6c, 0xdc, 0x29, 0x67, 0x68, 0xf8, 0xcb, 0xa3, 0x66, 0x30, 0x64, 0x30, + 0x01, 0x06, 0x08, 0x2a, 0x86, 0x48, 0xce, 0x3d, 0x03, 0x01, 0x07, 0x03, 0x42, 0x00, 0x04, 0x6a, 0x7b, 0xf1, 0xfb, 0x23, 0xfa, + 0xb3, 0x7f, 0xbc, 0xa3, 0x58, 0xe6, 0x3d, 0x92, 0x04, 0xb7, 0x03, 0x57, 0x06, 0xbe, 0xad, 0x7e, 0xd3, 0xe0, 0x4b, 0x0b, 0x1b, + 0xfe, 0x2a, 0x59, 0x56, 0x75, 0x1f, 0xea, 0x15, 0x6f, 0x94, 0xd3, 0x46, 0xce, 0x28, 0x61, 0xf4, 0xeb, 0xaf, 0xd8, 0x22, 0x93, + 0xc2, 0xe7, 0x64, 0x5c, 0xcc, 0x7a, 0x5a, 0xac, 0xbf, 0xb1, 0x7e, 0x41, 0xe5, 0xe2, 0x44, 0x81, 0xa3, 0x66, 0x30, 0x64, 0x30, 0x12, 0x06, 0x03, 0x55, 0x1d, 0x13, 0x01, 0x01, 0xff, 0x04, 0x08, 0x30, 0x06, 0x01, 0x01, 0xff, 0x02, 0x01, 0x00, 0x30, 0x0e, 0x06, 0x03, 0x55, 0x1d, 0x0f, 0x01, 0x01, 0xff, 0x04, 0x04, 0x03, 0x02, 0x01, 0x06, 0x30, 0x1d, 0x06, 0x03, 0x55, 0x1d, 0x0e, - 0x04, 0x16, 0x04, 0x14, 0xa3, 0x5b, 0xf0, 0x00, 0xd2, 0x77, 0x9d, 0xd2, 0x8d, 0x91, 0x8a, 0x77, 0x44, 0xde, 0x5b, 0x7f, 0x11, - 0xe4, 0x4d, 0x27, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0xe0, 0xfc, 0xd7, 0xf2, 0x22, - 0x70, 0xab, 0xb2, 0xd4, 0x67, 0x58, 0x47, 0x10, 0xf5, 0xe4, 0x87, 0x76, 0x80, 0x7a, 0x26, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, - 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x48, 0x00, 0x30, 0x45, 0x02, 0x20, 0x02, 0x68, 0xb0, 0x9a, 0x83, 0x21, 0x21, 0xf6, - 0xcb, 0xcb, 0x2e, 0x35, 0x59, 0x14, 0x57, 0xef, 0x97, 0x95, 0xb1, 0x50, 0x06, 0xd1, 0x93, 0x14, 0x0d, 0x80, 0xcd, 0x36, 0xc8, - 0xd4, 0x08, 0xbe, 0x02, 0x21, 0x00, 0x9f, 0x68, 0x9d, 0x1d, 0x35, 0x42, 0x39, 0xb5, 0x83, 0xb5, 0xed, 0xcf, 0x3d, 0xdc, 0xfe, - 0xa3, 0x29, 0xcf, 0x76, 0x77, 0x51, 0xdd, 0x6b, 0xaf, 0x9f, 0x55, 0xbb, 0xa6, 0xa9, 0x41, 0x17, 0xdb, + 0x04, 0x16, 0x04, 0x14, 0x19, 0xfa, 0x94, 0x74, 0x93, 0x29, 0xda, 0x74, 0x0f, 0x55, 0x6a, 0x33, 0x3f, 0xb5, 0x13, 0x73, 0xd7, + 0x08, 0x17, 0x56, 0x30, 0x1f, 0x06, 0x03, 0x55, 0x1d, 0x23, 0x04, 0x18, 0x30, 0x16, 0x80, 0x14, 0x78, 0x5c, 0xe7, 0x05, 0xb8, + 0x6b, 0x8f, 0x4e, 0x6f, 0xc7, 0x93, 0xaa, 0x60, 0xcb, 0x43, 0xea, 0x69, 0x68, 0x82, 0xd5, 0x30, 0x0a, 0x06, 0x08, 0x2a, 0x86, + 0x48, 0xce, 0x3d, 0x04, 0x03, 0x02, 0x03, 0x47, 0x00, 0x30, 0x44, 0x02, 0x20, 0x76, 0x50, 0xe1, 0x8b, 0xfc, 0x04, 0x98, 0x6a, + 0xeb, 0x0d, 0xc6, 0x8e, 0x1b, 0xbc, 0x01, 0x99, 0x6f, 0x44, 0xb4, 0xb0, 0x34, 0xb0, 0xd8, 0x0c, 0x8d, 0x94, 0xa6, 0x8b, 0x61, + 0x06, 0x32, 0x03, 0x02, 0x20, 0x78, 0xfe, 0xbc, 0x9c, 0xb7, 0xf4, 0x04, 0xcc, 0xef, 0x19, 0x5c, 0xcf, 0x1e, 0xcb, 0x09, 0x54, + 0x43, 0x8b, 0xe5, 0xa5, 0x9d, 0x74, 0x8a, 0xe9, 0xae, 0x31, 0x39, 0x0d, 0x9b, 0x12, 0x5b, 0xfe, }; extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_Cert = ByteSpan(sTestCert_PAI_FFF2_NoPID_FB_Cert_Array); constexpr uint8_t sTestCert_PAI_FFF2_NoPID_FB_SKID_Array[] = { - 0xA3, 0x5B, 0xF0, 0x00, 0xD2, 0x77, 0x9D, 0xD2, 0x8D, 0x91, 0x8A, 0x77, 0x44, 0xDE, 0x5B, 0x7F, 0x11, 0xE4, 0x4D, 0x27, + 0x19, 0xFA, 0x94, 0x74, 0x93, 0x29, 0xDA, 0x74, 0x0F, 0x55, 0x6A, 0x33, 0x3F, 0xB5, 0x13, 0x73, 0xD7, 0x08, 0x17, 0x56, }; extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_SKID = ByteSpan(sTestCert_PAI_FFF2_NoPID_FB_SKID_Array); @@ -2105,17 +2761,17 @@ extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_SKID = ByteSpan(sTestCert_PAI_ // ${chip_root}/credentials/test/attestation/Chip-Test-PAI-FFF2-NoPID-FB-Key.pem constexpr uint8_t sTestCert_PAI_FFF2_NoPID_FB_PublicKey_Array[] = { - 0x04, 0x2d, 0x26, 0x49, 0xa7, 0xd8, 0xba, 0x9f, 0xc0, 0x99, 0xb4, 0xce, 0x30, 0x93, 0x28, 0x30, 0xa6, - 0xb5, 0xb0, 0x79, 0xc3, 0x73, 0xa1, 0xdf, 0x83, 0x55, 0xa7, 0x27, 0xcd, 0xd2, 0xdb, 0x5e, 0x56, 0xcc, - 0xee, 0xe1, 0x39, 0x52, 0x68, 0x86, 0x29, 0x1e, 0xcc, 0x70, 0x1e, 0x4e, 0xff, 0xf2, 0x55, 0x91, 0xb3, - 0x8f, 0xf4, 0xfe, 0x96, 0x0d, 0x2b, 0xca, 0x6c, 0xdc, 0x29, 0x67, 0x68, 0xf8, 0xcb, + 0x04, 0x6a, 0x7b, 0xf1, 0xfb, 0x23, 0xfa, 0xb3, 0x7f, 0xbc, 0xa3, 0x58, 0xe6, 0x3d, 0x92, 0x04, 0xb7, + 0x03, 0x57, 0x06, 0xbe, 0xad, 0x7e, 0xd3, 0xe0, 0x4b, 0x0b, 0x1b, 0xfe, 0x2a, 0x59, 0x56, 0x75, 0x1f, + 0xea, 0x15, 0x6f, 0x94, 0xd3, 0x46, 0xce, 0x28, 0x61, 0xf4, 0xeb, 0xaf, 0xd8, 0x22, 0x93, 0xc2, 0xe7, + 0x64, 0x5c, 0xcc, 0x7a, 0x5a, 0xac, 0xbf, 0xb1, 0x7e, 0x41, 0xe5, 0xe2, 0x44, 0x81, }; extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_PublicKey = ByteSpan(sTestCert_PAI_FFF2_NoPID_FB_PublicKey_Array); constexpr uint8_t sTestCert_PAI_FFF2_NoPID_FB_PrivateKey_Array[] = { - 0xf7, 0x8c, 0xa0, 0x09, 0xd9, 0xa4, 0x81, 0x76, 0x79, 0x62, 0xde, 0x5d, 0x98, 0x97, 0x25, 0xcc, - 0x45, 0x0d, 0xd4, 0xa2, 0xcb, 0xc5, 0x69, 0xf7, 0xde, 0x91, 0x76, 0x1f, 0x90, 0xc7, 0x7f, 0x0e, + 0x22, 0x78, 0xe1, 0xaa, 0x00, 0x59, 0x58, 0x1e, 0xcf, 0x2d, 0xbf, 0x68, 0xc3, 0xf2, 0x51, 0xf6, + 0x76, 0xfc, 0xde, 0xdd, 0x88, 0xb6, 0xe7, 0x50, 0x50, 0xdf, 0x6a, 0x72, 0x41, 0xc7, 0x65, 0x56, }; extern const ByteSpan sTestCert_PAI_FFF2_NoPID_FB_PrivateKey = ByteSpan(sTestCert_PAI_FFF2_NoPID_FB_PrivateKey_Array); diff --git a/src/credentials/tests/CHIPAttCert_test_vectors.h b/src/credentials/tests/CHIPAttCert_test_vectors.h index 4735e8e8c5faa4..caa239986ac817 100644 --- a/src/credentials/tests/CHIPAttCert_test_vectors.h +++ b/src/credentials/tests/CHIPAttCert_test_vectors.h @@ -181,11 +181,51 @@ extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_SKID; extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_PublicKey; extern const ByteSpan sTestCert_DAC_FFF2_8004_001F_FB_PrivateKey; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_Cert; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_SKID; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_PublicKey; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0020_ValInPast_PrivateKey; + +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_Cert; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_SKID; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_PublicKey; +extern const ByteSpan sTestCert_DAC_FFF2_8004_0021_ValInFuture_PrivateKey; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_Cert; +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_SKID; +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_PublicKey; +extern const ByteSpan sTestCert_DAC_FFF2_8005_0022_ValInPast_PrivateKey; + +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_Cert; +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_SKID; +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_PublicKey; +extern const ByteSpan sTestCert_DAC_FFF2_8005_0023_ValInFuture_PrivateKey; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_Cert; +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_SKID; +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_PublicKey; +extern const ByteSpan sTestCert_DAC_FFF2_8006_0024_ValInPast_PrivateKey; + +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_Cert; +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_SKID; +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_PublicKey; +extern const ByteSpan sTestCert_DAC_FFF2_8006_0025_ValInFuture_PrivateKey; + extern const ByteSpan sTestCert_PAA_FFF1_Cert; extern const ByteSpan sTestCert_PAA_FFF1_SKID; extern const ByteSpan sTestCert_PAA_FFF1_PublicKey; extern const ByteSpan sTestCert_PAA_FFF1_PrivateKey; +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_Cert; +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_SKID; +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_PublicKey; +extern const ByteSpan sTestCert_PAA_FFF2_ValInFuture_PrivateKey; + +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_Cert; +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_SKID; +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_PublicKey; +extern const ByteSpan sTestCert_PAA_FFF2_ValInPast_PrivateKey; + extern const ByteSpan sTestCert_PAA_NoVID_Cert; extern const ByteSpan sTestCert_PAA_NoVID_SKID; extern const ByteSpan sTestCert_PAA_NoVID_PublicKey; @@ -206,6 +246,26 @@ extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_SKID; extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_PublicKey; extern const ByteSpan sTestCert_PAI_FFF2_8004_FB_PrivateKey; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_Cert; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_SKID; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_PublicKey; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInFuture_PrivateKey; + +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_Cert; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_SKID; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_PublicKey; +extern const ByteSpan sTestCert_PAI_FFF2_8005_ValInPast_PrivateKey; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_Cert; +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_SKID; +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_PublicKey; +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInFuture_PrivateKey; + +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_Cert; +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_SKID; +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_PublicKey; +extern const ByteSpan sTestCert_PAI_FFF2_8006_ValInPast_PrivateKey; + extern const ByteSpan sTestCert_PAI_FFF2_NoPID_Cert; extern const ByteSpan sTestCert_PAI_FFF2_NoPID_SKID; extern const ByteSpan sTestCert_PAI_FFF2_NoPID_PublicKey; diff --git a/src/crypto/CHIPCryptoPALOpenSSL.cpp b/src/crypto/CHIPCryptoPALOpenSSL.cpp index 0eb2f4687e3a12..237f5c02d3326c 100644 --- a/src/crypto/CHIPCryptoPALOpenSSL.cpp +++ b/src/crypto/CHIPCryptoPALOpenSSL.cpp @@ -43,6 +43,7 @@ #include #include +#include #include #include #include @@ -1651,6 +1652,26 @@ CHIP_ERROR ValidateCertificateChain(const uint8_t * rootCertificate, size_t root status = X509_STORE_CTX_init(verifyCtx, store, x509LeafCertificate, chain); VerifyOrExit(status == 1, (result = CertificateChainValidationResult::kInternalFrameworkError, err = CHIP_ERROR_INTERNAL)); + // Set time used in the X509 certificate chain validation to the notBefore time of the leaf certificate. + // That way the X509_verify_cert() validates that intermediate and root certificates were + // valid at the time of the leaf certificate generation. + { + X509_VERIFY_PARAM * param = X509_STORE_CTX_get0_param(verifyCtx); + chip::ASN1::ASN1UniversalTime asn1Time; + char * asn1TimeStr = reinterpret_cast(X509_get_notBefore(x509LeafCertificate)->data); + uint32_t unixEpoch; + + VerifyOrExit(param != nullptr, (result = CertificateChainValidationResult::kNoMemory, err = CHIP_ERROR_NO_MEMORY)); + + VerifyOrExit(CHIP_NO_ERROR == asn1Time.ImportFrom_ASN1_TIME_string(CharSpan(asn1TimeStr, strlen(asn1TimeStr))), + (result = CertificateChainValidationResult::kLeafFormatInvalid, err = CHIP_ERROR_INTERNAL)); + + VerifyOrExit(asn1Time.ExportTo_UnixTime(unixEpoch), + (result = CertificateChainValidationResult::kLeafFormatInvalid, err = CHIP_ERROR_INTERNAL)); + + X509_VERIFY_PARAM_set_time(param, unixEpoch); + } + status = X509_verify_cert(verifyCtx); VerifyOrExit(status == 1, (result = CertificateChainValidationResult::kChainInvalid, err = CHIP_ERROR_CERT_NOT_TRUSTED)); diff --git a/src/crypto/CHIPCryptoPALmbedTLS.cpp b/src/crypto/CHIPCryptoPALmbedTLS.cpp index 59b11d1e34a681..75f9a36a9d8ad6 100644 --- a/src/crypto/CHIPCryptoPALmbedTLS.cpp +++ b/src/crypto/CHIPCryptoPALmbedTLS.cpp @@ -1252,6 +1252,14 @@ CHIP_ERROR Spake2p_P256_SHA256_HKDF_HMAC::PointIsValid(void * R) return CHIP_NO_ERROR; } +#if defined(MBEDTLS_X509_CRT_PARSE_C) +static int mbedTLSCallbackIgnoreCertValidityCheck(void * data, mbedtls_x509_crt * crt, int depth, uint32_t * flags) +{ + *flags &= ~(static_cast(MBEDTLS_X509_BADCERT_EXPIRED | MBEDTLS_X509_BADCERT_FUTURE)); + return 0; +} +#endif // defined(MBEDTLS_X509_CRT_PARSE_C) + CHIP_ERROR ValidateCertificateChain(const uint8_t * rootCertificate, size_t rootCertificateLen, const uint8_t * caCertificate, size_t caCertificateLen, const uint8_t * leafCertificate, size_t leafCertificateLen, CertificateChainValidationResult & result) @@ -1288,7 +1296,8 @@ CHIP_ERROR ValidateCertificateChain(const uint8_t * rootCertificate, size_t root VerifyOrExit(mbedResult == 0, (result = CertificateChainValidationResult::kRootFormatInvalid, error = CHIP_ERROR_INTERNAL)); /* Verify the chain against the root */ - mbedResult = mbedtls_x509_crt_verify(&certChain, &rootCert, nullptr, nullptr, &flags, nullptr, nullptr); + mbedResult = + mbedtls_x509_crt_verify(&certChain, &rootCert, nullptr, nullptr, &flags, mbedTLSCallbackIgnoreCertValidityCheck, nullptr); switch (mbedResult) { diff --git a/src/crypto/tests/CHIPCryptoPALTest.cpp b/src/crypto/tests/CHIPCryptoPALTest.cpp index bb81200a66f051..3e2bb1123af6be 100644 --- a/src/crypto/tests/CHIPCryptoPALTest.cpp +++ b/src/crypto/tests/CHIPCryptoPALTest.cpp @@ -1644,69 +1644,55 @@ static void TestX509_CertChainValidation(nlTestSuite * inSuite, void * inContext using namespace TestCerts; HeapChecker heapChecker(inSuite); - CHIP_ERROR err = CHIP_NO_ERROR; - - ByteSpan root_cert; - err = GetTestCert(TestCert::kRoot01, TestCertLoadFlags::kDERForm, root_cert); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); - - ByteSpan ica_cert; - err = GetTestCert(TestCert::kICA01, TestCertLoadFlags::kDERForm, ica_cert); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); - - ByteSpan leaf_cert; - err = GetTestCert(TestCert::kNode01_01, TestCertLoadFlags::kDERForm, leaf_cert); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); - - CertificateChainValidationResult chainValidationResult; - err = ValidateCertificateChain(root_cert.data(), root_cert.size(), ica_cert.data(), ica_cert.size(), leaf_cert.data(), - leaf_cert.size(), chainValidationResult); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kSuccess); - - // Now test for invalid arguments. - err = ValidateCertificateChain(nullptr, 0, ica_cert.data(), ica_cert.size(), leaf_cert.data(), leaf_cert.size(), - chainValidationResult); - NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kRootArgumentInvalid); - - err = ValidateCertificateChain(root_cert.data(), root_cert.size(), nullptr, 0, leaf_cert.data(), leaf_cert.size(), - chainValidationResult); - NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kICAArgumentInvalid); - - err = ValidateCertificateChain(root_cert.data(), root_cert.size(), ica_cert.data(), ica_cert.size(), nullptr, 0, - chainValidationResult); - NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_INVALID_ARGUMENT); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kLeafArgumentInvalid); - - // Now test with an ICA certificate that does not correspond to the chain - ByteSpan wrong_ica_cert; - err = GetTestCert(TestCert::kICA02, TestCertLoadFlags::kDERForm, wrong_ica_cert); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + CHIP_ERROR err; - err = ValidateCertificateChain(root_cert.data(), root_cert.size(), wrong_ica_cert.data(), wrong_ica_cert.size(), - leaf_cert.data(), leaf_cert.size(), chainValidationResult); - NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_CERT_NOT_TRUSTED); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kChainInvalid); - - // Now test with a Root certificate that does not correspond to the chain - ByteSpan wrong_root_cert; - err = GetTestCert(TestCert::kRoot02, TestCertLoadFlags::kDERForm, wrong_root_cert); - NL_TEST_ASSERT(inSuite, err == CHIP_NO_ERROR); + struct ValidationTestCase + { + ByteSpan root; + ByteSpan ica; + ByteSpan leaf; + CHIP_ERROR expectedError; + CertificateChainValidationResult expectedValResult; + }; - err = ValidateCertificateChain(wrong_root_cert.data(), wrong_root_cert.size(), ica_cert.data(), ica_cert.size(), - leaf_cert.data(), leaf_cert.size(), chainValidationResult); - NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_CERT_NOT_TRUSTED); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kChainInvalid); + // clang-format off + static ValidationTestCase sValidationTestCases[] = { + // root ica leaf Expected Error Expected Validation Result + // =================================================================================================================================================================================================================== + { sTestCert_PAA_FFF1_Cert, sTestCert_PAI_FFF1_8000_Cert, sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_FFF1_Cert, sTestCert_PAI_FFF1_8000_Cert, sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_NoPID_Cert, sTestCert_DAC_FFF2_8002_0017_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_NoPID_FB_Cert, sTestCert_DAC_FFF2_8003_0018_FB_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_8004_FB_Cert, sTestCert_DAC_FFF2_8004_001C_FB_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + // Valid cases with PAA, PAI, DAC time validity in the past or future: + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_8004_FB_Cert, sTestCert_DAC_FFF2_8004_0020_ValInPast_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_8004_FB_Cert, sTestCert_DAC_FFF2_8004_0021_ValInFuture_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_8005_ValInPast_Cert, sTestCert_DAC_FFF2_8005_0022_ValInPast_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF2_8005_ValInFuture_Cert, sTestCert_DAC_FFF2_8005_0023_ValInFuture_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_FFF2_ValInPast_Cert, sTestCert_PAI_FFF2_8006_ValInPast_Cert, sTestCert_DAC_FFF2_8006_0024_ValInPast_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + { sTestCert_PAA_FFF2_ValInFuture_Cert, sTestCert_PAI_FFF2_8006_ValInFuture_Cert, sTestCert_DAC_FFF2_8006_0025_ValInFuture_Cert, CHIP_NO_ERROR, CertificateChainValidationResult::kSuccess }, + // Error cases with invalid (empty Span) inputs: + { ByteSpan(), sTestCert_PAI_FFF1_8000_Cert, sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_ERROR_INVALID_ARGUMENT, CertificateChainValidationResult::kRootArgumentInvalid }, + { sTestCert_PAA_FFF1_Cert, ByteSpan(), sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_ERROR_INVALID_ARGUMENT, CertificateChainValidationResult::kICAArgumentInvalid }, + { sTestCert_PAA_FFF1_Cert, sTestCert_PAI_FFF1_8000_Cert, ByteSpan(), CHIP_ERROR_INVALID_ARGUMENT, CertificateChainValidationResult::kLeafArgumentInvalid }, + // Error cases with wrong certificate chaining: + { sTestCert_PAA_FFF1_Cert, sTestCert_PAI_FFF2_NoPID_Cert, sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_ERROR_CERT_NOT_TRUSTED, CertificateChainValidationResult::kChainInvalid }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAI_FFF1_8000_Cert, sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_ERROR_CERT_NOT_TRUSTED, CertificateChainValidationResult::kChainInvalid }, + { sTestCert_PAA_NoVID_Cert, sTestCert_PAA_FFF1_Cert, sTestCert_DAC_FFF1_8000_0000_Cert, CHIP_ERROR_CERT_NOT_TRUSTED, CertificateChainValidationResult::kChainInvalid }, + // Error cases with PAA, PAI, DAC time validity in the past or future. + // In all cases either PAA or PAI was invalid with respect to DAC's notBefore time: - // Now test with a Root certificate that does not correspond to the chain. - // Trying to validate ICA (as a leaf) which chains to Root - should fail bacause Root is loaded as untrusted intermediate cert. - err = ValidateCertificateChain(wrong_root_cert.data(), wrong_root_cert.size(), root_cert.data(), root_cert.size(), - ica_cert.data(), ica_cert.size(), chainValidationResult); + }; + // clang-format on - NL_TEST_ASSERT(inSuite, err == CHIP_ERROR_CERT_NOT_TRUSTED); - NL_TEST_ASSERT(inSuite, chainValidationResult == CertificateChainValidationResult::kChainInvalid); + for (auto & testCase : sValidationTestCases) + { + CertificateChainValidationResult chainValidationResult; + err = ValidateCertificateChain(testCase.root.data(), testCase.root.size(), testCase.ica.data(), testCase.ica.size(), + testCase.leaf.data(), testCase.leaf.size(), chainValidationResult); + NL_TEST_ASSERT(inSuite, err == testCase.expectedError); + NL_TEST_ASSERT(inSuite, chainValidationResult == testCase.expectedValResult); + } } static void TestX509_IssuingTimestampValidation(nlTestSuite * inSuite, void * inContext) diff --git a/src/lib/asn1/ASN1.h b/src/lib/asn1/ASN1.h index 77e5b8290525be..fd7c51872ab076 100644 --- a/src/lib/asn1/ASN1.h +++ b/src/lib/asn1/ASN1.h @@ -123,6 +123,11 @@ struct ASN1UniversalTime * YYYYMMDDHHMMSSZ - other years **/ CHIP_ERROR ExportTo_ASN1_TIME_string(MutableCharSpan & asn1_time) const; + + /** + * @brief Encode time as Unix epoch time. + **/ + bool ExportTo_UnixTime(uint32_t & unixEpoch); }; class DLL_EXPORT ASN1Reader diff --git a/src/lib/asn1/ASN1Time.cpp b/src/lib/asn1/ASN1Time.cpp index 822c089a01a9bd..f8e3f75632770f 100644 --- a/src/lib/asn1/ASN1Time.cpp +++ b/src/lib/asn1/ASN1Time.cpp @@ -138,5 +138,10 @@ CHIP_ERROR ASN1UniversalTime::ExportTo_ASN1_TIME_string(MutableCharSpan & asn1_t return CHIP_NO_ERROR; } +bool ASN1UniversalTime::ExportTo_UnixTime(uint32_t & unixEpoch) +{ + return CalendarTimeToSecondsSinceUnixEpoch(Year, Month, Day, Hour, Minute, Second, unixEpoch); +} + } // namespace ASN1 } // namespace chip diff --git a/src/tools/chip-cert/CertUtils.cpp b/src/tools/chip-cert/CertUtils.cpp index a96f67bf996ccd..f929e1446317e2 100644 --- a/src/tools/chip-cert/CertUtils.cpp +++ b/src/tools/chip-cert/CertUtils.cpp @@ -242,7 +242,9 @@ bool SetCertTimeField(ASN1_TIME * asn1Time, const struct tm & value) { char timeStr[ASN1UniversalTime::kASN1TimeStringMaxLength + 1]; MutableCharSpan timeSpan(timeStr); - ASN1UniversalTime val = { .Year = static_cast(value.tm_year + 1900), + ASN1UniversalTime val = { .Year = static_cast((value.tm_year == kX509NoWellDefinedExpirationDateYear) + ? kX509NoWellDefinedExpirationDateYear + : (value.tm_year + 1900)), .Month = static_cast(value.tm_mon + 1), .Day = static_cast(value.tm_mday), .Hour = static_cast(value.tm_hour),