• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1{
2    "libs":{
3        "hitls_bsl": {
4            "features": {
5                "c": {
6                    "err": null,
7                    "hash": null,
8                    "init": {"deps": ["err"]},
9                    "base64": null,
10                    "buffer": null,
11                    "pem": {"deps": ["base64"]},
12                    "list": null,
13                    "log": null,
14                    "obj":null,
15                    "sal": null,
16                    "sal_mem": null,
17                    "sal_thread": null,
18                    "sal_lock": null,
19                    "sal_time": null,
20                    "sal_file": null,
21                    "sal_net": null,
22                    "sal_str": null,
23                    "sal_dl": null,
24                    "tlv": null,
25                    "uio": {
26                        "uio_plt": null,
27                        "uio_buffer": {"deps": ["uio_plt"]},
28                        "uio_sctp": {"deps": ["uio_plt", "sal_net"]},
29                        "uio_tcp": {"deps": ["uio_plt", "sal_net"]},
30                        "uio_udp": {"deps": ["uio_plt", "sal_net"]},
31                        "uio_mem": {"deps": ["uio_plt", "sal_mem", "buffer"]}
32                    },
33                    "usrdata": null,
34                    "params": null,
35                    "asn1": {"deps": ["sal_time", "uio_plt"]}
36                }
37            }
38        },
39        "hitls_crypto":{
40            "lang": "C ASM",
41            "features": {
42                "c": {
43                    "eal": {"deps": ["init"]},
44                    "ealinit": null,
45                    "md": {
46                        "md5": null,
47                        "sm3": null,
48                        "sha1": null,
49                        "sha2": {
50                            "sha224": null,
51                            "sha256": null,
52                            "sha384": null,
53                            "sha512": null
54                        },
55                        "sha3": null
56                    },
57                    "mac": {
58                        "hmac": null,
59                        "gmac": {"deps": ["eal", "aes", "gcm"]},
60                        "cmac": {
61                            "cmac_aes" :{
62                                "deps": ["aes"]
63                            },
64                            "cmac_sm4" :{
65                                "deps": ["sm4"]
66                            }
67                        },
68                        "cbc_mac": {"deps": ["sm4"]},
69                        "siphash": null
70                    },
71                    "hpke": {
72                        "deps": ["hkdf", "params"],
73                        "opts": [["aes", "chacha20"], ["ecc", "x25519"]]
74                    },
75                    "kdf": {
76                        "scrypt": {"deps": ["sha256", "pbkdf2"]},
77                        "hkdf": null,
78                        "pbkdf2": null,
79                        "kdftls12": null,
80                        "deps": ["hmac", "params"]
81                    },
82                    "drbg": {
83                        "drbg_hash": null,
84                        "drbg_hmac": {"deps": ["hmac"]},
85                        "drbg_ctr": {"opts": ["aes", "sm4"]},
86                        "deps": ["params"]
87                    },
88                    "entropy": {
89                        "deps": ["list"], "opts": ["drbg_hash", "drbg_hmac", "drbg_ctr"]
90                    },
91                    "modes": {
92                        "cbc": null,
93                        "ecb": null,
94                        "xts": null,
95                        "ctr": null,
96                        "ofb": null,
97                        "cfb": null,
98                        "ccm": null,
99                        "gcm": null,
100                        "chacha20poly1305": null
101                    },
102                    "cipher": {
103                        "aes": null,
104                        "sm4": null,
105                        "chacha20": {"deps": ["chacha20poly1305"]}
106                    },
107                    "pkey": {
108                        "ecc": {
109                            "curve_nistp224": null,
110                            "curve_nistp256": null,
111                            "curve_nistp384": null,
112                            "curve_nistp521": null,
113                            "curve_bp256r1":  null,
114                            "curve_bp384r1":  null,
115                            "curve_bp512r1":  null,
116                            "curve_sm2":      null,
117                            "deps": ["bn_rand"]
118                        },
119                        "rsa": {
120                            "rsa_gen": {"deps": ["bn_rand", "bn_prime"]},
121                            "rsa_sign": {"opts": ["rsa_emsa_pss", "rsa_emsa_pkcsv15"]},
122                            "rsa_verify": {"opts": ["rsa_emsa_pss", "rsa_emsa_pkcsv15"]},
123                            "rsa_encrypt": {"opts": ["rsa_no_pad", "rsaes_oaep", "rsaes_pkcsv15", "rsaes_pkcsv15_tls"]},
124                            "rsa_decrypt": {"opts": ["rsa_no_pad", "rsaes_oaep", "rsaes_pkcsv15", "rsaes_pkcsv15_tls"]},
125                            "rsa_pad": {
126                                "rsa_no_pad": {"opts": ["rsa_encrypt", "rsa_decrypt"]},
127                                "rsaes_oaep": {"opts": ["rsa_encrypt", "rsa_decrypt"]},
128                                "rsaes_pkcsv15": {"opts": ["rsa_encrypt", "rsa_decrypt"]},
129                                "rsaes_pkcsv15_tls": {"opts": ["rsa_encrypt", "rsa_decrypt"]},
130                                "rsa_emsa_pss": {"opts": ["rsa_sign", "rsa_verify"]},
131                                "rsa_emsa_pkcsv15": {"opts": ["rsa_sign", "rsa_verify"]}
132                            },
133                            "rsa_blinding": {
134                                "deps": ["bn_rand"],
135                                "opts": ["rsa_decrypt", "rsa_sign"]
136                            },
137                            "rsa_bssa": {"deps": ["rsa_emsa_pss", "rsa_blinding"]},
138                            "deps": ["bn_basic", "params"]
139                        },
140                        "dsa": {"deps": ["bn_rand", "asn1", "obj"]},
141                        "dh": {"deps": ["bn_rand"]},
142                        "ecdh": {"opts": ["curve_nistp224", "curve_nistp256", "curve_nistp384", "curve_nistp521", "curve_bp256r1", "curve_bp384r1", "curve_bp512r1"]},
143                        "ecdsa": {
144                            "deps": ["asn1", "obj"],
145                            "opts": ["curve_nistp224", "curve_nistp256", "curve_nistp384", "curve_nistp521", "curve_bp256r1", "curve_bp384r1", "curve_bp512r1"]
146                        },
147                        "curve25519": {
148                            "ed25519": {"deps": ["sha512"]},
149                            "x25519": null,
150                            "deps": ["params"]
151                        },
152                        "sm2": {
153                            "sm2_crypt": {"deps": ["asn1", "obj"]},
154                            "sm2_sign": {"deps": ["asn1", "obj"]},
155                            "sm2_exch": null,
156                            "deps": ["curve_sm2", "sm3"]
157                        },
158                        "kem": {
159                            "mlkem": {"deps": ["sha3"]}
160                        },
161                        "mldsa": {"deps": ["sha3", "obj"]},
162                        "hybridkem": {"deps": ["mlkem"], "opts": ["ecdh", "x25519"]},
163                        "paillier": {"deps":["bn_rand", "bn_prime"]},
164                        "elgamal": {"deps":["bn_rand", "bn_prime"]},
165                        "slh_dsa": { "deps": ["sha3", "sha2", "obj", "eal", "hmac", "sha256", "sha512"]},
166                        "deps": ["params"]
167                    },
168                    "provider": {"deps": ["params"]},
169                    "bn": {
170                        "bn_basic": null,
171                        "bn_rand": null,
172                        "eal_bn": null,
173                        "bn_prime": {"deps": ["bn_rand"]},
174                        "bn_str_conv": null,
175                        "bn_cb": null,
176                        "bn_prime_rfc3526": null
177                    },
178                    "codecskey": {
179                        "key_epki" : {
180                            "deps": ["pbkdf2"],
181                            "opts": [
182                                ["key_encode", "key_decode"],
183                                ["drbg_hash", "drbg_hmac", "drbg_ctr"],
184                                ["aes", "chacha20", "sm4"]
185                            ]
186                        },
187                        "key_encode" : null,
188                        "key_decode" : null,
189                        "deps": ["asn1", "obj"],
190                        "opts":["ecdsa", "sm2_sign", "sm2_crypt", "ed25519", "rsa_sign", "rsa_verify"]
191                    },
192                    "codecs": null
193                },
194                "x8664": {
195                    "sha1": {"ins_set":["x8664", "avx512"]},
196                    "sha2": {"ins_set":["x8664", "avx512"]},
197                    "md5": {"ins_set":["x8664", "avx512"]},
198                    "sm3": null,
199                    "modes": {"ins_set":["x8664", "avx512"]},
200                    "aes": {"ins_set":["x8664", "avx512"]},
201                    "chacha20": {"ins_set":["x8664", "avx512"]},
202                    "sm4": {"ins_set":["x8664", "avx512"]},
203                    "bn": {"ins_set":["x8664", "avx512"]},
204                    "x25519": null,
205                    "ecc": {"ins_set":["x8664", "avx512"]}
206                },
207                "armv8": {
208                    "sha1": null,
209                    "sha2": null,
210                    "sha3": null,
211                    "sm3": null,
212                    "aes": null,
213                    "modes": null,
214                    "chacha20": null,
215                    "bn": null,
216                    "sm4": null,
217                    "x25519": null,
218                    "ecc": null
219                },
220                "armv7": {
221                    "sm3": null
222                }
223            }
224        },
225        "hitls_tls": {
226            "Note": "Currently, hitls_tls does not support feature division. 'all_tls' is a temporary solution.",
227            "features": {
228                "c": {
229                    "proto_version":{
230                        "proto_tls12":null,
231                        "proto_tls13":null,
232                        "proto_tlcp11":null,
233                        "proto_dtls12":null
234                    },
235                    "host": {
236                        "host_client": null,
237                        "host_server": null,
238                        "opts": ["proto"]
239                    },
240                    "callback": {
241                        "feature_provider": null,
242                        "callback_sal" :null,
243                        "callback_cert": {
244                            "deps": ["callback_sal"]
245                        },
246                        "callback_crypt": {
247                            "deps": ["callback_sal"],
248                            "callback_crypt_hmac_primitives": null
249                        }
250                    },
251                    "feature": {
252                        "feature_renegotiation": null,
253                        "feature_alpn": null,
254                        "feature_sni": null,
255                        "feature_pha": null,
256                        "feature_psk": null,
257                        "feature_security": {
258                            "deps" :["config_cipher_suite"]
259                        },
260                        "feature_indicator": null,
261                        "feature_session": {
262                            "feature_session_ticket": null,
263                            "feature_session_id": null
264                        },
265                        "feature_mode": {
266                            "feature_mode_fall_back_scsv": null
267                        },
268                        "feature_key_update": null,
269                        "feature_flight": null,
270                        "feature_cert_mode": null,
271                        "feature_max_send_fragment": null,
272                        "feature_custom_extension": null
273                    },
274                    "proto": {
275                        "deps": ["tlv", "sal", "eal", "list"],
276                        "opts": [
277                            ["host", "host_client", "host_server"],
278                            ["uio_sctp", "uio_tcp", "uio_udp", "uio_plt"]
279                        ]
280                    },
281                    "config": {
282                        "config_manual_dh": null,
283                        "config_cert": {
284                            "config_cert_verify_param": null,
285                            "config_cert_load_file": null,
286                            "config_cert_callback": null
287                        },
288                        "config_key_usage": null,
289                        "config_state": null,
290                        "config_record_padding": null,
291                        "config_user_data": null,
292                        "config_cipher_suite": null
293                    },
294                    "connection": {
295                        "connection_info_negotiation": null
296                    },
297                    "suite": {
298                        "suite_aes_128_gcm_sha256": {
299                            "deps": ["sha256", "gcm", "aes", "ecdh"]
300                        },
301                        "suite_aes_256_gcm_sha384": {
302                            "deps": ["sha384", "gcm", "aes", "ecdh"]
303                        },
304                        "suite_chacha20_poly1305_sha256": {
305                            "deps": ["sha256", "chacha20poly1305", "chacha20", "ecdh"]
306                        },
307                        "suite_aes_128_ccm_sha256": {
308                            "deps": ["sha256", "ccm", "aes", "ecdh"]
309                        },
310                        "suite_aes_128_ccm_8_sha256": {
311                            "deps": ["sha256", "ccm", "aes", "ecdh"]
312                        },
313                        "suite_rsa_with_aes_128_cbc_sha": {
314                            "deps": ["sha1", "cbc", "aes", "rsa"]
315                        },
316                        "suite_rsa_with_aes_256_cbc_sha": {
317                            "deps": ["sha1", "cbc", "aes", "rsa"]
318                        },
319                        "suite_rsa_with_aes_128_cbc_sha256": {
320                            "deps": ["sha256", "cbc", "aes", "rsa"]
321                        },
322                        "suite_rsa_with_aes_256_cbc_sha256": {
323                            "deps": ["sha256", "cbc", "aes", "rsa"]
324                        },
325                        "suite_rsa_with_aes_128_gcm_sha256": {
326                            "deps": ["sha256", "gcm", "aes", "rsa"]
327                        },
328                        "suite_rsa_with_aes_256_gcm_sha384": {
329                            "deps": ["sha384", "gcm", "aes", "rsa"]
330                        },
331                        "suite_dhe_rsa_with_aes_128_gcm_sha256": {
332                            "deps": ["sha256", "gcm", "aes", "rsa", "dh"]
333                        },
334                        "suite_dhe_rsa_with_aes_256_gcm_sha384": {
335                            "deps": ["sha384", "gcm", "aes", "rsa", "dh"]
336                        },
337                        "suite_ecdhe_ecdsa_with_aes_128_cbc_sha": {
338                            "deps": ["sha1", "cbc", "aes", "ecdh", "ecdsa"]
339                        },
340                        "suite_ecdhe_ecdsa_with_aes_256_cbc_sha": {
341                            "deps": ["sha1", "cbc", "aes", "ecdh", "ecdsa"]
342                        },
343                        "suite_ecdhe_ecdsa_with_aes_128_cbc_sha256": {
344                            "deps": ["sha256", "cbc", "aes", "ecdh", "ecdsa"]
345                        },
346                        "suite_ecdhe_ecdsa_with_aes_256_cbc_sha384": {
347                            "deps": ["sha384", "cbc", "aes", "ecdh", "ecdsa"]
348                        },
349                        "suite_ecdhe_ecdsa_with_aes_128_gcm_sha256": {
350                            "deps": ["sha256", "gcm", "aes", "ecdh", "ecdsa"]
351                        },
352                        "suite_ecdhe_ecdsa_with_aes_256_gcm_sha384": {
353                            "deps": ["sha384", "gcm", "aes", "ecdh", "ecdsa"]
354                        },
355                        "suite_ecdhe_rsa_with_aes_128_cbc_sha": {
356                            "deps": ["sha1", "cbc", "aes", "rsa", "ecdh"]
357                        },
358                        "suite_ecdhe_rsa_with_aes_256_cbc_sha": {
359                            "deps": ["sha1", "cbc", "aes", "rsa", "ecdh"]
360                        },
361                        "suite_ecdhe_rsa_with_aes_128_cbc_sha256": {
362                            "deps": ["sha256", "cbc", "aes", "rsa", "ecdh"]
363                        },
364                        "suite_ecdhe_rsa_with_aes_256_cbc_sha384": {
365                            "deps": ["sha384", "cbc", "aes", "rsa", "ecdh"]
366                        },
367                        "suite_ecdhe_rsa_with_aes_128_gcm_sha256": {
368                            "deps": ["sha256", "gcm", "aes", "rsa", "ecdh"]
369                        },
370                        "suite_ecdhe_rsa_with_aes_256_gcm_sha384": {
371                            "deps": ["sha384", "gcm", "aes", "rsa", "ecdh"]
372                        },
373                        "suite_ecdhe_rsa_with_chacha20_poly1305_sha256": {
374                            "deps": ["sha256", "chacha20poly1305", "chacha20", "rsa", "ecdh"]
375                        },
376                        "suite_ecdhe_ecdsa_with_chacha20_poly1305_sha256": {
377                            "deps": ["sha256", "chacha20poly1305", "chacha20", "ecdh", "ecdsa"]
378                        },
379                        "suite_dhe_rsa_with_chacha20_poly1305_sha256": {
380                            "deps": ["sha256", "chacha20poly1305", "chacha20", "rsa", "dh"]
381                        },
382                        "suite_dhe_dss_with_aes_128_gcm_sha256": {
383                            "deps": ["sha256", "gcm", "aes", "dsa", "dh"]
384                        },
385                        "suite_dhe_dss_with_aes_256_gcm_sha384": {
386                            "deps": ["sha384", "gcm", "aes", "dsa", "dh"]
387                        },
388                        "suite_dhe_dss_with_aes_128_cbc_sha": {
389                            "deps": ["sha1", "cbc", "aes", "dsa", "dh"]
390                        },
391                        "suite_dhe_dss_with_aes_256_cbc_sha": {
392                            "deps": ["sha1", "cbc", "aes", "dsa", "dh"]
393                        },
394                        "suite_dhe_dss_with_aes_128_cbc_sha256": {
395                            "deps": ["sha256", "cbc", "aes", "dsa", "dh"]
396                        },
397                        "suite_dhe_dss_with_aes_256_cbc_sha256": {
398                            "deps": ["sha256", "cbc", "aes", "dsa", "dh"]
399                        },
400                        "suite_dhe_rsa_with_aes_128_cbc_sha": {
401                            "deps": ["sha1", "cbc", "aes", "rsa", "dh"]
402                        },
403                        "suite_dhe_rsa_with_aes_256_cbc_sha": {
404                            "deps": ["sha1", "cbc", "aes", "rsa", "dh"]
405                        },
406                        "suite_dhe_rsa_with_aes_128_cbc_sha256": {
407                            "deps": ["sha256", "cbc", "aes", "rsa", "dh"]
408                        },
409                        "suite_dhe_rsa_with_aes_256_cbc_sha256": {
410                            "deps": ["sha256", "cbc", "aes", "rsa", "dh"]
411                        },
412                        "suite_psk_with_aes_128_cbc_sha": {
413                            "deps": ["sha1", "cbc", "aes"]
414                        },
415                        "suite_psk_with_aes_256_cbc_sha": {
416                            "deps": ["sha1", "cbc", "aes"]
417                        },
418                        "suite_dhe_psk_with_aes_128_cbc_sha": {
419                            "deps": ["sha1", "cbc", "aes", "dh"]
420                        },
421                        "suite_dhe_psk_with_aes_256_cbc_sha": {
422                            "deps": ["sha1", "cbc", "aes", "dh"]
423                        },
424                        "suite_rsa_psk_with_aes_128_cbc_sha": {
425                            "deps": ["sha1", "cbc", "aes", "rsa"]
426                        },
427                        "suite_rsa_psk_with_aes_256_cbc_sha": {
428                            "deps": ["sha1", "cbc", "aes", "rsa"]
429                        },
430                        "suite_psk_with_aes_128_gcm_sha256": {
431                            "deps": ["sha256", "gcm", "aes"]
432                        },
433                        "suite_psk_with_aes_256_gcm_sha384": {
434                            "deps": ["sha384", "gcm", "aes"]
435                        },
436                        "suite_psk_with_aes_256_ccm": {
437                            "deps": ["ccm", "aes"]
438                        },
439                        "suite_dhe_psk_with_aes_128_gcm_sha256": {
440                            "deps": ["sha256", "gcm", "aes", "dh"]
441                        },
442                        "suite_dhe_psk_with_aes_256_gcm_sha384": {
443                            "deps": ["sha384", "gcm", "aes", "dh"]
444                        },
445                        "suite_dhe_psk_with_aes_128_ccm": {
446                            "deps": ["ccm", "aes", "dh"]
447                        },
448                        "suite_dhe_psk_with_aes_256_ccm": {
449                            "deps": ["ccm", "aes", "dh"]
450                        },
451                        "suite_rsa_psk_with_aes_128_gcm_sha256": {
452                            "deps": ["sha256", "gcm", "aes", "rsa"]
453                        },
454                        "suite_rsa_psk_with_aes_256_gcm_sha384": {
455                            "deps": ["sha384", "gcm", "aes", "rsa"]
456                        },
457                        "suite_psk_with_aes_128_cbc_sha256": {
458                            "deps": ["sha256", "cbc", "aes"]
459                        },
460                        "suite_psk_with_aes_256_cbc_sha384": {
461                            "deps": ["sha384", "cbc", "aes"]
462                        },
463                        "suite_dhe_psk_with_aes_128_cbc_sha256": {
464                            "deps": ["sha256", "cbc", "aes", "dh"]
465                        },
466                        "suite_dhe_psk_with_aes_256_cbc_sha384": {
467                            "deps": ["sha384", "cbc", "aes", "dh"]
468                        },
469                        "suite_rsa_psk_with_aes_128_cbc_sha256": {
470                            "deps": ["sha256", "cbc", "aes", "rsa"]
471                        },
472                        "suite_rsa_psk_with_aes_256_cbc_sha384": {
473                            "deps": ["sha384", "cbc", "aes", "rsa"]
474                        },
475                        "suite_ecdhe_psk_with_aes_128_cbc_sha": {
476                            "deps": ["sha1", "cbc", "aes", "ecdh"]
477                        },
478                        "suite_ecdhe_psk_with_aes_256_cbc_sha": {
479                            "deps": ["sha1", "cbc", "aes", "ecdh"]
480                        },
481                        "suite_ecdhe_psk_with_aes_128_cbc_sha256": {
482                            "deps": ["sha256", "cbc", "aes", "ecdh"]
483                        },
484                        "suite_ecdhe_psk_with_aes_256_cbc_sha384": {
485                            "deps": ["sha384", "cbc", "aes", "ecdh"]
486                        },
487                        "suite_psk_with_chacha20_poly1305_sha256": {
488                            "deps": ["sha256", "chacha20poly1305", "chacha20"]
489                        },
490                        "suite_ecdhe_psk_with_chacha20_poly1305_sha256": {
491                            "deps": ["sha256", "chacha20poly1305", "chacha20", "ecdh"]
492                        },
493                        "suite_dhe_psk_with_chacha20_poly1305_sha256": {
494                            "deps": ["sha256", "chacha20poly1305", "chacha20", "dh"]
495                        },
496                        "suite_rsa_psk_with_chacha20_poly1305_sha256": {
497                            "deps": ["sha256", "chacha20poly1305", "chacha20", "rsa"]
498                        },
499                        "suite_ecdhe_psk_with_aes_128_ccm_sha256": {
500                            "deps": ["sha256", "ccm", "aes", "ecdh"]
501                        },
502                        "suite_ecdhe_psk_with_aes_128_gcm_sha256": {
503                            "deps": ["sha256", "gcm", "aes", "ecdh"]
504                        },
505                        "suite_ecdhe_psk_with_aes_256_gcm_sha384": {
506                            "deps": ["sha384", "gcm", "aes", "ecdh"]
507                        },
508                        "suite_dh_anon_with_aes_128_cbc_sha": {
509                            "deps": ["sha1", "cbc", "aes", "dh"]
510                        },
511                        "suite_dh_anon_with_aes_256_cbc_sha": {
512                            "deps": ["sha1", "cbc", "aes", "dh"]
513                        },
514                        "suite_dh_anon_with_aes_128_cbc_sha256": {
515                            "deps": ["sha256", "cbc", "aes", "dh"]
516                        },
517                        "suite_dh_anon_with_aes_256_cbc_sha256": {
518                            "deps": ["sha256", "cbc", "aes", "dh"]
519                        },
520                        "suite_dh_anon_with_aes_128_gcm_sha256": {
521                            "deps": ["sha256", "gcm", "aes", "dh"]
522                        },
523                        "suite_dh_anon_with_aes_256_gcm_sha384": {
524                            "deps": ["sha384", "gcm", "aes", "dh"]
525                        },
526                        "suite_ecdh_anon_with_aes_128_cbc_sha": {
527                            "deps": ["sha1", "cbc", "aes", "dh", "ecdh"]
528                        },
529                        "suite_ecdh_anon_with_aes_256_cbc_sha": {
530                            "deps": ["sha1", "cbc", "aes", "dh", "ecdh"]
531                        },
532                        "suite_ecdhe_ecdsa_with_aes_128_ccm": {
533                            "deps": ["ccm", "aes", "ecdh", "ecdsa"]
534                        },
535                        "suite_ecdhe_ecdsa_with_aes_256_ccm": {
536                            "deps": ["ccm", "aes", "ecdh", "ecdsa"]
537                        },
538                        "suite_dhe_rsa_with_aes_128_ccm": {
539                            "deps": ["ccm", "aes", "rsa", "dh"]
540                        },
541                        "suite_dhe_rsa_with_aes_256_ccm": {
542                            "deps": ["ccm", "aes", "rsa", "dh"]
543                        },
544                        "suite_rsa_with_aes_128_ccm": {
545                            "deps": ["ccm", "aes", "rsa"]
546                        },
547                        "suite_rsa_with_aes_128_ccm_8": {
548                            "deps": ["ccm", "aes", "rsa"]
549                        },
550                        "suite_rsa_with_aes_256_ccm": {
551                            "deps": ["ccm", "aes", "rsa"]
552                        },
553                        "suite_rsa_with_aes_256_ccm_8": {
554                            "deps": ["ccm", "aes", "rsa"]
555                        },
556                        "suite_ecdhe_sm4_cbc_sm3": {
557                            "deps": ["sm3", "cbc", "sm4", "sm2", "ecdh"]
558                        },
559                        "suite_ecc_sm4_cbc_sm3": {
560                            "deps": ["sm3", "cbc", "sm4", "sm2"]
561                        },
562                        "suite_ecdhe_sm4_gcm_sm3": {
563                            "deps": ["sm3", "gcm", "sm4", "sm2", "ecdh"]
564                        },
565                        "suite_ecc_sm4_gcm_sm3": {
566                            "deps": ["sm3", "gcm", "sm4", "sm2"]
567                        }
568                    },
569                    "suite_cipher": {
570                        "suite_cipher_aead": null,
571                        "suite_cipher_cbc": null,
572                        "opts": ["proto"]
573                    },
574                    "suite_kx": {
575                        "suite_kx_ecdhe": null,
576                        "suite_kx_dhe": null,
577                        "suite_kx_ecdh":  null,
578                        "suite_kx_dh": null,
579                        "suite_kx_rsa": null,
580                        "opts": ["proto"]
581                    },
582                    "suite_auth": {
583                        "suite_auth_rsa": null,
584                        "suite_auth_ecdsa": null,
585                        "suite_auth_dss": null,
586                        "suite_auth_psk": null,
587                        "suite_auth_sm2": null,
588                        "opts": ["proto"]
589                    },
590                    "maintain":{
591                        "deps":["log", "err"],
592                        "maintain_keylog": null
593                    }
594                }
595            }
596        },
597        "hitls_pki":{
598            "lang" : "C",
599            "features" : {
600                "c": {
601                    "x509": {
602                        "x509_crt" : {
603                            "x509_crt_gen" : {"deps": ["key_encode"]},
604                            "x509_crt_parse" : {"deps": ["key_decode"]},
605                            "deps": ["list", "obj", "asn1"]
606                        },
607                        "x509_csr" : {
608                            "x509_csr_gen" : {"deps": ["key_encode"]},
609                            "x509_csr_parse" : {"deps": ["key_decode"]},
610                            "deps": ["list", "obj", "asn1"]
611                        },
612                        "x509_crl" : {
613                            "x509_crl_gen" : {"deps": ["key_encode"]},
614                            "x509_crl_parse" : {"deps": ["key_decode"]},
615                            "deps": ["list", "obj", "asn1"]
616                        },
617                        "x509_vfy" : {
618                            "deps": ["x509_crt_parse", "x509_crl_parse"]
619                        }
620                    },
621                    "pkcs12" : {
622                        "pkcs12_gen" : {"deps": ["x509_crt_gen", "x509_crt_parse", "key_encode"]},
623                        "pkcs12_parse" : {"deps": ["x509_crt_parse", "key_decode"]},
624                        "deps": ["key_epki"]
625                    },
626                    "info": {
627                        "deps": ["uio_plt", "list", "obj", "asn1"],
628                        "opts": ["x509_crt", "x509_crt_gen", "x509_crt_parse"]
629                    }
630                }
631            }
632        },
633        "hitls_auth":{
634            "lang" : "C",
635            "features" : {
636                "c": {
637                    "privpass_token": {
638                        "privpass_pubtoken": null
639                    }
640                }
641            }
642        }
643    },
644    "modules":{
645        "crypto":{
646            "eal": {
647                ".features": ["eal"],
648                ".srcs": "crypto/eal/src/*.c",
649                ".deps": ["bsl::sal"],
650                ".include": [
651                    "crypto/ealinit/include",
652                    "crypto/sha1/include",
653                    "crypto/sha2/include",
654                    "crypto/sha3/include",
655                    "crypto/md5/include",
656                    "crypto/sm3/include",
657                    "crypto/hmac/include",
658                    "crypto/gmac/include",
659                    "crypto/cmac/include",
660                    "crypto/siphash/include",
661                    "crypto/scrypt/include",
662                    "crypto/hkdf/include",
663                    "crypto/kdf/include",
664                    "crypto/pbkdf2/include",
665                    "crypto/drbg/include",
666                    "crypto/entropy/include",
667                    "crypto/modes/include",
668                    "crypto/aes/include",
669                    "crypto/sm4/include",
670                    "crypto/chacha20/include",
671                    "crypto/bn/include",
672                    "crypto/encode/include",
673                    "crypto/ecc/include",
674                    "crypto/rsa/include",
675                    "crypto/dh/include",
676                    "crypto/dsa/include",
677                    "crypto/ecdsa/include",
678                    "crypto/ecdh/include",
679                    "crypto/curve25519/include",
680                    "crypto/sm2/include",
681                    "crypto/paillier/include",
682                    "crypto/elgamal/include",
683                    "crypto/mlkem/include",
684                    "crypto/mldsa/include",
685                    "crypto/hybridkem/include",
686                    "crypto/provider/include",
687                    "crypto/slh_dsa/include"
688                ]
689            },
690            "ealinit": {
691                ".features": ["ealinit"],
692                ".srcs": "crypto/ealinit/src/*.c",
693                ".deps": ["platform::Secure_C"],
694                ".include":["crypto/provider/include"]
695            },
696            "sha1": {
697                ".features": ["sha1"],
698                ".srcs": {
699                    "public":"crypto/sha1/src/sha1*.c",
700                    "no_asm": "crypto/sha1/src/noasm_*.c",
701                    "armv8": "crypto/sha1/src/asm/*_armv8.S",
702                    "x8664": {
703                        "x8664": "crypto/sha1/src/asm/*_x86_64.S",
704                        "avx512": "crypto/sha1/src/asm/*_x86_64.S"
705                    }
706                },
707                ".deps": ["platform::Secure_C"]
708            },
709            "sha2": {
710                ".features": ["sha224", "sha256", "sha384", "sha512"],
711                ".srcs": {
712                    "public": "crypto/sha2/src/sha2*.c",
713                    "no_asm": "crypto/sha2/src/noasm_*.c",
714                    "armv8": ["crypto/sha2/src/asm_*.c", "crypto/sha2/src/asm/*_armv8.S"],
715                    "x8664":{
716                        "x8664":["crypto/sha2/src/asm_*.c", "crypto/sha2/src/asm/*_x86_64.S"],
717                        "avx512":["crypto/sha2/src/asm_*.c", "crypto/sha2/src/asm/*_x86_64.S"]
718                    }
719                },
720                ".deps": ["platform::Secure_C", "bsl::sal"]
721            },
722            "sha3": {
723                ".features": ["sha3"],
724                ".srcs": {
725                    "public":"crypto/sha3/src/sha3*.c",
726                    "no_asm": "crypto/sha3/src/noasm_*.c",
727                    "armv8": "crypto/sha3/src/asm/*_armv8.S"
728                },
729                ".deps": ["platform::Secure_C"]
730            },
731            "md5": {
732                ".features": ["md5"],
733                ".srcs": {
734                    "public":"crypto/md5/src/md5*.c",
735                    "no_asm": "crypto/md5/src/noasm_*.c",
736                    "x8664": {
737                        "x8664": "crypto/md5/src/asm/*_x86_64.S",
738                        "avx512": "crypto/md5/src/asm/*_x86_64.S"
739                    }
740                },
741                ".deps": ["platform::Secure_C"]
742            },
743            "sm3": {
744                ".features": ["sm3"],
745                ".srcs": {
746                    "public": "crypto/sm3/src/sm3_public.c",
747                    "no_asm": ["crypto/sm3/src/noasm_sm3.c"],
748                    "armv8": ["crypto/sm3/src/asm/*armv8.S", "crypto/sm3/src/asm_sm3.c"],
749                    "x8664": ["crypto/sm3/src/asm/*x86_64.s", "crypto/sm3/src/asm_sm3.c"],
750                    "armv7": ["crypto/sm3/src/noasm_sm3.c"]
751                },
752                ".deps": ["platform::Secure_C"]
753            },
754            "hmac": {
755                ".features": ["hmac"],
756                ".srcs": "crypto/hmac/src/*.c",
757                ".deps": ["platform::Secure_C"],
758                ".include": ["crypto/eal/src"]
759            },
760            "cmac": {
761                ".features": ["cmac_aes", "cmac_sm4", "cbc_mac"],
762                ".srcs": "crypto/cmac/src/*.c",
763                ".deps": ["platform::Secure_C"],
764                ".include": [
765                    "crypto/eal/src",
766                    "crypto/cmac/src"
767                ]
768            },
769            "gmac": {
770                ".features": ["gmac"],
771                ".srcs": "crypto/gmac/src/*.c",
772                ".deps": ["platform::Secure_C"],
773                ".include": [
774                    "crypto/eal/src",
775                    "crypto/modes/src",
776                    "crypto/modes/include"
777                ]
778            },
779            "siphash": {
780                ".features": ["siphash"],
781                ".srcs": "crypto/siphash/src/*.c",
782                ".deps": ["platform::Secure_C"],
783                ".include": ["crypto/eal/src"]
784            },
785            "hpke": {
786                ".features": ["hpke"],
787                ".srcs": "crypto/hpke/src/*.c",
788                ".deps": ["platform::Secure_C", "crypto::bn"]
789            },
790            "scrypt": {
791                ".features": ["scrypt"],
792                ".srcs": "crypto/scrypt/src/*.c",
793                ".deps": ["platform::Secure_C"],
794                ".include": [
795                    "crypto/eal/src",
796                    "crypto/pbkdf2/src"
797                ]
798            },
799            "hkdf": {
800                ".features": ["hkdf"],
801                ".srcs": "crypto/hkdf/src/*.c",
802                ".deps": ["platform::Secure_C"],
803                ".include": ["crypto/eal/src"]
804            },
805            "kdf": {
806                ".features": ["kdftls12"],
807                ".srcs": "crypto/kdf/src/*.c",
808                ".deps": ["platform::Secure_C"],
809                ".include": ["crypto/eal/src"]
810            },
811            "pbkdf2": {
812                ".features": ["pbkdf2"],
813                ".srcs": "crypto/pbkdf2/src/*.c",
814                ".deps": ["platform::Secure_C"],
815                ".include": [
816                    "crypto/eal/src",
817                    "crypto/ealinit/include"
818                ]
819            },
820            "modes": {
821                ".features": ["cbc", "ecb", "xts", "ctr", "ofb", "cfb", "ccm", "gcm", "chacha20poly1305"],
822                ".srcs": {
823                    "public": "crypto/modes/src/modes*.c",
824                    "no_asm": "crypto/modes/src/noasm_*.c",
825                    "armv8": [
826                        "crypto/modes/src/asm/poly1305_armv8.S",
827                        "crypto/modes/src/asm_aes_gcm.c",
828                        "crypto/modes/src/asm_aes_xts.c",
829                        "crypto/modes/src/asm_aes_cbc.c",
830                        "crypto/modes/src/asm_aes_ecb.c",
831                        "crypto/modes/src/asm_aes_ctr.c",
832                        "crypto/modes/src/asm/aes_gcm_16block_aarch64.S",
833                        "crypto/modes/src/asm/aes_gcm_64block_aarch64.S",
834                        "crypto/modes/src/asm/ghash_armv8.S",
835                        "crypto/modes/src/noasm_aes_ccm.c",
836                        "crypto/modes/src/asm_aes_cfb.c",
837                        "crypto/modes/src/asm_sm4_xts.c",
838                        "crypto/modes/src/asm_sm4_ecb.c",
839                        "crypto/modes/src/asm_sm4_cbc.c",
840                        "crypto/modes/src/asm_sm4_cfb.c",
841                        "crypto/modes/src/asm_sm4_ofb_armv8.c",
842                        "crypto/modes/src/asm_sm4_ctr.c",
843                        "crypto/modes/src/asm_sm4_setkey.c",
844                        "crypto/modes/src/asm_sm4_gcm.c"
845                    ],
846                    "x8664": {
847                        "x8664":[
848                            "crypto/modes/src/asm_aes_ctr.c",
849                            "crypto/modes/src/asm_aes_gcm.c",
850                            "crypto/modes/src/asm/aes_gcm_16block_x86_64.S",
851                            "crypto/modes/src/asm/aes_gcm_64block_x86_64.S",
852                            "crypto/modes/src/asm/aes_gcm_96block_x86_64.S",
853                            "crypto/modes/src/asm_aes_xts.c",
854                            "crypto/modes/src/asm_aes_cbc.c",
855                            "crypto/modes/src/asm_aes_ecb.c",
856                            "crypto/modes/src/asm/ghash_x86_64.S",
857                            "crypto/modes/src/asm_aes_ccm.c",
858                            "crypto/modes/src/asm/aes_ccm_x86_64.S",
859                            "crypto/modes/src/asm/poly1305_x86_64_avx2.S",
860                            "crypto/modes/src/noasm_aes_cfb.c",
861                            "crypto/modes/src/asm_sm4_xts.c",
862                            "crypto/modes/src/asm_sm4_ecb.c",
863                            "crypto/modes/src/asm_sm4_cbc.c",
864                            "crypto/modes/src/asm_sm4_cfb.c",
865                            "crypto/modes/src/asm_sm4_ofb_x86_64.c",
866                            "crypto/modes/src/asm_sm4_ctr.c",
867                            "crypto/modes/src/asm_sm4_setkey.c",
868                            "crypto/modes/src/asm_sm4_gcm.c"
869                        ],
870                        "avx512":[
871                            "crypto/modes/src/asm_aes_ctr.c",
872                            "crypto/modes/src/noasm_aes_gcm.c",
873                            "crypto/modes/src/asm/aes_gcm_16block_x86_64.S",
874                            "crypto/modes/src/asm/aes_gcm_64block_x86_64.S",
875                            "crypto/modes/src/asm/aes_gcm_96block_x86_64.S",
876                            "crypto/modes/src/asm_aes_ecb.c",
877                            "crypto/modes/src/asm_aes_cbc.c",
878                            "crypto/modes/src/asm_aes_xts.c",
879                            "crypto/modes/src/asm/ghash_x86_64.S",
880                            "crypto/modes/src/asm_aes_ccm.c",
881                            "crypto/modes/src/asm/aes_ccm_x86_64.S",
882                            "crypto/modes/src/asm/poly1305_x86_64_avx2.S",
883                            "crypto/modes/src/noasm_aes_cfb.c",
884                            "crypto/modes/src/asm_sm4_cfb.c",
885                            "crypto/modes/src/asm_sm4_xts.c",
886                            "crypto/modes/src/asm_sm4_ecb.c",
887                            "crypto/modes/src/asm_sm4_cbc.c",
888                            "crypto/modes/src/asm_sm4_cfb.c",
889                            "crypto/modes/src/asm_sm4_ofb_x86_64.c",
890                            "crypto/modes/src/asm_sm4_ctr.c",
891                            "crypto/modes/src/asm_sm4_setkey.c",
892                            "crypto/modes/src/asm_sm4_gcm.c"
893                        ]
894                    }
895                },
896                ".deps": ["bsl::sal"],
897                ".include": ["crypto/sm4/include", "crypto/aes/include", "crypto/chacha20/include", "crypto/eal/src"]
898            },
899            "aes": {
900                ".features": ["aes"],
901                ".srcs": {
902                    "no_asm":[
903                        "crypto/aes/src/crypt_aes.c",
904                        "crypto/aes/src/crypt_aes_sbox.c",
905                        "crypto/aes/src/crypt_aes_tbox.c"
906                    ],
907                    "public": "crypto/aes/src/crypt_aes_setkey.c",
908                    "armv8":[
909                        "crypto/aes/src/asm/crypt_aes_armv8.S",
910                        "crypto/aes/src/asm/crypt_aes_ecb_armv8.S",
911                        "crypto/aes/src/asm/crypt_aes_cbc_armv8.S",
912                        "crypto/aes/src/asm/crypt_aes_ctr_armv8.S",
913                        "crypto/aes/src/asm/crypt_aes_xts_armv8.S",
914                        "crypto/aes/src/asm/crypt_aes_cfb_armv8.S"
915                    ],
916                   "x8664": {
917                        "x8664": [
918                            "crypto/aes/src/asm/crypt_aes_x86_64.S",
919                            "crypto/aes/src/asm/crypt_aes_ecb_x86_64.S",
920                            "crypto/aes/src/asm/crypt_aes_cbc_x86_64.S",
921                            "crypto/aes/src/asm/crypt_aes_ctr_x86_64.S",
922                            "crypto/aes/src/asm/crypt_aes_xts_x86_64.S"
923                        ],
924                        "avx512": [
925                            "crypto/aes/src/asm/crypt_aes_x86_64.S",
926                            "crypto/aes/src/asm/crypt_aes_ecb_x86_64.S",
927                            "crypto/aes/src/asm/crypt_aes_cbc_x86_64.S",
928                            "crypto/aes/src/asm/crypt_aes_xts_x86_64.S",
929                            "crypto/aes/src/asm/crypt_aes_ctr_x86_64.S"
930                        ]
931                    }
932                },
933                ".deps": ["platform::Secure_C"]
934            },
935            "chacha20": {
936                ".features": ["chacha20"],
937                ".srcs": {
938                    "public": "crypto/chacha20/src/chacha20.c",
939                    "no_asm": "crypto/chacha20/src/chacha20block.c",
940                    "armv8": "crypto/chacha20/src/asm/chacha20_aarch64.S",
941                    "x8664": {
942                        "x8664": ["crypto/chacha20/src/asm/chacha20block_x8664_avx2.S"],
943                        "avx512": ["crypto/chacha20/src/asm/chacha20block_x8664_avx512.S"]
944                    }
945                },
946                ".deps": ["bsl::sal"]
947            },
948            "sm4": {
949                ".features": ["sm4"],
950                ".srcs": {
951                    "public": [
952                        "crypto/sm4/src/crypt_sm4_public.c",
953                        "crypto/sm4/src/crypt_sm4.c",
954                        "crypto/sm4/src/sm4_key.c"
955                    ],
956                    "no_asm":[
957                        "crypto/sm4/src/crypt_sm4.c",
958                        "crypto/sm4/src/sm4_key.c"
959                    ],
960                    "armv8":[
961                        "crypto/sm4/src/asm/crypt_sm4_armv8.S",
962                        "crypto/sm4/src/asm/crypt_sm4_ex_armv8.S",
963                        "crypto/sm4/src/crypt_sm4_armv8.c"
964                    ],
965                    "x8664":{
966                        "x8664":[
967                            "crypto/sm4/src/asm/crypt_sm4_macro_x86_64.s",
968                            "crypto/sm4/src/asm/crypt_sm4_x86_64.S",
969                            "crypto/sm4/src/crypt_sm4_x86_64.c",
970                            "crypto/sm4/src/asm/crypt_sm4_modes_macro_x86_64.s",
971                            "crypto/sm4/src/asm/crypt_sm4_modes_x86_64.S"
972                        ],
973                        "avx512":[
974                            "crypto/sm4/src/asm/crypt_sm4_macro_x86_64.s",
975                            "crypto/sm4/src/asm/crypt_sm4_x86_64.S",
976                            "crypto/sm4/src/crypt_sm4_x86_64.c"
977                        ]
978                    }
979                },
980                ".deps": ["bsl::sal"]
981            },
982            "entropy":{
983                ".features": ["entropy"],
984                ".srcs": "crypto/entropy/src/*.c",
985                ".deps": ["bsl::sal", "bsl::list"]
986            },
987            "drbg": {
988                ".features": ["drbg_hash", "drbg_hmac", "drbg_ctr"],
989                ".srcs": "crypto/drbg/src/*.c",
990                ".deps": ["platform::Secure_C", "bsl::sal"],
991                ".include": [
992                    "crypto/eal/src",
993                    "crypto/entropy/include",
994                    "crypto/ealinit/include"
995                ]
996            },
997            "provider": {
998                ".features": ["provider"],
999                ".srcs": ["crypto/provider/src/mgr/*.c", "crypto/provider/src/default/*.c"],
1000                ".deps": ["bsl::sal", "bsl::hash", "bsl::err", "bsl::params"],
1001                ".include": [
1002                    "crypto/provider/include",
1003                    "crypto/ealinit/include",
1004                    "crypto/sha1/include",
1005                    "crypto/sha2/include",
1006                    "crypto/sha3/include",
1007                    "crypto/md5/include",
1008                    "crypto/sm3/include",
1009                    "crypto/scrypt/include",
1010                    "crypto/pbkdf2/include",
1011                    "crypto/kdf/include",
1012                    "crypto/hkdf/include",
1013                    "crypto/rsa/include",
1014                    "crypto/dsa/include",
1015                    "crypto/curve25519/include",
1016                    "crypto/dh/include",
1017                    "crypto/ecdsa/include",
1018                    "crypto/ecdh/include",
1019                    "crypto/sm2/include",
1020                    "crypto/mlkem/include",
1021                    "crypto/bn/include",
1022                    "crypto/ecc/include",
1023                    "crypto/hmac/include",
1024                    "crypto/cmac/include",
1025                    "crypto/gmac/include",
1026                    "crypto/siphash/include",
1027                    "crypto/paillier/include",
1028                    "crypto/elgamal/include",
1029                    "crypto/mldsa/include",
1030                    "crypto/slh_dsa/include",
1031                    "crypto/drbg/include",
1032                    "crypto/modes/include",
1033                    "crypto/entropy/include",
1034                    "crypto/hybridkem/include",
1035                    "crypto/eal/src",
1036                    "crypto/include",
1037                    "crypto/codecskey/include"
1038                ]
1039            },
1040            "bn": {
1041                ".features": ["bn", "bn_basic", "bn_rand", "eal_bn",  "bn_prime", "bn_str_conv", "bn_cb", "bn_prime_rfc3526"],
1042                ".srcs": {
1043                    "public": ["crypto/bn/src/bn_*.c"],
1044                    "no_asm": "crypto/bn/src/noasm_*.c",
1045                    "armv8": ["crypto/bn/src/armv8_*.c","crypto/bn/src/asm_*.c", "crypto/bn/src/asm/*_armv8.S"],
1046                    "x8664": {
1047                        "x8664": ["crypto/bn/src/x8664_*.c", "crypto/bn/src/asm_*.c", "crypto/bn/src/asm/*_x86_64.S"],
1048                        "avx512": ["crypto/bn/src/x8664_*.c", "crypto/bn/src/asm_*.c", "crypto/bn/src/asm/*_x86_64.S"]
1049                    }
1050                },
1051                ".deps": ["bsl::sal"]
1052            },
1053            "rsa": {
1054                ".features": [
1055                    "rsa", "rsa_gen", "rsa_sign", "rsa_verify", "rsa_encrypt", "rsa_decrypt",
1056                    "rsa_pad", "rsa_no_pad", "rsaes_oaep", "rsaes_pkcsv15", "rsaes_pkcsv15_tls", "rsa_emsa_pss", "rsa_emsa_pkcsv15", "rsa_blinding"
1057                ],
1058                ".srcs": "crypto/rsa/src/*.c",
1059                ".deps" : ["crypto::bn"],
1060                ".include": ["crypto/eal/src"]
1061            },
1062            "curve25519": {
1063                ".features": ["ed25519", "x25519"],
1064                ".srcs": {
1065                    "public": "crypto/curve25519/src/curve25519*.c",
1066		            "no_asm": "crypto/curve25519/src/noasm_*.c",
1067                    "x8664": [
1068                        "crypto/curve25519/src/asm/*_x86_64.S",
1069                        "crypto/curve25519/src/asm_*.c"
1070                    ],
1071                    "armv8": [
1072                        "crypto/curve25519/src/asm/*_armv8.S",
1073                        "crypto/curve25519/src/asm_*.c"
1074                    ]
1075                },
1076                ".deps": ["platform::Secure_C", "bsl::sal"],
1077                ".include": ["crypto/eal/src"]
1078            },
1079            "dsa": {
1080                ".features": ["dsa"],
1081                ".srcs": "crypto/dsa/src/*.c",
1082                ".deps": ["crypto::bn", "crypto::encode"],
1083                ".include": ["crypto/eal/src"]
1084            },
1085            "dh": {
1086                ".features": ["dh"],
1087                ".srcs": "crypto/dh/src/*.c",
1088                ".deps": ["crypto::bn"],
1089                ".include": ["crypto/eal/src"]
1090            },
1091            "codecs": {
1092                ".features": ["codecs"],
1093                ".srcs": "codecs/src/*.c",
1094                ".deps": ["crypto::provider", "bsl::params", "bsl::list"],
1095                ".include": ["codecs/include"]
1096
1097            },
1098            "encode": {
1099                ".features": ["dsa", "ecdsa", "sm2", "sm2_crypt", "sm2_sign"],
1100                ".srcs": "crypto/encode/src/*.c",
1101                ".deps": ["crypto::bn", "bsl::asn1", "bsl::obj"]
1102            },
1103            "codecskey": {
1104                ".features": ["codecskey", "key_epki", "key_encode", "key_decode"],
1105                ".srcs": ["crypto/codecskey/src/*.c"],
1106                ".deps": ["bsl::asn1", "bsl::obj"],
1107                ".include": [
1108                    "crypto/codecskey/include",
1109                    "bsl/pem/include",
1110                    "crypto/bn/include",
1111                    "crypto/eal/include",
1112                    "crypto/ecc/include",
1113                    "crypto/rsa/include",
1114                    "crypto/ecdsa/include",
1115                    "crypto/sm2/include",
1116                    "crypto/curve25519/include",
1117                    "crypto/provider/include"
1118                ]
1119            },
1120            "util": {
1121                ".features": [
1122                    "sha1", "sha224", "sha256", "sha384", "sha512",
1123                    "bn",
1124                    "drbg_hash", "drbg_hmac", "drbg_ctr",
1125                    "rsa", "ed25519", "x25519", "slh_dsa"
1126                ],
1127                ".srcs": "crypto/util/*.c",
1128                ".deps": ["platform::Secure_C"]
1129            },
1130            "ecc": {
1131                ".features": [
1132                    "ecc",
1133                    "curve_nistp224", "curve_nistp256", "curve_nistp384", "curve_nistp521",
1134                    "curve_bp256r1", "curve_bp384r1", "curve_bp512r1",
1135                    "curve_sm2"
1136                ],
1137                ".srcs": {
1138                    "public": "crypto/ecc/src/ec*.c",
1139                    "no_asm": "crypto/ecc/src/noasm_*.c",
1140                    "armv8": ["crypto/ecc/src/asm_*.c", "crypto/ecc/src/asm64_ecp_nistp256.c", "crypto/ecc/src/asm/*armv8.S"],
1141                    "x8664": {
1142                        "x8664": ["crypto/ecc/src/asm_*.c", "crypto/ecc/src/asm64_ecp_nistp256.c", "crypto/ecc/src/asm/*_x86_64.S"],
1143                        "avx512": ["crypto/ecc/src/asm_*.c", "crypto/ecc/src/asm64_ecp_nistp256.c", "crypto/ecc/src/asm/*_x86_64.S"]
1144                    }
1145                },
1146                ".deps": ["crypto::bn", "bsl::sal"],
1147                ".include": ["crypto/eal/src"]
1148            },
1149            "ecdh": {
1150                ".features": ["ecdh"],
1151                ".srcs": "crypto/ecdh/src/*.c",
1152                ".deps": ["crypto::bn", "bsl::sal", "crypto::ecc"],
1153                ".include": ["crypto/eal/src"]
1154            },
1155            "ecdsa": {
1156                ".features": ["ecdsa"],
1157                ".srcs": "crypto/ecdsa/src/*.c",
1158                ".deps": ["crypto::bn", "bsl::sal", "crypto::encode", "crypto::ecc"],
1159                ".include": ["crypto/eal/src"]
1160            },
1161            "sm2": {
1162                ".features": ["sm2_crypt", "sm2_sign", "sm2_exch"],
1163                ".srcs": "crypto/sm2/src/*.c",
1164                ".deps": ["crypto::bn", "bsl::sal", "crypto::ecc"],
1165                ".include": [
1166                    "crypto/eal/src",
1167                    "bsl/asn1/include",
1168                    "bsl/obj/include",
1169                    "crypto/encode/include"
1170                ]
1171            },
1172            "paillier": {
1173                ".features": ["paillier"],
1174                ".srcs": "crypto/paillier/src/*.c",
1175                ".deps": ["crypto::bn"],
1176                ".include": ["crypto/eal/src"]
1177            },
1178            "elgamal": {
1179                ".features": ["elgamal"],
1180                ".srcs": "crypto/elgamal/src/*.c",
1181                ".deps": ["crypto::bn"],
1182                ".include": ["crypto/eal/src"]
1183            },
1184            "mlkem": {
1185                ".features": ["mlkem"],
1186                ".srcs": "crypto/mlkem/src/*.c",
1187                ".deps": ["crypto::sha3", "bsl::sal"],
1188                ".include": ["crypto/eal/src"]
1189            },
1190            "mldsa": {
1191                ".features": ["mldsa"],
1192                ".srcs": {
1193                    "public": [
1194                        "crypto/mldsa/src/ml_dsa_core.c",
1195                        "crypto/mldsa/src/ml_dsa_ntt.c",
1196                        "crypto/mldsa/src/ml_dsa.c"
1197                    ]
1198                },
1199                ".deps": ["crypto::sha3", "bsl::sal", "bsl::obj"],
1200                ".include": ["crypto/eal/src"]
1201            },
1202            "hybridkem": {
1203                ".features": ["hybridkem"],
1204                ".srcs": "crypto/hybridkem/src/*.c",
1205                ".deps": ["crypto::mlkem", "bsl::sal"],
1206                ".include": [
1207                    "crypto/hybridkem/include",
1208                    "crypto/ecdh/include",
1209                    "crypto/curve25519/include",
1210                    "crypto/mlkem/include",
1211                    "crypto/ecc/include",
1212                    "crypto/bn/include",
1213                    "crypto/eal/src"
1214                    ]
1215            },
1216            "slh_dsa": {
1217                ".features": ["slh_dsa"],
1218                ".srcs": "crypto/slh_dsa/src/*.c",
1219                ".deps": ["crypto::sha3", "crypto::sha2", "bsl::obj"],
1220                ".include": ["crypto/eal/src", "bsl/asn1/include"]
1221            }
1222        },
1223        "bsl":{
1224            "log": {
1225                ".features": ["log"],
1226                ".srcs": "bsl/log/src/*.c",
1227                ".deps": ["platform::Secure_C"]
1228            },
1229            "sal": {
1230                ".features": ["sal", "sal_mem", "sal_lock", "sal_thread", "sal_time", "sal_file", "sal_str", "sal_dl"],
1231                ".srcs": [
1232                    "bsl/sal/src/*.c",
1233                    "bsl/sal/src/linux/*.c"
1234                ],
1235                ".deps": ["platform::Secure_C"]
1236            },
1237            "err": {
1238                ".features": ["err"],
1239                ".srcs": "bsl/err/src/*.c",
1240                ".deps": ["platform::Secure_C", "bsl::sal"]
1241            },
1242            "tlv": {
1243                ".features": ["tlv"],
1244                ".srcs": "bsl/tlv/src/*.c",
1245                ".deps": ["platform::Secure_C"]
1246            },
1247            "list": {
1248                ".features": ["list"],
1249                ".srcs": "bsl/list/src/*.c",
1250                ".deps": ["platform::Secure_C", "bsl::sal"]
1251            },
1252            "obj": {
1253                ".features":["obj"],
1254                ".srcs":"bsl/obj/src/*.c",
1255                ".deps": ["platform::Secure_C", "bsl::sal"],
1256                ".include": ["bsl/hash/include"]
1257            },
1258            "base64": {
1259                ".features": ["base64"],
1260                ".srcs": "bsl/base64/src/*.c",
1261                ".deps": ["platform::Secure_C", "bsl::sal"]
1262            },
1263            "buffer": {
1264                ".features": ["buffer"],
1265                ".srcs": "bsl/buffer/src/*.c",
1266                ".deps": ["platform::Secure_C", "bsl::sal"]
1267            },
1268            "pem": {
1269                ".features": ["pem"],
1270                ".srcs": "bsl/pem/src/*.c",
1271                ".deps": ["platform::Secure_C", "bsl::sal", "bsl::base64"]
1272            },
1273            "hash": {
1274                ".features": ["hash"],
1275                ".srcs": "bsl/hash/src/*.c",
1276                ".deps": ["platform::Secure_C"]
1277            },
1278            "uio": {
1279                ".features": [
1280                    "uio_plt", "uio", "uio_buffer", "uio_sctp", "uio_tcp","uio_udp" ,"uio_mem"
1281                ],
1282                ".srcs": "bsl/uio/src/*.c",
1283                ".deps": ["platform::Secure_C", "bsl::sal"],
1284                ".include": [
1285                    "bsl/buffer/include"
1286                ]
1287            },
1288            "usrdata": {
1289                ".features": ["usrdata"],
1290                ".srcs": "bsl/usrdata/src/*.c"
1291            },
1292            "asn1": {
1293                ".features": ["asn1"],
1294                ".srcs": "bsl/asn1/src/*.c",
1295                ".deps": ["bsl::sal"]
1296            },
1297            "params": {
1298                ".features": ["params"],
1299                ".srcs": "bsl/params/src/*.c",
1300                ".deps": ["platform::Secure_C", "bsl::sal"]
1301            },
1302            "init": {
1303                ".features": ["init"],
1304                ".srcs": "bsl/init/*.c",
1305                ".include": ["bsl/obj/include"]
1306            }
1307        },
1308        "platform": {
1309            "Secure_C": {
1310            }
1311        },
1312        "tls": {
1313            "cm": {
1314                ".features": ["proto"],
1315                ".srcs": "tls/cm/src/*.c",
1316                ".deps": ["bsl::hash", "bsl::tlv", "tls::alert", "tls::handshake", "tls::ccs", "tls::app", "tls::config"],
1317                ".include": [
1318                    "include",
1319                    "tls/handshake/include",
1320                    "tls/handshake/common/include",
1321                    "tls/handshake/recv/include",
1322                    "tls/handshake/send/include",
1323                    "tls/record/src",
1324                    "tls/feature/custom_extensions/include"
1325                ]
1326            },
1327            "crypt": {
1328                ".features": ["proto"],
1329                ".srcs": "tls/crypt/crypt_adapt/*.c",
1330                ".deps": ["platform::Secure_C", "bsl::sal"],
1331                ".include": [
1332                    "tls/config/include",
1333                    "tls/crypt/crypt_self",
1334                    "tls/feature/custom_extensions/include"
1335                ]
1336            },
1337            "crypt_self": {
1338                ".features": ["proto"],
1339                ".srcs": "tls/crypt/crypt_self/*.c",
1340                ".deps": ["tls::crypt", "crypto::eal"],
1341                ".include": [
1342                    "include",
1343                    "tls/config/include"
1344                ]
1345            },
1346            "cert": {
1347                ".features": ["proto"],
1348                ".srcs": "tls/cert/**/*.c",
1349                ".deps": ["platform::Secure_C", "bsl::hash", "bsl::sal"],
1350                ".include": [
1351                    "include",
1352                    "include/tls",
1353                    "include/bsl",
1354                    "include/pki",
1355                    "bsl/asn1/include",
1356                    "pki/x509_cert/include",
1357                    "pki/x509_common/include",
1358                    "tls/config/include",
1359                    "tls/cert/include",
1360                    "tls/cert/cert_adapt",
1361                    "tls/feature/custom_extensions/include"
1362                ]
1363            },
1364            "config": {
1365                ".features": ["proto"],
1366                ".srcs": "tls/config/src/*.c",
1367                ".deps": ["platform::Secure_C", "bsl::hash", "bsl::sal", "tls::cert", "tls::crypt"],
1368                ".include": [
1369                    "tls/record/include",
1370                    "tls/feature/custom_extensions/include"
1371                ]
1372
1373            },
1374            "record": {
1375                ".features": ["proto"],
1376                ".srcs": "tls/record/src/*.c",
1377                ".deps": ["platform::Secure_C", "bsl::hash", "bsl::sal", "bsl::tlv", "bsl::uio", "tls::config", "tls::crypt"],
1378                ".include": [
1379                    "tls/handshake/include",
1380                    "tls/handshake/common/include",
1381                    "tls/alert/include",
1382                    "bsl/async/include",
1383                    "tls/feature/custom_extensions/include"
1384                ]
1385            },
1386            "ccs": {
1387                ".features": ["proto"],
1388                ".srcs": "tls/ccs/src/*.c",
1389                ".deps": ["platform::Secure_C", "bsl::sal", "tls::record", "bsl::uio"],
1390                ".include": [
1391                    "tls/handshake/include",
1392                    "tls/alert/include",
1393                    "tls/feature/custom_extensions/include"
1394                ]
1395            },
1396            "alert": {
1397                ".features": ["proto"],
1398                ".srcs": "tls/alert/src/*.c",
1399                ".deps": ["platform::Secure_C", "bsl::sal", "tls::record"],
1400                ".include": [
1401
1402                    "tls/record/src",
1403                    "tls/feature/custom_extensions/include"
1404                ]
1405            },
1406            "handshake": {
1407                ".features": ["proto"],
1408                ".srcs": "tls/handshake/**/*.c",
1409                ".include": [
1410                    "tls/include",
1411                    "tls/cert/include",
1412                    "tls/cert/cert_adapt",
1413                    "tls/crypt/include",
1414                    "tls/record/include",
1415                    "tls/handshake/common/include",
1416                    "tls/handshake/pack/include",
1417                    "tls/handshake/parse/include",
1418                    "tls/handshake/recv/include",
1419                    "tls/handshake/send/include",
1420                    "tls/handshake/reass/include",
1421                    "tls/handshake/cookie/include",
1422                    "tls/record/src",
1423                    "tls/alert/include",
1424                    "tls/feature/custom_extensions/include"
1425                ],
1426                ".deps": ["platform::Secure_C", "bsl::hash", "bsl::sal", "bsl::tlv", "tls::cert", "tls::crypt", "tls::record", "tls::config"]
1427            },
1428            "app": {
1429                ".features": ["proto"],
1430                ".srcs": "tls/app/src/*.c",
1431                ".deps": ["platform::Secure_C", "bsl::sal", "tls::record"],
1432                ".include": [
1433
1434                    "tls/record/src",
1435                    "tls/feature/custom_extensions/include"
1436                ]
1437            },
1438            "feature": {
1439                ".features": ["proto"],
1440                ".srcs": "tls/feature/**/*.c",
1441                ".deps": ["platform::Secure_C", "bsl::sal", "bsl::tlv", "bsl::uio", "tls::cm", "tls::crypt"],
1442                ".include": [
1443                    "include",
1444                    "bsl/hash/include/",
1445                    "bsl/uio/src",
1446                    "tls/cert/cert_adapt",
1447                    "tls/handshake/parse/src",
1448                    "tls/handshake/common/include",
1449                    "tls/feature/custom_extensions/include"
1450                ]
1451            }
1452        },
1453        "pki" : {
1454            "x509_cert": {
1455                ".features" : ["x509", "x509_crt", "x509_crt_gen", "x509_crt_parse"],
1456                ".srcs" : "pki/x509_cert/src/*",
1457                ".deps" : ["platform::Secure_C", "pki::x509_common", "crypto::codecskey", "bsl::sal", "bsl::asn1", "bsl::obj", "bsl::list"],
1458                ".include": [
1459                    "bsl/pem/include",
1460                    "pki/x509_csr/include",
1461                    "pki/print/include"
1462                ]
1463            },
1464            "x509_crl" : {
1465                ".features" : ["x509", "x509_crl_gen", "x509_crl_parse"],
1466                ".srcs" : "pki/x509_crl/src/*",
1467                ".deps" : ["platform::Secure_C", "pki::x509_common", "bsl::sal", "bsl::asn1", "bsl::obj", "bsl::list"],
1468                ".include": ["bsl/pem/include"]
1469            },
1470            "x509_common" : {
1471                ".features" : [
1472                    "x509", "x509_crt", "x509_crt_gen", "x509_crt_parse",
1473                    "x509_crl", "x509_crl_gen", "x509_crl_parse",
1474                    "x509_csr", "x509_csr_gen", "x509_csr_parse",
1475                    "pkcs12", "pkcs12_gen", "pkcs12_parse"
1476                ],
1477                ".srcs" : "pki/x509_common/src/*",
1478                ".deps" : ["platform::Secure_C", "bsl::sal", "bsl::asn1", "bsl::obj", "bsl::list", "crypto::codecskey"],
1479                ".include": ["bsl/pem/include"]
1480            },
1481            "print" : {
1482                ".features" : ["info"],
1483                ".srcs" : "pki/print/src/*",
1484                ".deps" : ["platform::Secure_C", "bsl::sal", "bsl::asn1", "bsl::obj", "bsl::list", "bsl::uio"],
1485                ".include": ["pki/x509_common/include"]
1486            },
1487            "x509_verify" : {
1488                ".features" : ["x509_vfy"],
1489                ".srcs" : "pki/x509_verify/src/*",
1490                ".deps" : ["platform::Secure_C", "pki::x509_cert", "pki::x509_crl", "pki::x509_common"]
1491            },
1492            "x509_csr" : {
1493                ".features" : ["x509", "x509_csr", "x509_csr_gen", "x509_csr_parse"],
1494                ".srcs" : "pki/x509_csr/src/*",
1495                ".deps" : ["platform::Secure_C", "pki::x509_common", "bsl::sal", "bsl::asn1", "bsl::obj", "bsl::list"],
1496                ".include": ["bsl/pem/include"]
1497            },
1498            "pkcs12" : {
1499                ".features" : ["pkcs12", "pkcs12_gen", "pkcs12_parse"],
1500                ".srcs" : "pki/pkcs12/src/*",
1501                ".deps" : ["platform::Secure_C", "pki::x509_common", "crypto::codecskey", "bsl::sal", "bsl::asn1", "bsl::obj", "bsl::list", "pki::x509_cert", "pki::cms"]
1502            },
1503            "cms" : {
1504                ".features" : ["pkcs12_gen", "pkcs12_parse"],
1505                ".srcs" : "pki/cms/src/*",
1506                ".deps" : ["platform::Secure_C", "crypto::codecskey"]
1507            }
1508        },
1509        "auth" : {
1510            "privpass_token": {
1511                ".features" : ["privpass_pubtoken"],
1512                ".srcs" : "auth/privpass_token/src/*",
1513                ".deps": ["platform::Secure_C", "bsl::sal"]
1514            }
1515        }
1516    }
1517}
1518