OASIS PKCS 11 TC

 View Only
  • 1.  Header file updates for various PKCS #11 v3.2 proposals

    Posted 01-02-2025 11:16

    I have reviewed a few more proposal for PKCS #11 v3.2 to see whether they come with new identifiers, and whether such identifiers have been allocated in header files:

    • Work item 1: allocated
    • Work item 4: most new identifiers have been allocated, but
      • New typedefs for CK_VALIDATION_TYPE, CK_VALIDATION_TYPE_PTR, CK_VALIDATION_AUTHORITY_TYPE, CK_VALIDATION_AUTHORITY_TYPE_PTR and CK_SESSION_VALIDATION_FLAGS_TYPE are defined in the specification, but I cannot find them in any include file. Please double-check.
      • The property file fips140_3.prop line 32 states "CKA_VALIDATION_VENDOR URI" instead of "CKA_VALIDATION_VENDOR_URI". As a result, pkcs11t.h includes the new identifier "CKA_VALIDATION_VENDOR" instead of "CKA_VALIDATION_VENDOR_URI". Please update the property file.
    • Work item 5: allocated
    • Work item 9: no new identifier
    • Work item 10: allocated
    • Work item 12: it seems I cannot find the new identifier CKA_PUBLIC_CRC64_VALUE. Please double-check.
    • Work item 14: allocated
    • Work item 21: no new identifier

    I have updated the Header File Reviewed By column on our wiki 3.2 page for work items 1, 5, 9, 10, 14 and 21 accordingly.



    ------------------------------
    Best regards,
    Dieter
    ------------------------------


  • 2.  RE: Header file updates for various PKCS #11 v3.2 proposals

    Posted 01-06-2025 09:12

    Continuing my review:

    • Work item 6.1: allocated
    • Work item 6.2: allocated
    • Work item 6.3: allocated
    • Work item 6.4: no new identifier
    • Work item 8: allocated, but the identifier CKT_TRUSTED_DELEGATOR has been allocated as CKT_TRUST_ANCHOR in the property file trust_objects.prop
    • Work item 11: allocated, but: New typedefs for CK_XMSS_OID and CK_XMSSMT_OID have been defined in the header file pkcs11t.h. But these typedefs date back to the XMSS proposal 1 from 2023. The XMSS proposal 2 from 2024 uses CK_XMSS_PARAMETER_SET_TYPE and CK_XMSSMT_PARAMETER_SET_TYPE instead. Please double-check and update the typedefs. 

    I have updated the Header File Reviewed By column on our wiki 3.2 page for work items 6.1, 6.2, 6.3 and 6.4 accordingly in green. This time, I have additionally marked my review for work items 4, 8, 11 and 12, and for Darren's review of work item 17, in orange to indicate that the identifier definitions for these proposals need review / updates.



    ------------------------------
    Best regards,
    Dieter
    ------------------------------



  • 3.  RE: Header file updates for various PKCS #11 v3.2 proposals

    Posted 01-08-2025 03:49

    And finally

    • Work item 20: allocated, but there is a discrepancy in the typedef for the hedge type: CK_HEDGE_TYPE in the specification vs. CK_HEDGE_TYPES in the header file. My preference would be using CK_HEDGE_TYPE.



    ------------------------------
    Best regards,
    Dieter
    ------------------------------



  • 4.  RE: Header file updates for various PKCS #11 v3.2 proposals

    Posted 01-21-2025 20:08

    All the issues Dieter identified should be now fixed.

    CKT_TRUST_ANCHOR should be the correct defined and should be updated in the spec.

    I've also added CKA_SEED and renamed CKA_VALIDATION_FLAGS to CKA_OBJECT_VALIDATION_FLAGS in the header/database/proposals as we approved in the last meeting.

    This results in the following autocheck between the headerfile and -08:

    /parse_doc.pl pkcs11-spec-v3.2-wd08.txt
    Processing header ../headers/pkcs11t.h...
    #define CKA_VALIDATION_FLAGS                     UNDEFINED missing from header ../headers/pkcs11t.h
    #define CKK_ECDSA                                UNDEFINED missing from header ../headers/pkcs11t.h
    #define CKM_RSA_PKCS                             mismatched values, pkcs11-spec-v3.2-wd08.txt=0x00000015UL ../headers/pkcs11t.h=0x00000001UL
    #define CKM_RSA_PKCS_OAEP                        mismatched values, pkcs11-spec-v3.2-wd08.txt=0x00000015UL ../headers/pkcs11t.h=0x00000009UL
    #define CKM_RSA_PKCS_OAEP_TPM_1_1                mismatched values, pkcs11-spec-v3.2-wd08.txt=0x00000015UL ../headers/pkcs11t.h=0x00004002UL
    #define CKM_RSA_PKCS_TPM_1_1                     mismatched values, pkcs11-spec-v3.2-wd08.txt=0x00000015UL ../headers/pkcs11t.h=0x00004001UL
    #define CKM_RSA_X_509                            mismatched values, pkcs11-spec-v3.2-wd08.txt=0x00000015UL ../headers/pkcs11t.h=0x00000003UL
    86 defines in header (../headers/pkcs11t.h) and not in doc (pkcs11-spec-v3.2-wd08.txt)

    typedef diffs from doc(pkcs11-spec-v3.2-wd08.txt) and header file(../headers/pkcs11t.h)
    typedef (typedef CK_OTP_PARAM_TYPE CK_PARAM_TYPE;) missing from doc pkcs11-spec-v3.2-wd08.txt
    typedef (typedef CK_ULONG CK_HSS_LEVELS;) missing from doc pkcs11-spec-v3.2-wd08.txt
    typedef (typedef CK_ULONG CK_LMOTS_TYPE;) missing from doc pkcs11-spec-v3.2-wd08.txt
    typedef (typedef CK_ULONG CK_LMS_TYPE;) missing from doc pkcs11-spec-v3.2-wd08.txt
    typedef (typedef CK_ULONG CK_RC2_PARAMS;) missing from doc pkcs11-spec-v3.2-wd08.txt
     108 occurances of (typedef {ID} CK_PTR {ID}_PTR;) missing from pkcs11-spec-v3.2-wd08.txt

    missing struct 'CK_CCM_WRAP_PARAMS' in header ../headers/pkcs11t.h
    mismatched struct entry in struct CK_HASH_SIGN_ADDITIONAL_CONTEXT line 3:
       header 'CK_MECHANISM_TYPE hash;' (../headers/pkcs11t.h)
       doc    'CK_MECHANISM_TYPE hash' (pkcs11-spec-v3.2-wd08.txt)
    13 structs in header (../headers/pkcs11t.h) and not in doc (pkcs11-spec-v3.2-wd08.txt)

    ---------------------------

    The only critical issue is the rename of CKA_VALIDATION_FLAGS, which we did after -08 was published.

    I need to investigate CK_CCM_WRAP_PARAMS. It is missing from the header. I just need to make sure I should be in the spec. If so, I'll had it to the headers).

    (we should also probably add the ';' to the hash description above)

    The missing HSS and LMOTS and RC2 defines are likely referenced in the spec without any actual typedef in the spec (and existing issue).

    CKK_ECDSA is a false positive. It's in the header, marked 'depricated' which causes it to drop out of the define list. The spec references it once saying it's deprecated in favor of CKK_EC.

    I have reviewed a few more proposal for PKCS #11 v3.2 to see whether they come with new identifiers, and whether such identifiers have been allocated in header files:

    • Work item 1: allocated
    • Work item 4: most new identifiers have been allocated, but
      • New typedefs for CK_VALIDATION_TYPE, CK_VALIDATION_TYPE_PTR, CK_VALIDATION_AUTHORITY_TYPE, CK_VALIDATION_AUTHORITY_TYPE_PTR and CK_SESSION_VALIDATION_FLAGS_TYPE are defined in the specification, but I cannot find them in any include file. Please double-check.
      • The property file fips140_3.prop line 32 states "CKA_VALIDATION_VENDOR URI" instead of "CKA_VALIDATION_VENDOR_URI". As a result, pkcs11t.h includes the new identifier "CKA_VALIDATION_VENDOR" instead of "CKA_VALIDATION_VENDOR_URI". Please update the property file.
    These were all valid issues which should now be fixed.


    • Work item 5: allocated
    • Work item 9: no new identifier
    • Work item 10: allocated
    • Work item 12: it seems I cannot find the new identifier CKA_PUBLIC_CRC64_VALUE. Please double-check.
    Completely missed that that proposal had an attribute. Now allocated:

    In accordance to our standing rules, the following identifiers have been
    allocated for your proposal "Public Private Key Object Linking".

    Attributes:

     #define CKA_PUBLIC_CRC64_VALUE 0x00000636UL

    This represents the following changes to your original proposal:
        CKA_PUBLIC_CRC64_VALUE was allocated 0x636 because no number was proposed

    Please update your spec before sending it to ballot.

    • Work item 14: allocated
    • Work item 21: no new identifier

    I have updated the Header File Reviewed By column on our wiki 3.2 page for work items 1, 5, 9, 10, 14 and 21 accordingly.

    Continuing my review:

    • Work item 6.1: allocated
    • Work item 6.2: allocated
    • Work item 6.3: allocated
    • Work item 6.4: no new identifier
    • Work item 8: allocated, but the identifier CKT_TRUSTED_DELEGATOR has been allocated as CKT_TRUST_ANCHOR in the property file trust_objects.prop
    Jonanthan had requested CKT_TRUST_ANCHOR, and it made it into the .prop. We should update the spec value to CKA_TRUST_ANCHOR.
    • Work item 11: allocated, but: New typedefs for CK_XMSS_OID and CK_XMSSMT_OID have been defined in the header file pkcs11t.h. But these typedefs date back to the XMSS proposal 1 from 2023. The XMSS proposal 2 from 2024 uses CK_XMSS_PARAMETER_SET_TYPE and CK_XMSSMT_PARAMETER_SET_TYPE instead. Please double-check and update the typedefs.
    Yes, I missed the change for the header.

    Fixed.

    I have updated the Header File Reviewed By column on our wiki 3.2 page for work items 6.1, 6.2, 6.3 and 6.4 accordingly in green. This time, I have additionally marked my review for work items 4, 8, 11 and 12, and for Darren's review of work item 17, in orange to indicate that the identifier definitions for these proposals need review / updates.







  • 5.  RE: Header file updates for various PKCS #11 v3.2 proposals

    Posted 01-22-2025 17:02
    On 1/21/25 5:08 PM, Robert Relyea wrote:
    >
    > missing struct 'CK_CCM_WRAP_PARAMS' in header ../headers/pkcs11t.h
    > mismatched struct entry in struct CK_HASH_SIGN_ADDITIONAL_CONTEXT line 3:
    >    header 'CK_MECHANISM_TYPE hash;' (../headers/pkcs11t.h)
    >    doc    'CK_MECHANISM_TYPE hash' (pkcs11-spec-v3.2-wd08.txt)
    > 13 structs in header (../headers/pkcs11t.h) and not in doc
    > (pkcs11-spec-v3.2-wd08.txt)
    >
    Just pushed another update to the header file fixing the above missing
    CK_CCM_WRAP_PARAMS.

    CK_CCM_WRAP_PARAMS was part of Hamishes 'MessageWrap' proposal.
    CK_GCM_WRAP_PARAMS got picked up, but CK_CCM got picked up.

    Also, Darren's SP800 key handle type was missing (I couldn't find a
    comment from Darren but I'm sure he sent one because his review for the
    header on that document is orange).

    This will be the last update until I return in February.

    bob




  • 6.  RE: Header file updates for various PKCS #11 v3.2 proposals

    Posted 01-30-2025 03:57

    I've reviewed all updates Bob did on the header files, and confirm that specification and header files now match. I have marked all "Header File Reviewed By" columns green, including the one for work item #17 which was confirmed by Darren in the TC meeting 29 Jan 2025.



    ------------------------------
    Best regards,
    Dieter
    ------------------------------