1
1
/**
2
2
* Copyright Notice:
3
- * Copyright 2021-2024 DMTF. All rights reserved.
3
+ * Copyright 2021-2025 DMTF. All rights reserved.
4
4
* License: BSD 3-Clause License. For full text see link: https://github.com/DMTF/libspdm/blob/main/LICENSE.md
5
5
**/
6
6
@@ -348,6 +348,15 @@ typedef struct {
348
348
#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_REQ_BASE_ASYM_ALG 4
349
349
#define SPDM_NEGOTIATE_ALGORITHMS_STRUCT_TABLE_ALG_TYPE_KEY_SCHEDULE 5
350
350
351
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_DHE_11_MASK 0x003f
352
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_AEAD_11_MASK 0x0007
353
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_REQ_BASE_ASYM_ALG_11_MASK 0x01ff
354
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_KEY_SCHEDULE_11_MASK 0x0001
355
+
356
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_DHE_12_MASK 0x007f
357
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_AEAD_12_MASK 0x000f
358
+ #define SPDM_NEGOTIATE_ALGORITHMS_ALG_SUPPORTED_REQ_BASE_ASYM_ALG_12_MASK 0x0fff
359
+
351
360
typedef struct {
352
361
uint8_t alg_type ;
353
362
uint8_t alg_count ;
@@ -366,11 +375,15 @@ typedef struct {
366
375
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P384 0x00000080
367
376
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_ECDSA_ECC_NIST_P521 0x00000100
368
377
378
+ #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_10_MASK 0x000001FF
379
+
369
380
/* SPDM NEGOTIATE_ALGORITHMS request base_asym_algo/REQ_BASE_ASYM_ALG (1.2) */
370
381
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_TPM_ALG_SM2_ECC_SM2_P256 0x00000200
371
382
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED25519 0x00000400
372
383
#define SPDM_ALGORITHMS_BASE_ASYM_ALGO_EDDSA_ED448 0x00000800
373
384
385
+ #define SPDM_ALGORITHMS_BASE_ASYM_ALGO_12_MASK 0x00000FFF
386
+
374
387
/* SPDM NEGOTIATE_ALGORITHMS request base_hash_algo */
375
388
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_256 0x00000001
376
389
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA_384 0x00000002
@@ -379,9 +392,13 @@ typedef struct {
379
392
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_384 0x00000010
380
393
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SHA3_512 0x00000020
381
394
395
+ #define SPDM_ALGORITHMS_BASE_HASH_ALGO_10_MASK 0x0000003F
396
+
382
397
/* SPDM NEGOTIATE_ALGORITHMS request base_hash_algo (1.2) */
383
398
#define SPDM_ALGORITHMS_BASE_HASH_ALGO_TPM_ALG_SM3_256 0x00000040
384
399
400
+ #define SPDM_ALGORITHMS_BASE_HASH_ALGO_12_MASK 0x0000007F
401
+
385
402
/* SPDM NEGOTIATE_ALGORITHMS request DHE */
386
403
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_2048 0x00000001
387
404
#define SPDM_ALGORITHMS_DHE_NAMED_GROUP_FFDHE_3072 0x00000002
@@ -439,9 +456,13 @@ typedef struct {
439
456
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_384 0x00000020
440
457
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SHA3_512 0x00000040
441
458
459
+ #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_10_MASK 0x0000007F
460
+
442
461
/* SPDM NEGOTIATE_ALGORITHMS response measurement_hash_algo (1.2) */
443
462
#define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_TPM_ALG_SM3_256 0x00000080
444
463
464
+ #define SPDM_ALGORITHMS_MEASUREMENT_HASH_ALGO_12_MASK 0x000000FF
465
+
445
466
/* SPDM Opaque Data Format (1.2) */
446
467
#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_NONE 0x0
447
468
#define SPDM_ALGORITHMS_OPAQUE_DATA_FORMAT_0 0x1
@@ -712,6 +733,8 @@ typedef struct {
712
733
713
734
#define SPDM_MEASUREMENT_SPECIFICATION_DMTF 0x01
714
735
736
+ #define SPDM_MEASUREMENT_SPECIFICATION_10_MASK 0x01
737
+
715
738
/* SPDM MEASUREMENTS block DMTF header */
716
739
typedef struct {
717
740
uint8_t dmtf_spec_measurement_value_type ;
@@ -810,6 +833,8 @@ typedef struct {
810
833
811
834
#define SPDM_MEL_SPECIFICATION_DMTF 0x01
812
835
836
+ #define SPDM_MEL_SPECIFICATION_13_MASK 0x01
837
+
813
838
/* SPDM ERROR response */
814
839
typedef struct {
815
840
spdm_message_header_t header ;
0 commit comments