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

📄 pkcs11f.h

📁 windows操作系统下CSP的实现源代码,此代码实现加密解密及签名认证功能
💻 H
📖 第 1 页 / 共 2 页
字号:
  CK_SESSION_HANDLE hSession,       /* the session's handle */  CK_BYTE_PTR       pLastPart,      /* gets plaintext */  CK_ULONG_PTR      pulLastPartLen  /* p-text size */);#endif/* Message digesting *//* C_DigestInit initializes a message-digesting operation. */CK_PKCS11_FUNCTION_INFO(C_DigestInit)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,   /* the session's handle */  CK_MECHANISM_PTR  pMechanism  /* the digesting mechanism */);#endif/* C_Digest digests data in a single part. */CK_PKCS11_FUNCTION_INFO(C_Digest)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,     /* the session's handle */  CK_BYTE_PTR       pData,        /* data to be digested */  CK_ULONG          ulDataLen,    /* bytes of data to digest */  CK_BYTE_PTR       pDigest,      /* gets the message digest */  CK_ULONG_PTR      pulDigestLen  /* gets digest length */);#endif/* C_DigestUpdate continues a multiple-part message-digesting * operation. */CK_PKCS11_FUNCTION_INFO(C_DigestUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,  /* the session's handle */  CK_BYTE_PTR       pPart,     /* data to be digested */  CK_ULONG          ulPartLen  /* bytes of data to be digested */);#endif/* C_DigestKey continues a multi-part message-digesting * operation, by digesting the value of a secret key as part of * the data already digested. */CK_PKCS11_FUNCTION_INFO(C_DigestKey)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,  /* the session's handle */  CK_OBJECT_HANDLE  hKey       /* secret key to digest */);#endif/* C_DigestFinal finishes a multiple-part message-digesting * operation. */CK_PKCS11_FUNCTION_INFO(C_DigestFinal)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,     /* the session's handle */  CK_BYTE_PTR       pDigest,      /* gets the message digest */  CK_ULONG_PTR      pulDigestLen  /* gets byte count of digest */);#endif/* Signing and MACing *//* C_SignInit initializes a signature (private key encryption) * operation, where the signature is (will be) an appendix to * the data, and plaintext cannot be recovered from the *signature. */CK_PKCS11_FUNCTION_INFO(C_SignInit)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,    /* the session's handle */  CK_MECHANISM_PTR  pMechanism,  /* the signature mechanism */  CK_OBJECT_HANDLE  hKey         /* handle of signature key */);#endif/* C_Sign signs (encrypts with private key) data in a single * part, where the signature is (will be) an appendix to the * data, and plaintext cannot be recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_Sign)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,        /* the session's handle */  CK_BYTE_PTR       pData,           /* the data to sign */  CK_ULONG          ulDataLen,       /* count of bytes to sign */  CK_BYTE_PTR       pSignature,      /* gets the signature */  CK_ULONG_PTR      pulSignatureLen  /* gets signature length */);#endif/* C_SignUpdate continues a multiple-part signature operation, * where the signature is (will be) an appendix to the data,  * and plaintext cannot be recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_SignUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,  /* the session's handle */  CK_BYTE_PTR       pPart,     /* the data to sign */  CK_ULONG          ulPartLen  /* count of bytes to sign */);#endif/* C_SignFinal finishes a multiple-part signature operation,  * returning the signature. */CK_PKCS11_FUNCTION_INFO(C_SignFinal)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,        /* the session's handle */  CK_BYTE_PTR       pSignature,      /* gets the signature */  CK_ULONG_PTR      pulSignatureLen  /* gets signature length */);#endif/* C_SignRecoverInit initializes a signature operation, where * the data can be recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_SignRecoverInit)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,   /* the session's handle */  CK_MECHANISM_PTR  pMechanism, /* the signature mechanism */  CK_OBJECT_HANDLE  hKey        /* handle of the signature key */);#endif/* C_SignRecover signs data in a single operation, where the * data can be recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_SignRecover)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,        /* the session's handle */  CK_BYTE_PTR       pData,           /* the data to sign */  CK_ULONG          ulDataLen,       /* count of bytes to sign */  CK_BYTE_PTR       pSignature,      /* gets the signature */  CK_ULONG_PTR      pulSignatureLen  /* gets signature length */);#endif/* Verifying signatures and MACs *//* C_VerifyInit initializes a verification operation, where the * signature is an appendix to the data, and plaintext cannot *  cannot be recovered from the signature (e.g. DSA). */CK_PKCS11_FUNCTION_INFO(C_VerifyInit)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,    /* the session's handle */  CK_MECHANISM_PTR  pMechanism,  /* the verification mechanism */  CK_OBJECT_HANDLE  hKey         /* verification key */ );#endif/* C_Verify verifies a signature in a single-part operation,  * where the signature is an appendix to the data, and plaintext * cannot be recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_Verify)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,       /* the session's handle */  CK_BYTE_PTR       pData,          /* signed data */  CK_ULONG          ulDataLen,      /* length of signed data */  CK_BYTE_PTR       pSignature,     /* signature */  CK_ULONG          ulSignatureLen  /* signature length*/);#endif/* C_VerifyUpdate continues a multiple-part verification * operation, where the signature is an appendix to the data,  * and plaintext cannot be recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_VerifyUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,  /* the session's handle */  CK_BYTE_PTR       pPart,     /* signed data */  CK_ULONG          ulPartLen  /* length of signed data */);#endif/* C_VerifyFinal finishes a multiple-part verification * operation, checking the signature. */CK_PKCS11_FUNCTION_INFO(C_VerifyFinal)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,       /* the session's handle */  CK_BYTE_PTR       pSignature,     /* signature to verify */  CK_ULONG          ulSignatureLen  /* signature length */);#endif/* C_VerifyRecoverInit initializes a signature verification * operation, where the data is recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_VerifyRecoverInit)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,    /* the session's handle */  CK_MECHANISM_PTR  pMechanism,  /* the verification mechanism */  CK_OBJECT_HANDLE  hKey         /* verification key */);#endif/* C_VerifyRecover verifies a signature in a single-part * operation, where the data is recovered from the signature. */CK_PKCS11_FUNCTION_INFO(C_VerifyRecover)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,        /* the session's handle */  CK_BYTE_PTR       pSignature,      /* signature to verify */  CK_ULONG          ulSignatureLen,  /* signature length */  CK_BYTE_PTR       pData,           /* gets signed data */  CK_ULONG_PTR      pulDataLen       /* gets signed data len */);#endif/* Dual-function cryptographic operations *//* C_DigestEncryptUpdate continues a multiple-part digesting * and encryption operation. */CK_PKCS11_FUNCTION_INFO(C_DigestEncryptUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,            /* session's handle */  CK_BYTE_PTR       pPart,               /* the plaintext data */  CK_ULONG          ulPartLen,           /* plaintext length */  CK_BYTE_PTR       pEncryptedPart,      /* gets ciphertext */  CK_ULONG_PTR      pulEncryptedPartLen  /* gets c-text length */);#endif/* C_DecryptDigestUpdate continues a multiple-part decryption and * digesting operation. */CK_PKCS11_FUNCTION_INFO(C_DecryptDigestUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,            /* session's handle */  CK_BYTE_PTR       pEncryptedPart,      /* ciphertext */  CK_ULONG          ulEncryptedPartLen,  /* ciphertext length */  CK_BYTE_PTR       pPart,               /* gets plaintext */  CK_ULONG_PTR      pulPartLen           /* gets plaintext len */);#endif/* C_SignEncryptUpdate continues a multiple-part signing and * encryption operation. */CK_PKCS11_FUNCTION_INFO(C_SignEncryptUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,            /* session's handle */  CK_BYTE_PTR       pPart,               /* the plaintext data */  CK_ULONG          ulPartLen,           /* plaintext length */  CK_BYTE_PTR       pEncryptedPart,      /* gets ciphertext */  CK_ULONG_PTR      pulEncryptedPartLen  /* gets c-text length */);#endif/* C_DecryptVerifyUpdate continues a multiple-part decryption and * verify operation. */CK_PKCS11_FUNCTION_INFO(C_DecryptVerifyUpdate)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,            /* session's handle */  CK_BYTE_PTR       pEncryptedPart,      /* ciphertext */  CK_ULONG          ulEncryptedPartLen,  /* ciphertext length */  CK_BYTE_PTR       pPart,               /* gets plaintext */  CK_ULONG_PTR      pulPartLen           /* gets p-text length */);#endif/* Key management *//* C_GenerateKey generates a secret key, creating a new key * object. */CK_PKCS11_FUNCTION_INFO(C_GenerateKey)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE    hSession,    /* the session's handle */  CK_MECHANISM_PTR     pMechanism,  /* key generation mech. */  CK_ATTRIBUTE_PTR     pTemplate,   /* template for new key */  CK_ULONG             ulCount,     /* # of attrs in template */  CK_OBJECT_HANDLE_PTR phKey        /* gets handle of new key */);#endif/* C_GenerateKeyPair generates a public-key/private-key pair,  * creating new key objects. */CK_PKCS11_FUNCTION_INFO(C_GenerateKeyPair)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE    hSession,                    /* session                                                     * handle */  CK_MECHANISM_PTR     pMechanism,                  /* key-gen                                                     * mech. */  CK_ATTRIBUTE_PTR     pPublicKeyTemplate,          /* template                                                     * for pub.                                                     * key */  CK_ULONG             ulPublicKeyAttributeCount,   /* # pub.                                                     * attrs. */  CK_ATTRIBUTE_PTR     pPrivateKeyTemplate,         /* template                                                     * for priv.                                                     * key */  CK_ULONG             ulPrivateKeyAttributeCount,  /* # priv.                                                     * attrs. */  CK_OBJECT_HANDLE_PTR phPublicKey,                 /* gets pub.                                                     * key                                                     * handle */  CK_OBJECT_HANDLE_PTR phPrivateKey                 /* gets                                                     * priv. key                                                     * handle */);#endif/* C_WrapKey wraps (i.e., encrypts) a key. */CK_PKCS11_FUNCTION_INFO(C_WrapKey)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,        /* the session's handle */  CK_MECHANISM_PTR  pMechanism,      /* the wrapping mechanism */  CK_OBJECT_HANDLE  hWrappingKey,    /* wrapping key */  CK_OBJECT_HANDLE  hKey,            /* key to be wrapped */  CK_BYTE_PTR       pWrappedKey,     /* gets wrapped key */  CK_ULONG_PTR      pulWrappedKeyLen /* gets wrapped key size */);#endif/* C_UnwrapKey unwraps (decrypts) a wrapped key, creating a new * key object. */CK_PKCS11_FUNCTION_INFO(C_UnwrapKey)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE    hSession,          /* session's handle */  CK_MECHANISM_PTR     pMechanism,        /* unwrapping mech. */  CK_OBJECT_HANDLE     hUnwrappingKey,    /* unwrapping key */  CK_BYTE_PTR          pWrappedKey,       /* the wrapped key */  CK_ULONG             ulWrappedKeyLen,   /* wrapped key len */  CK_ATTRIBUTE_PTR     pTemplate,         /* new key template */  CK_ULONG             ulAttributeCount,  /* template length */  CK_OBJECT_HANDLE_PTR phKey              /* gets new handle */);#endif/* C_DeriveKey derives a key from a base key, creating a new key * object. */CK_PKCS11_FUNCTION_INFO(C_DeriveKey)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE    hSession,          /* session's handle */  CK_MECHANISM_PTR     pMechanism,        /* key deriv. mech. */  CK_OBJECT_HANDLE     hBaseKey,          /* base key */  CK_ATTRIBUTE_PTR     pTemplate,         /* new key template */  CK_ULONG             ulAttributeCount,  /* template length */  CK_OBJECT_HANDLE_PTR phKey              /* gets new handle */);#endif/* Random number generation *//* C_SeedRandom mixes additional seed material into the token's * random number generator. */CK_PKCS11_FUNCTION_INFO(C_SeedRandom)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,  /* the session's handle */  CK_BYTE_PTR       pSeed,     /* the seed material */  CK_ULONG          ulSeedLen  /* length of seed material */);#endif/* C_GenerateRandom generates random data. */CK_PKCS11_FUNCTION_INFO(C_GenerateRandom)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession,    /* the session's handle */  CK_BYTE_PTR       RandomData,  /* receives the random data */  CK_ULONG          ulRandomLen  /* # of bytes to generate */);#endif/* Parallel function management *//* C_GetFunctionStatus is a legacy function; it obtains an * updated status of a function running in parallel with an * application. */CK_PKCS11_FUNCTION_INFO(C_GetFunctionStatus)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession  /* the session's handle */);#endif/* C_CancelFunction is a legacy function; it cancels a function * running in parallel. */CK_PKCS11_FUNCTION_INFO(C_CancelFunction)#ifdef CK_NEED_ARG_LIST(  CK_SESSION_HANDLE hSession  /* the session's handle */);#endif/* Functions added in for Cryptoki Version 2.01 or later *//* C_WaitForSlotEvent waits for a slot event (token insertion, * removal, etc.) to occur. */CK_PKCS11_FUNCTION_INFO(C_WaitForSlotEvent)#ifdef CK_NEED_ARG_LIST(  CK_FLAGS flags,        /* blocking/nonblocking flag */  CK_SLOT_ID_PTR pSlot,  /* location that receives the slot ID */  CK_VOID_PTR pRserved   /* reserved.  Should be NULL_PTR */);#endif

⌨️ 快捷键说明

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