⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 pkcs11-display.c

📁 读写Smart卡加解密接口的程序
💻 C
📖 第 1 页 / 共 3 页
字号:
  { CKM_IDEA_CBC                 , "CKM_IDEA_CBC                 " },  { CKM_IDEA_MAC                 , "CKM_IDEA_MAC                 " },  { CKM_IDEA_MAC_GENERAL         , "CKM_IDEA_MAC_GENERAL         " },  { CKM_IDEA_CBC_PAD             , "CKM_IDEA_CBC_PAD             " },  { CKM_GENERIC_SECRET_KEY_GEN   , "CKM_GENERIC_SECRET_KEY_GEN   " },  { CKM_CONCATENATE_BASE_AND_KEY , "CKM_CONCATENATE_BASE_AND_KEY " },  { CKM_CONCATENATE_BASE_AND_DATA, "CKM_CONCATENATE_BASE_AND_DATA" },  { CKM_CONCATENATE_DATA_AND_BASE, "CKM_CONCATENATE_DATA_AND_BASE" },  { CKM_XOR_BASE_AND_DATA        , "CKM_XOR_BASE_AND_DATA        " },  { CKM_EXTRACT_KEY_FROM_KEY     , "CKM_EXTRACT_KEY_FROM_KEY     " },  { CKM_SSL3_PRE_MASTER_KEY_GEN  , "CKM_SSL3_PRE_MASTER_KEY_GEN  " },  { CKM_SSL3_MASTER_KEY_DERIVE   , "CKM_SSL3_MASTER_KEY_DERIVE   " },  { CKM_SSL3_KEY_AND_MAC_DERIVE  , "CKM_SSL3_KEY_AND_MAC_DERIVE  " },  { CKM_SSL3_MASTER_KEY_DERIVE_DH, "CKM_SSL3_MASTER_KEY_DERIVE_DH" },  { CKM_TLS_PRE_MASTER_KEY_GEN   , "CKM_TLS_PRE_MASTER_KEY_GEN   " },  { CKM_TLS_MASTER_KEY_DERIVE    , "CKM_TLS_MASTER_KEY_DERIVE    " },  { CKM_TLS_KEY_AND_MAC_DERIVE   , "CKM_TLS_KEY_AND_MAC_DERIVE   " },  { CKM_TLS_MASTER_KEY_DERIVE_DH , "CKM_TLS_MASTER_KEY_DERIVE_DH " },  { CKM_SSL3_MD5_MAC             , "CKM_SSL3_MD5_MAC             " },  { CKM_SSL3_SHA1_MAC            , "CKM_SSL3_SHA1_MAC            " },  { CKM_MD5_KEY_DERIVATION       , "CKM_MD5_KEY_DERIVATION       " },  { CKM_MD2_KEY_DERIVATION       , "CKM_MD2_KEY_DERIVATION       " },  { CKM_SHA1_KEY_DERIVATION      , "CKM_SHA1_KEY_DERIVATION      " },  { CKM_PBE_MD2_DES_CBC          , "CKM_PBE_MD2_DES_CBC          " },  { CKM_PBE_MD5_DES_CBC          , "CKM_PBE_MD5_DES_CBC          " },  { CKM_PBE_MD5_CAST_CBC         , "CKM_PBE_MD5_CAST_CBC         " },  { CKM_PBE_MD5_CAST3_CBC        , "CKM_PBE_MD5_CAST3_CBC        " },  { CKM_PBE_MD5_CAST5_CBC        , "CKM_PBE_MD5_CAST5_CBC        " },  { CKM_PBE_MD5_CAST128_CBC      , "CKM_PBE_MD5_CAST128_CBC      " },  { CKM_PBE_SHA1_CAST5_CBC       , "CKM_PBE_SHA1_CAST5_CBC       " },  { CKM_PBE_SHA1_CAST128_CBC     , "CKM_PBE_SHA1_CAST128_CBC     " },  { CKM_PBE_SHA1_RC4_128         , "CKM_PBE_SHA1_RC4_128         " },  { CKM_PBE_SHA1_RC4_40          , "CKM_PBE_SHA1_RC4_40          " },  { CKM_PBE_SHA1_DES3_EDE_CBC    , "CKM_PBE_SHA1_DES3_EDE_CBC    " },  { CKM_PBE_SHA1_DES2_EDE_CBC    , "CKM_PBE_SHA1_DES2_EDE_CBC    " },  { CKM_PBE_SHA1_RC2_128_CBC     , "CKM_PBE_SHA1_RC2_128_CBC     " },  { CKM_PBE_SHA1_RC2_40_CBC      , "CKM_PBE_SHA1_RC2_40_CBC      " },  { CKM_PKCS5_PBKD2              , "CKM_PKCS5_PBKD2              " },  { CKM_PBA_SHA1_WITH_SHA1_HMAC  , "CKM_PBA_SHA1_WITH_SHA1_HMAC  " },  { CKM_KEY_WRAP_LYNKS           , "CKM_KEY_WRAP_LYNKS           " },  { CKM_KEY_WRAP_SET_OAEP        , "CKM_KEY_WRAP_SET_OAEP        " },  { CKM_SKIPJACK_KEY_GEN         , "CKM_SKIPJACK_KEY_GEN         " },  { CKM_SKIPJACK_ECB64           , "CKM_SKIPJACK_ECB64           " },  { CKM_SKIPJACK_CBC64           , "CKM_SKIPJACK_CBC64           " },  { CKM_SKIPJACK_OFB64           , "CKM_SKIPJACK_OFB64           " },  { CKM_SKIPJACK_CFB64           , "CKM_SKIPJACK_CFB64           " },  { CKM_SKIPJACK_CFB32           , "CKM_SKIPJACK_CFB32           " },  { CKM_SKIPJACK_CFB16           , "CKM_SKIPJACK_CFB16           " },  { CKM_SKIPJACK_CFB8            , "CKM_SKIPJACK_CFB8            " },  { CKM_SKIPJACK_WRAP            , "CKM_SKIPJACK_WRAP            " },  { CKM_SKIPJACK_PRIVATE_WRAP    , "CKM_SKIPJACK_PRIVATE_WRAP    " },  { CKM_SKIPJACK_RELAYX          , "CKM_SKIPJACK_RELAYX          " },  { CKM_KEA_KEY_PAIR_GEN         , "CKM_KEA_KEY_PAIR_GEN         " },  { CKM_KEA_KEY_DERIVE           , "CKM_KEA_KEY_DERIVE           " },  { CKM_FORTEZZA_TIMESTAMP       , "CKM_FORTEZZA_TIMESTAMP       " },  { CKM_BATON_KEY_GEN            , "CKM_BATON_KEY_GEN            " },  { CKM_BATON_ECB128             , "CKM_BATON_ECB128             " },  { CKM_BATON_ECB96              , "CKM_BATON_ECB96              " },  { CKM_BATON_CBC128             , "CKM_BATON_CBC128             " },  { CKM_BATON_COUNTER            , "CKM_BATON_COUNTER            " },  { CKM_BATON_SHUFFLE            , "CKM_BATON_SHUFFLE            " },  { CKM_BATON_WRAP               , "CKM_BATON_WRAP               " },  { CKM_EC_KEY_PAIR_GEN          , "CKM_EC_KEY_PAIR_GEN          " },  { CKM_ECDSA                    , "CKM_ECDSA                    " },  { CKM_ECDSA_SHA1               , "CKM_ECDSA_SHA1               " },  { CKM_ECDH1_DERIVE             , "CKM_ECDH1_DERIVE             " },  { CKM_ECDH1_COFACTOR_DERIVE    , "CKM_ECDH1_COFACTOR_DERIVE    " },  { CKM_ECMQV_DERIVE             , "CKM_ECMQV_DERIVE             " },  { CKM_JUNIPER_KEY_GEN          , "CKM_JUNIPER_KEY_GEN          " },  { CKM_JUNIPER_ECB128           , "CKM_JUNIPER_ECB128           " },  { CKM_JUNIPER_CBC128           , "CKM_JUNIPER_CBC128           " },  { CKM_JUNIPER_COUNTER          , "CKM_JUNIPER_COUNTER          " },  { CKM_JUNIPER_SHUFFLE          , "CKM_JUNIPER_SHUFFLE          " },  { CKM_JUNIPER_WRAP             , "CKM_JUNIPER_WRAP             " },  { CKM_FASTHASH                 , "CKM_FASTHASH                 " },  { CKM_AES_KEY_GEN              , "CKM_AES_KEY_GEN              " },  { CKM_AES_ECB                  , "CKM_AES_ECB                  " },   { CKM_AES_CBC                  , "CKM_AES_CBC                  " },  { CKM_AES_MAC                  , "CKM_AES_MAC                  " },  { CKM_AES_MAC_GENERAL          , "CKM_AES_MAC_GENERAL          " },  { CKM_AES_CBC_PAD              , "CKM_AES_CBC_PAD              " },  { CKM_DSA_PARAMETER_GEN        , "CKM_DSA_PARAMETER_GEN        " },  { CKM_DH_PKCS_PARAMETER_GEN    , "CKM_DH_PKCS_PARAMETER_GEN    " },  { CKM_X9_42_DH_PARAMETER_GEN   , "CKM_X9_42_DH_PARAMETER_GEN   " },  { CKM_VENDOR_DEFINED           , "CKM_VENDOR_DEFINED           " }};enum_specs ck_err_s[] = {  { CKR_OK,                               "CKR_OK" },  { CKR_CANCEL,                           "CKR_CANCEL" },  { CKR_HOST_MEMORY,                      "CKR_HOST_MEMORY" },  { CKR_SLOT_ID_INVALID,                  "CKR_SLOT_ID_INVALID" },  { CKR_GENERAL_ERROR,                    "CKR_GENERAL_ERROR" },  { CKR_FUNCTION_FAILED,                  "CKR_FUNCTION_FAILED" },  { CKR_ARGUMENTS_BAD,                    "CKR_ARGUMENTS_BAD" },  { CKR_NO_EVENT,                         "CKR_NO_EVENT" },  { CKR_NEED_TO_CREATE_THREADS,           "CKR_NEED_TO_CREATE_THREADS" },  { CKR_CANT_LOCK,                        "CKR_CANT_LOCK" },  { CKR_ATTRIBUTE_READ_ONLY,              "CKR_ATTRIBUTE_READ_ONLY" },  { CKR_ATTRIBUTE_SENSITIVE,              "CKR_ATTRIBUTE_SENSITIVE" },  { CKR_ATTRIBUTE_TYPE_INVALID,           "CKR_ATTRIBUTE_TYPE_INVALID" },  { CKR_ATTRIBUTE_VALUE_INVALID,          "CKR_ATTRIBUTE_VALUE_INVALID" },  { CKR_DATA_INVALID,                     "CKR_DATA_INVALID" },  { CKR_DATA_LEN_RANGE,                   "CKR_DATA_LEN_RANGE" },  { CKR_DEVICE_ERROR,                     "CKR_DEVICE_ERROR" },  { CKR_DEVICE_MEMORY,                    "CKR_DEVICE_MEMORY" },  { CKR_DEVICE_REMOVED,                   "CKR_DEVICE_REMOVED" },  { CKR_ENCRYPTED_DATA_INVALID,           "CKR_ENCRYPTED_DATA_INVALID" },  { CKR_ENCRYPTED_DATA_LEN_RANGE,         "CKR_ENCRYPTED_DATA_LEN_RANGE" },  { CKR_FUNCTION_CANCELED,                "CKR_FUNCTION_CANCELED" },  { CKR_FUNCTION_NOT_PARALLEL,            "CKR_FUNCTION_NOT_PARALLEL" },  { CKR_FUNCTION_NOT_SUPPORTED,           "CKR_FUNCTION_NOT_SUPPORTED" },  { CKR_KEY_HANDLE_INVALID,               "CKR_KEY_HANDLE_INVALID" },  { CKR_KEY_SIZE_RANGE,                   "CKR_KEY_SIZE_RANGE" },  { CKR_KEY_TYPE_INCONSISTENT,            "CKR_KEY_TYPE_INCONSISTENT" },  { CKR_KEY_NOT_NEEDED,                   "CKR_KEY_NOT_NEEDED" },  { CKR_KEY_CHANGED,                      "CKR_KEY_CHANGED" },  { CKR_KEY_NEEDED,                       "CKR_KEY_NEEDED" },  { CKR_KEY_INDIGESTIBLE,                 "CKR_KEY_INDIGESTIBLE" },  { CKR_KEY_FUNCTION_NOT_PERMITTED,       "CKR_KEY_FUNCTION_NOT_PERMITTED" },  { CKR_KEY_NOT_WRAPPABLE,                "CKR_KEY_NOT_WRAPPABLE" },  { CKR_KEY_UNEXTRACTABLE,                "CKR_KEY_UNEXTRACTABLE" },  { CKR_MECHANISM_INVALID,                "CKR_MECHANISM_INVALID" },  { CKR_MECHANISM_PARAM_INVALID,          "CKR_MECHANISM_PARAM_INVALID" },  { CKR_OBJECT_HANDLE_INVALID,            "CKR_OBJECT_HANDLE_INVALID" },  { CKR_OPERATION_ACTIVE,                 "CKR_OPERATION_ACTIVE" },  { CKR_OPERATION_NOT_INITIALIZED,        "CKR_OPERATION_NOT_INITIALIZED" },  { CKR_PIN_INCORRECT,                    "CKR_PIN_INCORRECT" },  { CKR_PIN_INVALID,                      "CKR_PIN_INVALID" },  { CKR_PIN_LEN_RANGE,                    "CKR_PIN_LEN_RANGE" },  { CKR_PIN_EXPIRED,                      "CKR_PIN_EXPIRED" },  { CKR_PIN_LOCKED,                       "CKR_PIN_LOCKED" },  { CKR_SESSION_CLOSED,                   "CKR_SESSION_CLOSED" },  { CKR_SESSION_COUNT,                    "CKR_SESSION_COUNT" },  { CKR_SESSION_HANDLE_INVALID,           "CKR_SESSION_HANDLE_INVALID" },  { CKR_SESSION_PARALLEL_NOT_SUPPORTED,   "CKR_SESSION_PARALLEL_NOT_SUPPORTED" },  { CKR_SESSION_READ_ONLY,                "CKR_SESSION_READ_ONLY" },  { CKR_SESSION_EXISTS,                   "CKR_SESSION_EXISTS" },  { CKR_SESSION_READ_ONLY_EXISTS,         "CKR_SESSION_READ_ONLY_EXISTS" },  { CKR_SESSION_READ_WRITE_SO_EXISTS,     "CKR_SESSION_READ_WRITE_SO_EXISTS" },  { CKR_SIGNATURE_INVALID,                "CKR_SIGNATURE_INVALID" },  { CKR_SIGNATURE_LEN_RANGE,              "CKR_SIGNATURE_LEN_RANGE" },  { CKR_TEMPLATE_INCOMPLETE,              "CKR_TEMPLATE_INCOMPLETE" },  { CKR_TEMPLATE_INCONSISTENT,            "CKR_TEMPLATE_INCONSISTENT" },  { CKR_TOKEN_NOT_PRESENT,                "CKR_TOKEN_NOT_PRESENT" },  { CKR_TOKEN_NOT_RECOGNIZED,             "CKR_TOKEN_NOT_RECOGNIZED" },  { CKR_TOKEN_WRITE_PROTECTED,            "CKR_TOKEN_WRITE_PROTECTED" },  { CKR_UNWRAPPING_KEY_HANDLE_INVALID,    "CKR_UNWRAPPING_KEY_HANDLE_INVALID" },  { CKR_UNWRAPPING_KEY_SIZE_RANGE,        "CKR_UNWRAPPING_KEY_SIZE_RANGE" },  { CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT, "CKR_UNWRAPPING_KEY_TYPE_INCONSISTENT" },  { CKR_USER_ALREADY_LOGGED_IN,           "CKR_USER_ALREADY_LOGGED_IN" },  { CKR_USER_NOT_LOGGED_IN,               "CKR_USER_NOT_LOGGED_IN" },  { CKR_USER_PIN_NOT_INITIALIZED,         "CKR_USER_PIN_NOT_INITIALIZED" },  { CKR_USER_TYPE_INVALID,                "CKR_USER_TYPE_INVALID" },  { CKR_USER_ANOTHER_ALREADY_LOGGED_IN,   "CKR_USER_ANOTHER_ALREADY_LOGGED_IN" },  { CKR_USER_TOO_MANY_TYPES,              "CKR_USER_TOO_MANY_TYPES" },  { CKR_WRAPPED_KEY_INVALID,              "CKR_WRAPPED_KEY_INVALID" },  { CKR_WRAPPED_KEY_LEN_RANGE,            "CKR_WRAPPED_KEY_LEN_RANGE" },  { CKR_WRAPPING_KEY_HANDLE_INVALID,      "CKR_WRAPPING_KEY_HANDLE_INVALID" },  { CKR_WRAPPING_KEY_SIZE_RANGE,          "CKR_WRAPPING_KEY_SIZE_RANGE" },  { CKR_WRAPPING_KEY_TYPE_INCONSISTENT,   "CKR_WRAPPING_KEY_TYPE_INCONSISTENT" },  { CKR_RANDOM_SEED_NOT_SUPPORTED,        "CKR_RANDOM_SEED_NOT_SUPPORTED" },  { CKR_RANDOM_NO_RNG,                    "CKR_RANDOM_NO_RNG" },  { CKR_DOMAIN_PARAMS_INVALID,            "CKR_DOMAIN_PARAMS_INVALID" },  { CKR_BUFFER_TOO_SMALL,                 "CKR_BUFFER_TOO_SMALL" },  { CKR_SAVED_STATE_INVALID,              "CKR_SAVED_STATE_INVALID" },  { CKR_INFORMATION_SENSITIVE,            "CKR_INFORMATION_SENSITIVE" },  { CKR_STATE_UNSAVEABLE,                 "CKR_STATE_UNSAVEABLE" },  { CKR_CRYPTOKI_NOT_INITIALIZED,         "CKR_CRYPTOKI_NOT_INITIALIZED" },  { CKR_CRYPTOKI_ALREADY_INITIALIZED,     "CKR_CRYPTOKI_ALREADY_INITIALIZED" },  { CKR_MUTEX_BAD,                        "CKR_MUTEX_BAD" },  { CKR_MUTEX_NOT_LOCKED,                 "CKR_MUTEX_NOT_LOCKED" },  { CKR_VENDOR_DEFINED,                   "CKR_VENDOR_DEFINED" }};enum_specs ck_usr_s[] = {   { CKU_SO,   "CKU_SO" },   { CKU_USER, "CKU_USER" }};enum_specs ck_sta_s[] = {   { CKS_RO_PUBLIC_SESSION, "CKS_RO_PUBLIC_SESSION" },  { CKS_RO_USER_FUNCTIONS, "CKS_RO_USER_FUNCTIONS" },  { CKS_RW_PUBLIC_SESSION, "CKS_RW_PUBLIC_SESSION" },  { CKS_RW_USER_FUNCTIONS, "CKS_RW_USER_FUNCTIONS" },  { CKS_RW_SO_FUNCTIONS,   "CKS_RW_SO_FUNCTIONS" }};#define SZ_SPECS sizeof(enum_specs)enum_spec ck_types[] = {  { OBJ_T, ck_cls_s, sizeof(ck_cls_s) / SZ_SPECS, "CK_OBJECT_CLASS"     },  { KEY_T, ck_key_s, sizeof(ck_key_s) / SZ_SPECS, "CK_KEY_TYPE"         },  { CRT_T, ck_crt_s, sizeof(ck_crt_s) / SZ_SPECS, "CK_CERTIFICATE_TYPE" },  { MEC_T, ck_mec_s, sizeof(ck_mec_s) / SZ_SPECS, "CK_MECHANISM_TYPE"   },  { USR_T, ck_usr_s, sizeof(ck_usr_s) / SZ_SPECS, "CK_USER_TYPE"        },  { STA_T, ck_sta_s, sizeof(ck_sta_s) / SZ_SPECS, "CK_STATE"        },  { RV_T,  ck_err_s, sizeof(ck_err_s) / SZ_SPECS, "CK_RV"               },};enum_spec ck_key_t[] = { { KEY_T, ck_key_s, sizeof(ck_key_s) / SZ_SPECS, "CK_KEY_TYPE" } };enum_spec ck_cls_t[] = { { OBJ_T, ck_cls_s, sizeof(ck_cls_s) / SZ_SPECS, "CK_OBJECT_CLASS" } };enum_spec ck_crt_t[] = { { CRT_T, ck_crt_s, sizeof(ck_crt_s) / SZ_SPECS, "CK_CERTIFICATE_TYPE" } };type_spec ck_attribute_specs[] = {  { CKA_CLASS             , "CKA_CLASS            ", print_enum,    ck_cls_t },  { CKA_TOKEN             , "CKA_TOKEN            ", print_boolean, NULL },  { CKA_PRIVATE           , "CKA_PRIVATE          ", print_boolean, NULL },  { CKA_LABEL             , "CKA_LABEL            ", print_print,   NULL },  { CKA_APPLICATION       , "CKA_APPLICATION      ", print_print,   NULL },  { CKA_VALUE             , "CKA_VALUE            ", print_generic, NULL },  { CKA_OBJECT_ID         , "CKA_OBJECT_ID        ", print_generic, NULL },  { CKA_CERTIFICATE_TYPE  , "CKA_CERTIFICATE_TYPE ", print_enum,    ck_crt_t },#ifdef HAVE_OPENSSL   { CKA_ISSUER            , "CKA_ISSUER           ", print_dn,      NULL },#else  { CKA_ISSUER            , "CKA_ISSUER           ", print_generic, NULL },#endif  { CKA_SERIAL_NUMBER     , "CKA_SERIAL_NUMBER    ", print_generic, NULL },#ifdef HAVE_OPENSSL   { CKA_AC_ISSUER         , "CKA_AC_ISSUER        ", print_dn,      NULL },#else  { CKA_AC_ISSUER         , "CKA_AC_ISSUER        ", print_generic, NULL },#endif  { CKA_OWNER             , "CKA_OWNER            ", print_generic, NULL },  { CKA_ATTR_TYPES        , "CKA_ATTR_TYPES       ", print_generic, NULL },  { CKA_TRUSTED           , "CKA_TRUSTED          ", print_generic, NULL },  { CKA_KEY_TYPE          , "CKA_KEY_TYPE         ", print_enum,    ck_key_t },#ifdef HAVE_OPENSSL   { CKA_SUBJECT           , "CKA_SUBJECT          ", print_dn,      NULL },#else  { CKA_SUBJECT           , "CKA_SUBJECT          ", print_generic, NULL },#endif  { CKA_ID                , "CKA_ID               ", print_generic, NULL },  { CKA_SENSITIVE         , "CKA_SENSITIVE        ", print_boolean, NULL },  { CKA_ENCRYPT           , "CKA_ENCRYPT          ", print_boolean, NULL },  { CKA_DECRYPT           , "CKA_DECRYPT          ", print_boolean, NULL },  { CKA_WRAP              , "CKA_WRAP             ", print_boolean, NULL },  { CKA_UNWRAP            , "CKA_UNWRAP           ", print_boolean, NULL },  { CKA_SIGN              , "CKA_SIGN             ", print_boolean, NULL },  { CKA_SIGN_RECOVER      , "CKA_SIGN_RECOVER     ", print_boolean, NULL },  { CKA_VERIFY            , "CKA_VERIFY           ", print_boolean, NULL },  { CKA_VERIFY_RECOVER    , "CKA_VERIFY_RECOVER   ", print_boolean, NULL },  { CKA_DERIVE            , "CKA_DERIVE           ", print_boolean, NULL },  { CKA_START_DATE        , "CKA_START_DATE       ", print_generic, NULL },  { CKA_END_DATE          , "CKA_END_DATE         ", print_generic, NULL },  { CKA_MODULUS           , "CKA_MODULUS          ", print_generic, NULL },  { CKA_MODULUS_BITS      , "CKA_MODULUS_BITS     ", print_generic, NULL },  { CKA_PUBLIC_EXPONENT   , "CKA_PUBLIC_EXPONENT  ", print_generic, NULL },  { CKA_PRIVATE_EXPONENT  , "CKA_PRIVATE_EXPONENT ", print_generic, NULL },  { CKA_PRIME_1           , "CKA_PRIME_1          ", print_generic, NULL },  { CKA_PRIME_2           , "CKA_PRIME_2          ", print_generic, NULL },  { CKA_EXPONENT_1        , "CKA_EXPONENT_1       ", print_generic, NULL },  { CKA_EXPONENT_2        , "CKA_EXPONENT_2       ", print_generic, NULL },  { CKA_COEFFICIENT       , "CKA_COEFFICIENT      ", print_generic, NULL },  { CKA_PRIME             , "CKA_PRIME            ", print_generic, NULL },  { CKA_SUBPRIME          , "CKA_SUBPRIME         ", print_generic, NULL },  { CKA_BASE              , "CKA_BASE             ", print_generic, NULL },  { CKA_PRIME_BITS        , "CKA_PRIME_BITS       ", print_generic, NULL },  { CKA_SUB_PRIME_BITS    , "CKA_SUB_PRIME_BITS   ", print_generic, NULL },

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -