Skip to content

Commit bc670eb

Browse files
committed
Change to regular expression
- added a new test vector with the non-numeric PID - confirmed in the log that the test failure now happens on line 81 rather than line 90. This is a manual only verification, I am not adjusting the test-test to expect this, any failure is equally valid as far as the test-test is concerned. - remaning tests are still correct per test_TC_DA_1_2.py
1 parent f20a37a commit bc670eb

File tree

22 files changed

+98
-1
lines changed

22 files changed

+98
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIB2zCCAYGgAwIBAgIIJdjKyvIZ/tgwCgYIKoZIzj0EAwIwRjEYMBYGA1UEAwwP
3+
TWF0dGVyIFRlc3QgUEFJMRQwEgYKKwYBBAGConwCAQwERkZGMTEUMBIGCisGAQQB
4+
gqJ8AgIMBDAwQjEwIBcNMjQwNjA0MDAwMDAwWhgPOTk5OTEyMzEyMzU5NTlaMD0x
5+
OzA5BgNVBAMMMkFDTUUgTWF0dGVyIERldmVsIERBQyA1Q0RBOTg5OSBNdmlkOkZG
6+
RjEgTXBpZDpYWVoxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEo5NnM/L7X0m0
7+
ZousChiCzREHJFafU55sC3up8Zm2HeZcNk5gCF7ABwPv95YXWU6CXPol81BwtKQQ
8+
ijZDpJQ/JKNgMF4wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O
9+
BBYEFAzYu/mCr1UavHYCwLoNWjjuy1TaMB8GA1UdIwQYMBaAFCROIBP0h/EL1kP+
10+
zTuCYIkZMVH8MAoGCCqGSM49BAMCA0gAMEUCIDvYccQbgAjuzmFYrU6rMo4mKCVE
11+
lEO6n2hpNTso/iLKAiEAx4Fssb9QJSuOadt/ASOv2voxs1Z6poHHdfgaFv6YHSg=
12+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIEPyI5pBVq3w4VbCah6rOhQFZeGZySF1dnG54DfgJZ50oAoGCCqGSM49
3+
AwEHoUQDQgAEo5NnM/L7X0m0ZousChiCzREHJFafU55sC3up8Zm2HeZcNk5gCF7A
4+
BwPv95YXWU6CXPol81BwtKQQijZDpJQ/JA==
5+
-----END EC PRIVATE KEY-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIB1DCCAXqgAwIBAgIICuoFfHq2ZwQwCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP
3+
TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMTAgFw0yNDA2MDQw
4+
MDAwMDBaGA85OTk5MTIzMTIzNTk1OVowRjEYMBYGA1UEAwwPTWF0dGVyIFRlc3Qg
5+
UEFJMRQwEgYKKwYBBAGConwCAQwERkZGMTEUMBIGCisGAQQBgqJ8AgIMBDAwQjEw
6+
WTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAAS3SD4xJYCRh024kzeGsRuY5ao/R0D3
7+
zOl2fQ8EyNdsUvOZnsmYcnTc0FDIFTjXJ6QTMu+u1bZIKzyS3smA50oOo2YwZDAS
8+
BgNVHRMBAf8ECDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUJE4g
9+
E/SH8QvWQ/7NO4JgiRkxUfwwHwYDVR0jBBgwFoAUav0idx9RH+y/FkGXZxDc3DGh
10+
cX4wCgYIKoZIzj0EAwIDSAAwRQIhALIxcUEZKkuWlguvAlE+7j5YfvTINBPwvD9R
11+
8Jpghvv9AiBF/3rhC9Yo9ADrE5lpT7yiThGgId/rjEFs83efQnbUIg==
12+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIK6m/RoSnVZfQNybhbwEvvpC9HdwsIQanArN/E6C8K1eoAoGCCqGSM49
3+
AwEHoUQDQgAEt0g+MSWAkYdNuJM3hrEbmOWqP0dA98zpdn0PBMjXbFLzmZ7JmHJ0
4+
3NBQyBU41yekEzLvrtW2SCs8kt7JgOdKDg==
5+
-----END EC PRIVATE KEY-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"description": "DAC Test Vector: Fallback VID and PID encoding example from spec: PID is not a number",
3+
"is_success_case": "false",
4+
"basic_info_pid": 177,
5+
"dac_cert": "308201db30820181a003020102020825d8cacaf219fed8300a06082a8648ce3d04030230463118301606035504030c0f4d617474657220546573742050414931143012060a2b0601040182a27c02010c044646463131143012060a2b0601040182a27c02020c04303042313020170d3234303630343030303030305a180f39393939313233313233353935395a303d313b303906035504030c3241434d45204d617474657220446576656c20444143203543444139383939204d7669643a46464631204d7069643a58595a313059301306072a8648ce3d020106082a8648ce3d03010703420004a3936733f2fb5f49b4668bac0a1882cd110724569f539e6c0b7ba9f199b61de65c364e60085ec00703eff79617594e825cfa25f35070b4a4108a3643a4943f24a360305e300c0603551d130101ff04023000300e0603551d0f0101ff040403020780301d0603551d0e041604140cd8bbf982af551abc7602c0ba0d5a38eecb54da301f0603551d23041830168014244e2013f487f10bd643fecd3b826089193151fc300a06082a8648ce3d040302034800304502203bd871c41b8008eece6158ad4eab328e262825449443ba9f6869353b28fe22ca022100c7816cb1bf50252b8e69db7f0123afdafa31b3567aa681c775f81a16fe981d28",
6+
"pai_cert": "308201d43082017aa00302010202080aea057c7ab66704300a06082a8648ce3d04030230303118301606035504030c0f4d617474657220546573742050414131143012060a2b0601040182a27c02010c04464646313020170d3234303630343030303030305a180f39393939313233313233353935395a30463118301606035504030c0f4d617474657220546573742050414931143012060a2b0601040182a27c02010c044646463131143012060a2b0601040182a27c02020c04303042313059301306072a8648ce3d020106082a8648ce3d03010703420004b7483e31258091874db8933786b11b98e5aa3f4740f7cce9767d0f04c8d76c52f3999ec9987274dcd050c81538d727a41332efaed5b6482b3c92dec980e74a0ea366306430120603551d130101ff040830060101ff020100300e0603551d0f0101ff040403020106301d0603551d0e04160414244e2013f487f10bd643fecd3b826089193151fc301f0603551d230418301680146afd22771f511fecbf1641976710dcdc31a1717e300a06082a8648ce3d0403020348003045022100b2317141192a4b96960baf02513eee3e587ef4c83413f0bc3f51f09a6086fbfd022045ff7ae10bd628f400eb1399694fbca24e11a021dfeb8c416cf3779f4276d422",
7+
"certification_declaration": "3081e906092a864886f70d010702a081db3081d8020103310d300b0609608648016503040201304406092a864886f70d010701a0370435152400012501f1ff360204b118250334122c04135a494732303134315a423333303030312d32342405002406002507769824080018317e307c020103801462fa823359acfaa9963e1cfa140addf504f37160300b0609608648016503040201300a06082a8648ce3d04030204483046022100f15ca4fa4e1a6daa21ff766ea2aa2663eeb5adf24bc6146027ebcee309f4960d022100eb1e0bc129f4952eac5fcaf4cf7160a13aac1edf8208bb928de1a31e6052f5bc",
8+
"dac_private_key": "43f2239a4156adf0e156c26a1eab3a140565e199c921757671b9e037e0259e74",
9+
"dac_public_key": "04a3936733f2fb5f49b4668bac0a1882cd110724569f539e6c0b7ba9f199b61de65c364e60085ec00703eff79617594e825cfa25f35070b4a4108a3643a4943f24"
10+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIB2zCCAYGgAwIBAgIIFP/2kH51+TEwCgYIKoZIzj0EAwIwPTE7MDkGA1UEAwwy
3+
QUNNRSBNYXR0ZXIgRGV2ZWwgUEFJIDVDREE5ODk5IE12aWQ6RkZGMSBNcGlkOlhZ
4+
WjEwIBcNMjQwNjA0MDAwMDAwWhgPOTk5OTEyMzEyMzU5NTlaMEYxGDAWBgNVBAMM
5+
D01hdHRlciBUZXN0IERBQzEUMBIGCisGAQQBgqJ8AgEMBEZGRjExFDASBgorBgEE
6+
AYKifAICDAQwMEIxMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEoBmAoYlJISxi
7+
RNyNqxSw9S4PvRmGrMnqDa5HxBoK5zgRFrjx1hjBqDtKQ1lvq5EjEAuYK0Ow0KQw
8+
q7ATMDgLiKNgMF4wDAYDVR0TAQH/BAIwADAOBgNVHQ8BAf8EBAMCB4AwHQYDVR0O
9+
BBYEFCDrwHTadCY+vH8EJ4xojDX4ibFIMB8GA1UdIwQYMBaAFJr0OUksjt5i9u2F
10+
Ern8ZSkt88ORMAoGCCqGSM49BAMCA0gAMEUCIB8TDWkU86YaXRcd7fpR5aXxD32g
11+
WnHmntzg0Ox0pRYEAiEA56PblfVta56iMtwXImr23TGZBnnFNlsLuV3IM94jc7Q=
12+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIGzPAZ//bv4Envt0+MDML6LF0B4K4o87STD7JF+IdzpvoAoGCCqGSM49
3+
AwEHoUQDQgAEoBmAoYlJISxiRNyNqxSw9S4PvRmGrMnqDa5HxBoK5zgRFrjx1hjB
4+
qDtKQ1lvq5EjEAuYK0Ow0KQwq7ATMDgLiA==
5+
-----END EC PRIVATE KEY-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
-----BEGIN CERTIFICATE-----
2+
MIIByzCCAXGgAwIBAgIIOWRFZRdrJTQwCgYIKoZIzj0EAwIwMDEYMBYGA1UEAwwP
3+
TWF0dGVyIFRlc3QgUEFBMRQwEgYKKwYBBAGConwCAQwERkZGMTAgFw0yNDA2MDQw
4+
MDAwMDBaGA85OTk5MTIzMTIzNTk1OVowPTE7MDkGA1UEAwwyQUNNRSBNYXR0ZXIg
5+
RGV2ZWwgUEFJIDVDREE5ODk5IE12aWQ6RkZGMSBNcGlkOlhZWjEwWTATBgcqhkjO
6+
PQIBBggqhkjOPQMBBwNCAASCVYw3FjswWXDnDM8U7Yqd7xelsExdQyJNU73fM8ya
7+
AREEg+p4KvcNIrjFH82v6mKmYOedZKaaolB+MFQ7Gnhoo2YwZDASBgNVHRMBAf8E
8+
CDAGAQH/AgEAMA4GA1UdDwEB/wQEAwIBBjAdBgNVHQ4EFgQUmvQ5SSyO3mL27YUS
9+
ufxlKS3zw5EwHwYDVR0jBBgwFoAUav0idx9RH+y/FkGXZxDc3DGhcX4wCgYIKoZI
10+
zj0EAwIDSAAwRQIgLpYicNbIn+Lpbt1G++jQolDVrlDvQz8CHfDflGLJIWMCIQCJ
11+
VDw0RTTWTSDBNtCMMpy6M96DQwEn1bc3jZTK5a941Q==
12+
-----END CERTIFICATE-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
-----BEGIN EC PRIVATE KEY-----
2+
MHcCAQEEIAT0pLawB2gz1l/XLScbWT8+aPTnGbkQTGOyzoeGMuuVoAoGCCqGSM49
3+
AwEHoUQDQgAEglWMNxY7MFlw5wzPFO2Kne8XpbBMXUMiTVO93zPMmgERBIPqeCr3
4+
DSK4xR/Nr+pipmDnnWSmmqJQfjBUOxp4aA==
5+
-----END EC PRIVATE KEY-----
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
{
2+
"description": "PAI Test Vector: Fallback VID and PID encoding example from spec: PID is not a number",
3+
"is_success_case": "false",
4+
"basic_info_pid": 177,
5+
"dac_cert": "308201db30820181a003020102020814fff6907e75f931300a06082a8648ce3d040302303d313b303906035504030c3241434d45204d617474657220446576656c20504149203543444139383939204d7669643a46464631204d7069643a58595a313020170d3234303630343030303030305a180f39393939313233313233353935395a30463118301606035504030c0f4d617474657220546573742044414331143012060a2b0601040182a27c02010c044646463131143012060a2b0601040182a27c02020c04303042313059301306072a8648ce3d020106082a8648ce3d03010703420004a01980a18949212c6244dc8dab14b0f52e0fbd1986acc9ea0dae47c41a0ae7381116b8f1d618c1a83b4a43596fab9123100b982b43b0d0a430abb01330380b88a360305e300c0603551d130101ff04023000300e0603551d0f0101ff040403020780301d0603551d0e0416041420ebc074da74263ebc7f04278c688c35f889b148301f0603551d230418301680149af439492c8ede62f6ed8512b9fc65292df3c391300a06082a8648ce3d040302034800304502201f130d6914f3a61a5d171dedfa51e5a5f10f7da05a71e69edce0d0ec74a51604022100e7a3db95f56d6b9ea232dc17226af6dd31990679c5365b0bb95dc833de2373b4",
6+
"pai_cert": "308201cb30820171a003020102020839644565176b2534300a06082a8648ce3d04030230303118301606035504030c0f4d617474657220546573742050414131143012060a2b0601040182a27c02010c04464646313020170d3234303630343030303030305a180f39393939313233313233353935395a303d313b303906035504030c3241434d45204d617474657220446576656c20504149203543444139383939204d7669643a46464631204d7069643a58595a313059301306072a8648ce3d020106082a8648ce3d0301070342000482558c37163b305970e70ccf14ed8a9def17a5b04c5d43224d53bddf33cc9a01110483ea782af70d22b8c51fcdafea62a660e79d64a69aa2507e30543b1a7868a366306430120603551d130101ff040830060101ff020100300e0603551d0f0101ff040403020106301d0603551d0e041604149af439492c8ede62f6ed8512b9fc65292df3c391301f0603551d230418301680146afd22771f511fecbf1641976710dcdc31a1717e300a06082a8648ce3d040302034800304502202e962270d6c89fe2e96edd46fbe8d0a250d5ae50ef433f021df0df9462c9216302210089543c344534d64d20c136d08c329cba33de83430127d5b7378d94cae5af78d5",
7+
"certification_declaration": "3081e906092a864886f70d010702a081db3081d8020103310d300b0609608648016503040201304406092a864886f70d010701a0370435152400012501f1ff360204b118250334122c04135a494732303134315a423333303030312d32342405002406002507769824080018317e307c020103801462fa823359acfaa9963e1cfa140addf504f37160300b0609608648016503040201300a06082a8648ce3d04030204483046022100b1b689324b4de19288909fc0db14cb0542601dafe28b298db1d59befbdacf45a022100939e14803038355e9c29ebdd48f51af99253402440fb79c8e985dab592a024b1",
8+
"dac_private_key": "6ccf019fff6efe049efb74f8c0cc2fa2c5d01e0ae28f3b4930fb245f88773a6f",
9+
"dac_public_key": "04a01980a18949212c6244dc8dab14b0f52e0fbd1986acc9ea0dae47c41a0ae7381116b8f1d618c1a83b4a43596fab9123100b982b43b0d0a430abb01330380b88"
10+
}

src/python_testing/TC_DA_1_2.py

+2-1
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@
1717

1818
import os
1919
import random
20+
import re
2021

2122
import chip.clusters as Clusters
2223
from chip.interaction_model import InteractionModelError, Status
@@ -56,7 +57,7 @@ def parse_single_vidpid_from_common_name(commonName: str, tag_str: str) -> str:
5657
return None
5758

5859
s = sp[1][:4]
59-
if not (s.isnumeric() or s.isupper()) or len(s) != 4:
60+
if re.match("[0-9A-F]{4}", s) is None:
6061
asserts.fail(f"Improperly encoded PID or VID when using fallback encoding {tag_str}:{s}")
6162
return None
6263

src/tools/chip-cert/gen_com_dut_test_vectors.py

+8
Original file line numberDiff line numberDiff line change
@@ -336,13 +336,21 @@ class CertType(Enum):
336336
"test_folder": 'vidpid_fallback_encoding_17',
337337
"is_success_case": 'false',
338338
},
339+
# Numeric only
339340
{
340341
"description": 'Fallback VID and PID encoding example from spec: valid and PID numeric only',
341342
"common_name": 'ACME Matter Devel DAC 5CDA9899 Mvid:FFF1 Mpid:0001',
342343
"test_folder": 'vidpid_fallback_encoding_18',
343344
"is_success_case": 'true',
344345
"fallback_pid": 0x0001
345346
},
347+
# Not a number at all
348+
{
349+
"description": 'Fallback VID and PID encoding example from spec: PID is not a number',
350+
"common_name": 'ACME Matter Devel DAC 5CDA9899 Mvid:FFF1 Mpid:XYZ1',
351+
"test_folder": 'vidpid_fallback_encoding_19',
352+
"is_success_case": 'false',
353+
},
346354
]
347355

348356
CD_STRUCT_TEST_CASES = [

0 commit comments

Comments
 (0)