Skip to content

Commit ab490a5

Browse files
author
Denis Mingulov
committed
fix: use precise PKCS#11 types in int_macro prefix mappings
PKCS#11 3.x introduced new type families that reuse existing constant prefixes, causing the int_macro callback to assign semantically wrong types to several constant groups: - CKH_HEDGE_*/CKH_DETERMINISTIC_*: generated as CK_HW_FEATURE_TYPE instead of CK_HEDGE_TYPE (hedging has nothing to do with HW features) - CKP_ML_DSA_*/CKP_ML_KEM_*/CKP_SLH_DSA_*: generated as CK_PROFILE_ID instead of their respective parameter set types - CKS_LAST_VALIDATION_OK: generated as CK_STATE instead of CK_SESSION_VALIDATION_FLAGS_TYPE - CKT_* trust constants: generated as u32 instead of CK_TRUST (actual type width mismatch on 64-bit platforms) Additionally, refine several CK_-prefixed constants from generic CK_ULONG to their proper PKCS#11 type aliases: - CKV_TYPE_*/CKV_AUTHORITY_TYPE_*: CK_VALIDATION_TYPE and CK_VALIDATION_AUTHORITY_TYPE respectively - CK_CERTIFICATE_CATEGORY_*: CK_CERTIFICATE_CATEGORY - CK_SECURITY_DOMAIN_*: CK_JAVA_MIDP_SECURITY_DOMAIN The int_macro callback uses last-match-wins, so more specific prefixes are placed after their generic counterparts. Add a comment documenting this ordering requirement. Regenerate all platform bindings.
1 parent d1b283e commit ab490a5

13 files changed

Lines changed: 535 additions & 516 deletions

cryptoki-sys/build.rs

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@ mod generate {
2525
}
2626

2727
fn int_macro(&self, name: &str, _: i64) -> Option<callbacks::IntKind> {
28+
// The last matching prefix wins, so more specific prefixes must
29+
// come after their generic counterparts.
2830
let prefixes = [
2931
("CK_", "CK_ULONG"),
3032
("CKA_", "CK_ATTRIBUTE_TYPE"),
@@ -46,10 +48,27 @@ mod generate {
4648
("CKP_", "CK_PROFILE_ID"),
4749
("CKR_", "CK_RV"),
4850
("CKS_", "CK_STATE"),
51+
("CKT_", "CK_TRUST"),
4952
("CKU_", "CK_USER_TYPE"),
5053
("CKZ_DATA_SPECIFIED", "CK_RSA_PKCS_OAEP_SOURCE_TYPE"),
5154
("CKZ_SALT_SPECIFIED", "CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE"),
5255
("CRYPTOKI_VERSION_", "CK_BYTE"),
56+
// PKCS#11 3.x introduces types that share prefixes with
57+
// earlier types. The more specific prefixes below override
58+
// the generic matches above.
59+
("CKH_HEDGE_", "CK_HEDGE_TYPE"),
60+
("CKH_DETERMINISTIC_", "CK_HEDGE_TYPE"),
61+
("CKP_ML_DSA_", "CK_ML_DSA_PARAMETER_SET_TYPE"),
62+
("CKP_ML_KEM_", "CK_ML_KEM_PARAMETER_SET_TYPE"),
63+
("CKP_SLH_DSA_", "CK_SLH_DSA_PARAMETER_SET_TYPE"),
64+
("CKS_LAST_VALIDATION_", "CK_SESSION_VALIDATION_FLAGS_TYPE"),
65+
("CKV_TYPE_", "CK_VALIDATION_TYPE"),
66+
("CKV_AUTHORITY_TYPE_", "CK_VALIDATION_AUTHORITY_TYPE"),
67+
(
68+
"CK_CERTIFICATE_CATEGORY_",
69+
"CK_CERTIFICATE_CATEGORY",
70+
),
71+
("CK_SECURITY_DOMAIN_", "CK_JAVA_MIDP_SECURITY_DOMAIN"),
5372
];
5473

5574
if ["CK_TRUE", "CK_FALSE"].contains(&name) {

cryptoki-sys/src/bindings/aarch64-apple-darwin.rs

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ pub const CK_EFFECTIVELY_INFINITE: CK_ULONG = 0;
77
pub const CK_INVALID_HANDLE: CK_ULONG = 0;
88
pub const CK_TRUE: CK_BBOOL = 1;
99
pub const CK_FALSE: CK_BBOOL = 0;
10-
pub const CK_CERTIFICATE_CATEGORY_UNSPECIFIED: CK_ULONG = 0;
11-
pub const CK_CERTIFICATE_CATEGORY_TOKEN_USER: CK_ULONG = 1;
12-
pub const CK_CERTIFICATE_CATEGORY_AUTHORITY: CK_ULONG = 2;
13-
pub const CK_CERTIFICATE_CATEGORY_OTHER_ENTITY: CK_ULONG = 3;
10+
pub const CK_CERTIFICATE_CATEGORY_UNSPECIFIED: CK_CERTIFICATE_CATEGORY = 0;
11+
pub const CK_CERTIFICATE_CATEGORY_TOKEN_USER: CK_CERTIFICATE_CATEGORY = 1;
12+
pub const CK_CERTIFICATE_CATEGORY_AUTHORITY: CK_CERTIFICATE_CATEGORY = 2;
13+
pub const CK_CERTIFICATE_CATEGORY_OTHER_ENTITY: CK_CERTIFICATE_CATEGORY = 3;
1414
pub const CK_OTP_VALUE: CK_ULONG = 0;
1515
pub const CK_OTP_PIN: CK_ULONG = 1;
1616
pub const CK_OTP_CHALLENGE: CK_ULONG = 2;
@@ -26,10 +26,10 @@ pub const CK_OTP_FORMAT_BINARY: CK_ULONG = 3;
2626
pub const CK_OTP_PARAM_IGNORED: CK_ULONG = 0;
2727
pub const CK_OTP_PARAM_OPTIONAL: CK_ULONG = 1;
2828
pub const CK_OTP_PARAM_MANDATORY: CK_ULONG = 2;
29-
pub const CK_SECURITY_DOMAIN_UNSPECIFIED: CK_ULONG = 0;
30-
pub const CK_SECURITY_DOMAIN_MANUFACTURER: CK_ULONG = 1;
31-
pub const CK_SECURITY_DOMAIN_OPERATOR: CK_ULONG = 2;
32-
pub const CK_SECURITY_DOMAIN_THIRD_PARTY: CK_ULONG = 3;
29+
pub const CK_SECURITY_DOMAIN_UNSPECIFIED: CK_JAVA_MIDP_SECURITY_DOMAIN = 0;
30+
pub const CK_SECURITY_DOMAIN_MANUFACTURER: CK_JAVA_MIDP_SECURITY_DOMAIN = 1;
31+
pub const CK_SECURITY_DOMAIN_OPERATOR: CK_JAVA_MIDP_SECURITY_DOMAIN = 2;
32+
pub const CK_SECURITY_DOMAIN_THIRD_PARTY: CK_JAVA_MIDP_SECURITY_DOMAIN = 3;
3333
pub const CK_SP800_108_ITERATION_VARIABLE: CK_ULONG = 1;
3434
pub const CK_SP800_108_OPTIONAL_COUNTER: CK_ULONG = 2;
3535
pub const CK_SP800_108_COUNTER: CK_ULONG = 2;
@@ -319,9 +319,9 @@ pub const CKH_MONOTONIC_COUNTER: CK_HW_FEATURE_TYPE = 1;
319319
pub const CKH_CLOCK: CK_HW_FEATURE_TYPE = 2;
320320
pub const CKH_USER_INTERFACE: CK_HW_FEATURE_TYPE = 3;
321321
pub const CKH_VENDOR_DEFINED: CK_HW_FEATURE_TYPE = 2147483648;
322-
pub const CKH_HEDGE_PREFERRED: CK_HW_FEATURE_TYPE = 0;
323-
pub const CKH_HEDGE_REQUIRED: CK_HW_FEATURE_TYPE = 1;
324-
pub const CKH_DETERMINISTIC_REQUIRED: CK_HW_FEATURE_TYPE = 2;
322+
pub const CKH_HEDGE_PREFERRED: CK_HEDGE_TYPE = 0;
323+
pub const CKH_HEDGE_REQUIRED: CK_HEDGE_TYPE = 1;
324+
pub const CKH_DETERMINISTIC_REQUIRED: CK_HEDGE_TYPE = 2;
325325
pub const CKK_RSA: CK_KEY_TYPE = 0;
326326
pub const CKK_DSA: CK_KEY_TYPE = 1;
327327
pub const CKK_DH: CK_KEY_TYPE = 2;
@@ -902,24 +902,24 @@ pub const CKP_PKCS5_PBKD2_HMAC_SHA384: CK_PROFILE_ID = 5;
902902
pub const CKP_PKCS5_PBKD2_HMAC_SHA512: CK_PROFILE_ID = 6;
903903
pub const CKP_PKCS5_PBKD2_HMAC_SHA512_224: CK_PROFILE_ID = 7;
904904
pub const CKP_PKCS5_PBKD2_HMAC_SHA512_256: CK_PROFILE_ID = 8;
905-
pub const CKP_ML_DSA_44: CK_PROFILE_ID = 1;
906-
pub const CKP_ML_DSA_65: CK_PROFILE_ID = 2;
907-
pub const CKP_ML_DSA_87: CK_PROFILE_ID = 3;
908-
pub const CKP_ML_KEM_512: CK_PROFILE_ID = 1;
909-
pub const CKP_ML_KEM_768: CK_PROFILE_ID = 2;
910-
pub const CKP_ML_KEM_1024: CK_PROFILE_ID = 3;
911-
pub const CKP_SLH_DSA_SHA2_128S: CK_PROFILE_ID = 1;
912-
pub const CKP_SLH_DSA_SHAKE_128S: CK_PROFILE_ID = 2;
913-
pub const CKP_SLH_DSA_SHA2_128F: CK_PROFILE_ID = 3;
914-
pub const CKP_SLH_DSA_SHAKE_128F: CK_PROFILE_ID = 4;
915-
pub const CKP_SLH_DSA_SHA2_192S: CK_PROFILE_ID = 5;
916-
pub const CKP_SLH_DSA_SHAKE_192S: CK_PROFILE_ID = 6;
917-
pub const CKP_SLH_DSA_SHA2_192F: CK_PROFILE_ID = 7;
918-
pub const CKP_SLH_DSA_SHAKE_192F: CK_PROFILE_ID = 8;
919-
pub const CKP_SLH_DSA_SHA2_256S: CK_PROFILE_ID = 9;
920-
pub const CKP_SLH_DSA_SHAKE_256S: CK_PROFILE_ID = 10;
921-
pub const CKP_SLH_DSA_SHA2_256F: CK_PROFILE_ID = 11;
922-
pub const CKP_SLH_DSA_SHAKE_256F: CK_PROFILE_ID = 12;
905+
pub const CKP_ML_DSA_44: CK_ML_DSA_PARAMETER_SET_TYPE = 1;
906+
pub const CKP_ML_DSA_65: CK_ML_DSA_PARAMETER_SET_TYPE = 2;
907+
pub const CKP_ML_DSA_87: CK_ML_DSA_PARAMETER_SET_TYPE = 3;
908+
pub const CKP_ML_KEM_512: CK_ML_KEM_PARAMETER_SET_TYPE = 1;
909+
pub const CKP_ML_KEM_768: CK_ML_KEM_PARAMETER_SET_TYPE = 2;
910+
pub const CKP_ML_KEM_1024: CK_ML_KEM_PARAMETER_SET_TYPE = 3;
911+
pub const CKP_SLH_DSA_SHA2_128S: CK_SLH_DSA_PARAMETER_SET_TYPE = 1;
912+
pub const CKP_SLH_DSA_SHAKE_128S: CK_SLH_DSA_PARAMETER_SET_TYPE = 2;
913+
pub const CKP_SLH_DSA_SHA2_128F: CK_SLH_DSA_PARAMETER_SET_TYPE = 3;
914+
pub const CKP_SLH_DSA_SHAKE_128F: CK_SLH_DSA_PARAMETER_SET_TYPE = 4;
915+
pub const CKP_SLH_DSA_SHA2_192S: CK_SLH_DSA_PARAMETER_SET_TYPE = 5;
916+
pub const CKP_SLH_DSA_SHAKE_192S: CK_SLH_DSA_PARAMETER_SET_TYPE = 6;
917+
pub const CKP_SLH_DSA_SHA2_192F: CK_SLH_DSA_PARAMETER_SET_TYPE = 7;
918+
pub const CKP_SLH_DSA_SHAKE_192F: CK_SLH_DSA_PARAMETER_SET_TYPE = 8;
919+
pub const CKP_SLH_DSA_SHA2_256S: CK_SLH_DSA_PARAMETER_SET_TYPE = 9;
920+
pub const CKP_SLH_DSA_SHAKE_256S: CK_SLH_DSA_PARAMETER_SET_TYPE = 10;
921+
pub const CKP_SLH_DSA_SHA2_256F: CK_SLH_DSA_PARAMETER_SET_TYPE = 11;
922+
pub const CKP_SLH_DSA_SHAKE_256F: CK_SLH_DSA_PARAMETER_SET_TYPE = 12;
923923
pub const CKR_OK: CK_RV = 0;
924924
pub const CKR_CANCEL: CK_RV = 1;
925925
pub const CKR_HOST_MEMORY: CK_RV = 2;
@@ -1030,23 +1030,23 @@ pub const CKS_RO_USER_FUNCTIONS: CK_STATE = 1;
10301030
pub const CKS_RW_PUBLIC_SESSION: CK_STATE = 2;
10311031
pub const CKS_RW_USER_FUNCTIONS: CK_STATE = 3;
10321032
pub const CKS_RW_SO_FUNCTIONS: CK_STATE = 4;
1033-
pub const CKS_LAST_VALIDATION_OK: CK_STATE = 1;
1034-
pub const CKT_TRUST_UNKNOWN: u32 = 0;
1035-
pub const CKT_TRUSTED: u32 = 1;
1036-
pub const CKT_TRUST_ANCHOR: u32 = 2;
1037-
pub const CKT_NOT_TRUSTED: u32 = 3;
1038-
pub const CKT_TRUST_MUST_VERIFY_TRUST: u32 = 4;
1033+
pub const CKS_LAST_VALIDATION_OK: CK_SESSION_VALIDATION_FLAGS_TYPE = 1;
1034+
pub const CKT_TRUST_UNKNOWN: CK_TRUST = 0;
1035+
pub const CKT_TRUSTED: CK_TRUST = 1;
1036+
pub const CKT_TRUST_ANCHOR: CK_TRUST = 2;
1037+
pub const CKT_NOT_TRUSTED: CK_TRUST = 3;
1038+
pub const CKT_TRUST_MUST_VERIFY_TRUST: CK_TRUST = 4;
10391039
pub const CKU_SO: CK_USER_TYPE = 0;
10401040
pub const CKU_USER: CK_USER_TYPE = 1;
10411041
pub const CKU_CONTEXT_SPECIFIC: CK_USER_TYPE = 2;
1042-
pub const CKV_AUTHORITY_TYPE_UNSPECIFIED: CK_ULONG = 0;
1043-
pub const CKV_AUTHORITY_TYPE_NIST_CMVP: CK_ULONG = 1;
1044-
pub const CKV_AUTHORITY_TYPE_COMMON_CRITERIA: CK_ULONG = 2;
1045-
pub const CKV_TYPE_UNSPECIFIED: CK_ULONG = 0;
1046-
pub const CKV_TYPE_SOFTWARE: CK_ULONG = 1;
1047-
pub const CKV_TYPE_HARDWARE: CK_ULONG = 2;
1048-
pub const CKV_TYPE_FIRMWARE: CK_ULONG = 3;
1049-
pub const CKV_TYPE_HYBRID: CK_ULONG = 4;
1042+
pub const CKV_AUTHORITY_TYPE_UNSPECIFIED: CK_VALIDATION_AUTHORITY_TYPE = 0;
1043+
pub const CKV_AUTHORITY_TYPE_NIST_CMVP: CK_VALIDATION_AUTHORITY_TYPE = 1;
1044+
pub const CKV_AUTHORITY_TYPE_COMMON_CRITERIA: CK_VALIDATION_AUTHORITY_TYPE = 2;
1045+
pub const CKV_TYPE_UNSPECIFIED: CK_VALIDATION_TYPE = 0;
1046+
pub const CKV_TYPE_SOFTWARE: CK_VALIDATION_TYPE = 1;
1047+
pub const CKV_TYPE_HARDWARE: CK_VALIDATION_TYPE = 2;
1048+
pub const CKV_TYPE_FIRMWARE: CK_VALIDATION_TYPE = 3;
1049+
pub const CKV_TYPE_HYBRID: CK_VALIDATION_TYPE = 4;
10501050
pub const CKZ_DATA_SPECIFIED: CK_RSA_PKCS_OAEP_SOURCE_TYPE = 1;
10511051
pub const CKZ_SALT_SPECIFIED: CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE = 1;
10521052
pub type CK_BBOOL = ::std::os::raw::c_uchar;

cryptoki-sys/src/bindings/aarch64-unknown-linux-gnu.rs

Lines changed: 43 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -7,10 +7,10 @@ pub const CK_EFFECTIVELY_INFINITE: CK_ULONG = 0;
77
pub const CK_INVALID_HANDLE: CK_ULONG = 0;
88
pub const CK_TRUE: CK_BBOOL = 1;
99
pub const CK_FALSE: CK_BBOOL = 0;
10-
pub const CK_CERTIFICATE_CATEGORY_UNSPECIFIED: CK_ULONG = 0;
11-
pub const CK_CERTIFICATE_CATEGORY_TOKEN_USER: CK_ULONG = 1;
12-
pub const CK_CERTIFICATE_CATEGORY_AUTHORITY: CK_ULONG = 2;
13-
pub const CK_CERTIFICATE_CATEGORY_OTHER_ENTITY: CK_ULONG = 3;
10+
pub const CK_CERTIFICATE_CATEGORY_UNSPECIFIED: CK_CERTIFICATE_CATEGORY = 0;
11+
pub const CK_CERTIFICATE_CATEGORY_TOKEN_USER: CK_CERTIFICATE_CATEGORY = 1;
12+
pub const CK_CERTIFICATE_CATEGORY_AUTHORITY: CK_CERTIFICATE_CATEGORY = 2;
13+
pub const CK_CERTIFICATE_CATEGORY_OTHER_ENTITY: CK_CERTIFICATE_CATEGORY = 3;
1414
pub const CK_OTP_VALUE: CK_ULONG = 0;
1515
pub const CK_OTP_PIN: CK_ULONG = 1;
1616
pub const CK_OTP_CHALLENGE: CK_ULONG = 2;
@@ -26,10 +26,10 @@ pub const CK_OTP_FORMAT_BINARY: CK_ULONG = 3;
2626
pub const CK_OTP_PARAM_IGNORED: CK_ULONG = 0;
2727
pub const CK_OTP_PARAM_OPTIONAL: CK_ULONG = 1;
2828
pub const CK_OTP_PARAM_MANDATORY: CK_ULONG = 2;
29-
pub const CK_SECURITY_DOMAIN_UNSPECIFIED: CK_ULONG = 0;
30-
pub const CK_SECURITY_DOMAIN_MANUFACTURER: CK_ULONG = 1;
31-
pub const CK_SECURITY_DOMAIN_OPERATOR: CK_ULONG = 2;
32-
pub const CK_SECURITY_DOMAIN_THIRD_PARTY: CK_ULONG = 3;
29+
pub const CK_SECURITY_DOMAIN_UNSPECIFIED: CK_JAVA_MIDP_SECURITY_DOMAIN = 0;
30+
pub const CK_SECURITY_DOMAIN_MANUFACTURER: CK_JAVA_MIDP_SECURITY_DOMAIN = 1;
31+
pub const CK_SECURITY_DOMAIN_OPERATOR: CK_JAVA_MIDP_SECURITY_DOMAIN = 2;
32+
pub const CK_SECURITY_DOMAIN_THIRD_PARTY: CK_JAVA_MIDP_SECURITY_DOMAIN = 3;
3333
pub const CK_SP800_108_ITERATION_VARIABLE: CK_ULONG = 1;
3434
pub const CK_SP800_108_OPTIONAL_COUNTER: CK_ULONG = 2;
3535
pub const CK_SP800_108_COUNTER: CK_ULONG = 2;
@@ -319,9 +319,9 @@ pub const CKH_MONOTONIC_COUNTER: CK_HW_FEATURE_TYPE = 1;
319319
pub const CKH_CLOCK: CK_HW_FEATURE_TYPE = 2;
320320
pub const CKH_USER_INTERFACE: CK_HW_FEATURE_TYPE = 3;
321321
pub const CKH_VENDOR_DEFINED: CK_HW_FEATURE_TYPE = 2147483648;
322-
pub const CKH_HEDGE_PREFERRED: CK_HW_FEATURE_TYPE = 0;
323-
pub const CKH_HEDGE_REQUIRED: CK_HW_FEATURE_TYPE = 1;
324-
pub const CKH_DETERMINISTIC_REQUIRED: CK_HW_FEATURE_TYPE = 2;
322+
pub const CKH_HEDGE_PREFERRED: CK_HEDGE_TYPE = 0;
323+
pub const CKH_HEDGE_REQUIRED: CK_HEDGE_TYPE = 1;
324+
pub const CKH_DETERMINISTIC_REQUIRED: CK_HEDGE_TYPE = 2;
325325
pub const CKK_RSA: CK_KEY_TYPE = 0;
326326
pub const CKK_DSA: CK_KEY_TYPE = 1;
327327
pub const CKK_DH: CK_KEY_TYPE = 2;
@@ -902,24 +902,24 @@ pub const CKP_PKCS5_PBKD2_HMAC_SHA384: CK_PROFILE_ID = 5;
902902
pub const CKP_PKCS5_PBKD2_HMAC_SHA512: CK_PROFILE_ID = 6;
903903
pub const CKP_PKCS5_PBKD2_HMAC_SHA512_224: CK_PROFILE_ID = 7;
904904
pub const CKP_PKCS5_PBKD2_HMAC_SHA512_256: CK_PROFILE_ID = 8;
905-
pub const CKP_ML_DSA_44: CK_PROFILE_ID = 1;
906-
pub const CKP_ML_DSA_65: CK_PROFILE_ID = 2;
907-
pub const CKP_ML_DSA_87: CK_PROFILE_ID = 3;
908-
pub const CKP_ML_KEM_512: CK_PROFILE_ID = 1;
909-
pub const CKP_ML_KEM_768: CK_PROFILE_ID = 2;
910-
pub const CKP_ML_KEM_1024: CK_PROFILE_ID = 3;
911-
pub const CKP_SLH_DSA_SHA2_128S: CK_PROFILE_ID = 1;
912-
pub const CKP_SLH_DSA_SHAKE_128S: CK_PROFILE_ID = 2;
913-
pub const CKP_SLH_DSA_SHA2_128F: CK_PROFILE_ID = 3;
914-
pub const CKP_SLH_DSA_SHAKE_128F: CK_PROFILE_ID = 4;
915-
pub const CKP_SLH_DSA_SHA2_192S: CK_PROFILE_ID = 5;
916-
pub const CKP_SLH_DSA_SHAKE_192S: CK_PROFILE_ID = 6;
917-
pub const CKP_SLH_DSA_SHA2_192F: CK_PROFILE_ID = 7;
918-
pub const CKP_SLH_DSA_SHAKE_192F: CK_PROFILE_ID = 8;
919-
pub const CKP_SLH_DSA_SHA2_256S: CK_PROFILE_ID = 9;
920-
pub const CKP_SLH_DSA_SHAKE_256S: CK_PROFILE_ID = 10;
921-
pub const CKP_SLH_DSA_SHA2_256F: CK_PROFILE_ID = 11;
922-
pub const CKP_SLH_DSA_SHAKE_256F: CK_PROFILE_ID = 12;
905+
pub const CKP_ML_DSA_44: CK_ML_DSA_PARAMETER_SET_TYPE = 1;
906+
pub const CKP_ML_DSA_65: CK_ML_DSA_PARAMETER_SET_TYPE = 2;
907+
pub const CKP_ML_DSA_87: CK_ML_DSA_PARAMETER_SET_TYPE = 3;
908+
pub const CKP_ML_KEM_512: CK_ML_KEM_PARAMETER_SET_TYPE = 1;
909+
pub const CKP_ML_KEM_768: CK_ML_KEM_PARAMETER_SET_TYPE = 2;
910+
pub const CKP_ML_KEM_1024: CK_ML_KEM_PARAMETER_SET_TYPE = 3;
911+
pub const CKP_SLH_DSA_SHA2_128S: CK_SLH_DSA_PARAMETER_SET_TYPE = 1;
912+
pub const CKP_SLH_DSA_SHAKE_128S: CK_SLH_DSA_PARAMETER_SET_TYPE = 2;
913+
pub const CKP_SLH_DSA_SHA2_128F: CK_SLH_DSA_PARAMETER_SET_TYPE = 3;
914+
pub const CKP_SLH_DSA_SHAKE_128F: CK_SLH_DSA_PARAMETER_SET_TYPE = 4;
915+
pub const CKP_SLH_DSA_SHA2_192S: CK_SLH_DSA_PARAMETER_SET_TYPE = 5;
916+
pub const CKP_SLH_DSA_SHAKE_192S: CK_SLH_DSA_PARAMETER_SET_TYPE = 6;
917+
pub const CKP_SLH_DSA_SHA2_192F: CK_SLH_DSA_PARAMETER_SET_TYPE = 7;
918+
pub const CKP_SLH_DSA_SHAKE_192F: CK_SLH_DSA_PARAMETER_SET_TYPE = 8;
919+
pub const CKP_SLH_DSA_SHA2_256S: CK_SLH_DSA_PARAMETER_SET_TYPE = 9;
920+
pub const CKP_SLH_DSA_SHAKE_256S: CK_SLH_DSA_PARAMETER_SET_TYPE = 10;
921+
pub const CKP_SLH_DSA_SHA2_256F: CK_SLH_DSA_PARAMETER_SET_TYPE = 11;
922+
pub const CKP_SLH_DSA_SHAKE_256F: CK_SLH_DSA_PARAMETER_SET_TYPE = 12;
923923
pub const CKR_OK: CK_RV = 0;
924924
pub const CKR_CANCEL: CK_RV = 1;
925925
pub const CKR_HOST_MEMORY: CK_RV = 2;
@@ -1030,23 +1030,23 @@ pub const CKS_RO_USER_FUNCTIONS: CK_STATE = 1;
10301030
pub const CKS_RW_PUBLIC_SESSION: CK_STATE = 2;
10311031
pub const CKS_RW_USER_FUNCTIONS: CK_STATE = 3;
10321032
pub const CKS_RW_SO_FUNCTIONS: CK_STATE = 4;
1033-
pub const CKS_LAST_VALIDATION_OK: CK_STATE = 1;
1034-
pub const CKT_TRUST_UNKNOWN: u32 = 0;
1035-
pub const CKT_TRUSTED: u32 = 1;
1036-
pub const CKT_TRUST_ANCHOR: u32 = 2;
1037-
pub const CKT_NOT_TRUSTED: u32 = 3;
1038-
pub const CKT_TRUST_MUST_VERIFY_TRUST: u32 = 4;
1033+
pub const CKS_LAST_VALIDATION_OK: CK_SESSION_VALIDATION_FLAGS_TYPE = 1;
1034+
pub const CKT_TRUST_UNKNOWN: CK_TRUST = 0;
1035+
pub const CKT_TRUSTED: CK_TRUST = 1;
1036+
pub const CKT_TRUST_ANCHOR: CK_TRUST = 2;
1037+
pub const CKT_NOT_TRUSTED: CK_TRUST = 3;
1038+
pub const CKT_TRUST_MUST_VERIFY_TRUST: CK_TRUST = 4;
10391039
pub const CKU_SO: CK_USER_TYPE = 0;
10401040
pub const CKU_USER: CK_USER_TYPE = 1;
10411041
pub const CKU_CONTEXT_SPECIFIC: CK_USER_TYPE = 2;
1042-
pub const CKV_AUTHORITY_TYPE_UNSPECIFIED: CK_ULONG = 0;
1043-
pub const CKV_AUTHORITY_TYPE_NIST_CMVP: CK_ULONG = 1;
1044-
pub const CKV_AUTHORITY_TYPE_COMMON_CRITERIA: CK_ULONG = 2;
1045-
pub const CKV_TYPE_UNSPECIFIED: CK_ULONG = 0;
1046-
pub const CKV_TYPE_SOFTWARE: CK_ULONG = 1;
1047-
pub const CKV_TYPE_HARDWARE: CK_ULONG = 2;
1048-
pub const CKV_TYPE_FIRMWARE: CK_ULONG = 3;
1049-
pub const CKV_TYPE_HYBRID: CK_ULONG = 4;
1042+
pub const CKV_AUTHORITY_TYPE_UNSPECIFIED: CK_VALIDATION_AUTHORITY_TYPE = 0;
1043+
pub const CKV_AUTHORITY_TYPE_NIST_CMVP: CK_VALIDATION_AUTHORITY_TYPE = 1;
1044+
pub const CKV_AUTHORITY_TYPE_COMMON_CRITERIA: CK_VALIDATION_AUTHORITY_TYPE = 2;
1045+
pub const CKV_TYPE_UNSPECIFIED: CK_VALIDATION_TYPE = 0;
1046+
pub const CKV_TYPE_SOFTWARE: CK_VALIDATION_TYPE = 1;
1047+
pub const CKV_TYPE_HARDWARE: CK_VALIDATION_TYPE = 2;
1048+
pub const CKV_TYPE_FIRMWARE: CK_VALIDATION_TYPE = 3;
1049+
pub const CKV_TYPE_HYBRID: CK_VALIDATION_TYPE = 4;
10501050
pub const CKZ_DATA_SPECIFIED: CK_RSA_PKCS_OAEP_SOURCE_TYPE = 1;
10511051
pub const CKZ_SALT_SPECIFIED: CK_PKCS5_PBKDF2_SALT_SOURCE_TYPE = 1;
10521052
pub type CK_BBOOL = ::std::os::raw::c_uchar;

0 commit comments

Comments
 (0)