1a8e1175bSopenharmony_ciThis directory contains the certificates for the tests targeting the enforcement of the policy indicated by the *pathLenConstraint* field. All leaf elements were generated with *is_ca* unset and all roots with the *selfsign=1* option. 
2a8e1175bSopenharmony_ci
3a8e1175bSopenharmony_ci1. zero pathlen constraint on an intermediate CA (invalid)
4a8e1175bSopenharmony_ci```
5a8e1175bSopenharmony_cicert11.crt -> cert12.crt (max_pathlen=0) -> cert13.crt -> cert14.crt
6a8e1175bSopenharmony_ci```
7a8e1175bSopenharmony_ci
8a8e1175bSopenharmony_ci2. zero pathlen constraint on the root CA (invalid)
9a8e1175bSopenharmony_ci```
10a8e1175bSopenharmony_cicert21.crt (max_pathlen=0) -> cert22.crt -> cert23.crt
11a8e1175bSopenharmony_ci```
12a8e1175bSopenharmony_ci
13a8e1175bSopenharmony_ci3. nonzero pathlen constraint on the root CA (invalid)
14a8e1175bSopenharmony_ci```
15a8e1175bSopenharmony_cicert31.crt (max_pathlen=1) -> cert32.crt -> cert33.crt -> cert34.crt
16a8e1175bSopenharmony_ci```
17a8e1175bSopenharmony_ci
18a8e1175bSopenharmony_ci4. nonzero pathlen constraint on an intermediate CA (invalid)
19a8e1175bSopenharmony_ci```
20a8e1175bSopenharmony_cicert41.crt -> cert42.crt (max_pathlen=1) -> cert43.crt -> cert44.crt -> cert45.crt 
21a8e1175bSopenharmony_ci```
22a8e1175bSopenharmony_ci
23a8e1175bSopenharmony_ci5. nonzero pathlen constraint on an intermediate CA with maximum number of elements in the chain (valid)
24a8e1175bSopenharmony_ci```
25a8e1175bSopenharmony_cicert51.crt -> cert52.crt (max_pathlen=1) -> cert53.crt -> cert54.crt
26a8e1175bSopenharmony_ci```
27a8e1175bSopenharmony_ci
28a8e1175bSopenharmony_ci6. nonzero pathlen constraint on the root CA with maximum number of elements in the chain (valid)
29a8e1175bSopenharmony_ci```
30a8e1175bSopenharmony_cicert61.crt (max_pathlen=1) -> cert62.crt -> cert63.crt
31a8e1175bSopenharmony_ci```
32a8e1175bSopenharmony_ci
33a8e1175bSopenharmony_ci7. pathlen constraint on the root CA with maximum number of elements and a self signed certificate in the chain (valid) 
34a8e1175bSopenharmony_ci(This situation happens for example when a root of some hierarchy gets integrated into another hierarchy. In this case the certificates issued before the integration will have an intermadiate self signed certificate in their chain)
35a8e1175bSopenharmony_ci```
36a8e1175bSopenharmony_cicert71.crt (max_pathlen=1) -> cert72.crt -> cert73.crt (self signed) -> cert74.crt -> cert74.crt
37a8e1175bSopenharmony_ci```
38a8e1175bSopenharmony_ci
39a8e1175bSopenharmony_ci8. zero pathlen constraint on first intermediate CA (valid)
40a8e1175bSopenharmony_ci```
41a8e1175bSopenharmony_cicert81.crt -> cert82.crt (max_pathlen=0) -> cert83.crt
42a8e1175bSopenharmony_ci```
43a8e1175bSopenharmony_ci
44a8e1175bSopenharmony_ci9. zero pathlen constraint on trusted root (valid)
45a8e1175bSopenharmony_ci```
46a8e1175bSopenharmony_cicert91.crt (max_pathlen=0) -> cert92.crt
47a8e1175bSopenharmony_ci```
48