ck.api
来自「支持SSL v2/v3, TLS, PKCS #5, PKCS #7, PKCS」· API 代码 · 共 572 行 · 第 1/2 页
API
572 行
# # The contents of this file are subject to the Mozilla Public# License Version 1.1 (the "License"); you may not use this file# except in compliance with the License. You may obtain a copy of# the License at http://www.mozilla.org/MPL/# # Software distributed under the License is distributed on an "AS# IS" basis, WITHOUT WARRANTY OF ANY KIND, either express or# implied. See the License for the specific language governing# rights and limitations under the License.# # The Original Code is the Netscape security libraries.# # The Initial Developer of the Original Code is Netscape# Communications Corporation. Portions created by Netscape are # Copyright (C) 1994-2000 Netscape Communications Corporation. All# Rights Reserved.# # Contributor(s):# # Alternatively, the contents of this file may be used under the# terms of the GNU General Public License Version 2 or later (the# "GPL"), in which case the provisions of the GPL are applicable # instead of those above. If you wish to allow use of your # version of this file only under the terms of the GPL and not to# allow others to use your version of this file under the MPL,# indicate your decision by deleting the provisions above and# replace them with the notice and other provisions required by# the GPL. If you do not delete the provisions above, a recipient# may use your version of this file under either the MPL or the# GPL.## This file is in part derived from a file "pkcs11f.h" made available# by RSA Security at ftp://ftp.rsasecurity.com/pub/pkcs/pkcs-11/pkcs11f.hCVS_ID "@(#) $RCSfile: ck.api,v $ $Revision: 1.1 $ $Date: 2000/03/31 19:43:09 $ $Name: NSS_3_1_1_RTM $"# Fields# FUNCTION introduces a Cryptoki function# CK_type specifies and introduces an argument## General-purpose# C_Initialize initializes the Cryptoki library.FUNCTION C_InitializeCK_VOID_PTR pInitArgs # if this is not NULL_PTR, it gets # cast to CK_C_INITIALIZE_ARGS_PTR # and dereferenced# C_Finalize indicates that an application is done with the# Cryptoki library.FUNCTION C_FinalizeCK_VOID_PTR pReserved # reserved. Should be NULL_PTR# C_GetInfo returns general information about Cryptoki. FUNCTION C_GetInfoCK_INFO_PTR pInfo # location that receives information# C_GetFunctionList returns the function list. FUNCTION C_GetFunctionListCK_FUNCTION_LIST_PTR_PTR ppFunctionList # receives pointer to function # list# Slot and token management # C_GetSlotList obtains a list of slots in the system. FUNCTION C_GetSlotListCK_BBOOL tokenPresent # only slots with tokens? CK_SLOT_ID_PTR pSlotList # receives array of slot IDs CK_ULONG_PTR pulCount # receives number of slots # C_GetSlotInfo obtains information about a particular slot in the # system.FUNCTION C_GetSlotInfoCK_SLOT_ID slotID # the ID of the slot CK_SLOT_INFO_PTR pInfo # receives the slot information # C_GetTokenInfo obtains information about a particular token in the # system. FUNCTION C_GetTokenInfoCK_SLOT_ID slotID # ID of the token's slot CK_TOKEN_INFO_PTR pInfo # receives the token information # C_GetMechanismList obtains a list of mechanism types supported by a # token. FUNCTION C_GetMechanismListCK_SLOT_ID slotID # ID of token's slot CK_MECHANISM_TYPE_PTR pMechanismList # gets mech. array CK_ULONG_PTR pulCount # gets # of mechs. # C_GetMechanismInfo obtains information about a particular mechanism # possibly supported by a token. FUNCTION C_GetMechanismInfoCK_SLOT_ID slotID # ID of the token's slot CK_MECHANISM_TYPE type # type of mechanism CK_MECHANISM_INFO_PTR pInfo # receives mechanism info # C_InitToken initializes a token. FUNCTION C_InitTokenCK_SLOT_ID slotID # ID of the token's slot CK_CHAR_PTR pPin # the SO's initial PIN CK_ULONG ulPinLen # length in bytes of the PIN CK_CHAR_PTR pLabel # 32-byte token label (blank padded) # C_InitPIN initializes the normal user's PIN. FUNCTION C_InitPINCK_SESSION_HANDLE hSession # the session's handle CK_CHAR_PTR pPin # the normal user's PIN CK_ULONG ulPinLen # length in bytes of the PIN # C_SetPIN modifies the PIN of the user who is logged in. FUNCTION C_SetPINCK_SESSION_HANDLE hSession # the session's handle CK_CHAR_PTR pOldPin # the old PIN CK_ULONG ulOldLen # length of the old PIN CK_CHAR_PTR pNewPin # the new PIN CK_ULONG ulNewLen # length of the new PIN # Session management # C_OpenSession opens a session between an application and a token. FUNCTION C_OpenSessionCK_SLOT_ID slotID # the slot's ID CK_FLAGS flags # from CK_SESSION_INFO CK_VOID_PTR pApplication # passed to callback CK_NOTIFY Notify # callback function CK_SESSION_HANDLE_PTR phSession # gets session handle # C_CloseSession closes a session between an application and a token. FUNCTION C_CloseSessionCK_SESSION_HANDLE hSession # the session's handle # C_CloseAllSessions closes all sessions with a token. FUNCTION C_CloseAllSessionsCK_SLOT_ID slotID # the token's slot # C_GetSessionInfo obtains information about the session. FUNCTION C_GetSessionInfoCK_SESSION_HANDLE hSession # the session's handle CK_SESSION_INFO_PTR pInfo # receives session info # C_GetOperationState obtains the state of the cryptographic # operation in a session. FUNCTION C_GetOperationStateCK_SESSION_HANDLE hSession # session's handle CK_BYTE_PTR pOperationState # gets state CK_ULONG_PTR pulOperationStateLen # gets state length # C_SetOperationState restores the state of the cryptographic # operation in a session. FUNCTION C_SetOperationStateCK_SESSION_HANDLE hSession # session's handle CK_BYTE_PTR pOperationState # holds state CK_ULONG ulOperationStateLen # holds state length CK_OBJECT_HANDLE hEncryptionKey # en/decryption key CK_OBJECT_HANDLE hAuthenticationKey # sign/verify key # C_Login logs a user into a token. FUNCTION C_LoginCK_SESSION_HANDLE hSession # the session's handle CK_USER_TYPE userType # the user type CK_CHAR_PTR pPin # the user's PIN CK_ULONG ulPinLen # the length of the PIN # C_Logout logs a user out from a token. FUNCTION C_LogoutCK_SESSION_HANDLE hSession # the session's handle # Object management # C_CreateObject creates a new object. FUNCTION C_CreateObjectCK_SESSION_HANDLE hSession # the session's handle CK_ATTRIBUTE_PTR pTemplate # the object's template CK_ULONG ulCount # attributes in template CK_OBJECT_HANDLE_PTR phObject # gets new object's handle. # C_CopyObject copies an object, creating a new object for the copy.FUNCTION C_CopyObjectCK_SESSION_HANDLE hSession # the session's handle CK_OBJECT_HANDLE hObject # the object's handle CK_ATTRIBUTE_PTR pTemplate # template for new object CK_ULONG ulCount # attributes in template CK_OBJECT_HANDLE_PTR phNewObject # receives handle of copy # C_DestroyObject destroys an object. FUNCTION C_DestroyObjectCK_SESSION_HANDLE hSession # the session's handle CK_OBJECT_HANDLE hObject # the object's handle # C_GetObjectSize gets the size of an object in bytes. FUNCTION C_GetObjectSizeCK_SESSION_HANDLE hSession # the session's handle CK_OBJECT_HANDLE hObject # the object's handle CK_ULONG_PTR pulSize # receives size of object # C_GetAttributeValue obtains the value of one or more object # attributes. FUNCTION C_GetAttributeValueCK_SESSION_HANDLE hSession # the session's handle CK_OBJECT_HANDLE hObject # the object's handle CK_ATTRIBUTE_PTR pTemplate # specifies attrs; gets vals CK_ULONG ulCount # attributes in template # C_SetAttributeValue modifies the value of one or more object # attributes FUNCTION C_SetAttributeValueCK_SESSION_HANDLE hSession # the session's handle CK_OBJECT_HANDLE hObject # the object's handle CK_ATTRIBUTE_PTR pTemplate # specifies attrs and values CK_ULONG ulCount # attributes in template # C_FindObjectsInit initializes a search for token and session # objects that match a template. FUNCTION C_FindObjectsInitCK_SESSION_HANDLE hSession # the session's handle CK_ATTRIBUTE_PTR pTemplate # attribute values to match CK_ULONG ulCount # attrs in search template # C_FindObjects continues a search for token and session objects that # match a template, obtaining additional object handles. FUNCTION C_FindObjectsCK_SESSION_HANDLE hSession # session's handle CK_OBJECT_HANDLE_PTR phObject # gets obj. handles CK_ULONG ulMaxObjectCount # max handles to get CK_ULONG_PTR pulObjectCount # actual # returned # C_FindObjectsFinal finishes a search for token and session objects. FUNCTION C_FindObjectsFinalCK_SESSION_HANDLE hSession # the session's handle # Encryption and decryption # C_EncryptInit initializes an encryption operation. FUNCTION C_EncryptInitCK_SESSION_HANDLE hSession # the session's handle CK_MECHANISM_PTR pMechanism # the encryption mechanism CK_OBJECT_HANDLE hKey # handle of encryption key # C_Encrypt encrypts single-part data. FUNCTION C_EncryptCK_SESSION_HANDLE hSession # session's handle CK_BYTE_PTR pData # the plaintext data CK_ULONG ulDataLen # bytes of plaintext CK_BYTE_PTR pEncryptedData # gets ciphertext CK_ULONG_PTR pulEncryptedDataLen # gets c-text size # C_EncryptUpdate continues a multiple-part encryption operation. FUNCTION C_EncryptUpdateCK_SESSION_HANDLE hSession # session's handle CK_BYTE_PTR pPart # the plaintext data CK_ULONG ulPartLen # plaintext data len CK_BYTE_PTR pEncryptedPart # gets ciphertext CK_ULONG_PTR pulEncryptedPartLen # gets c-text size # C_EncryptFinal finishes a multiple-part encryption operation. FUNCTION C_EncryptFinalCK_SESSION_HANDLE hSession # session handle CK_BYTE_PTR pLastEncryptedPart # last c-text CK_ULONG_PTR pulLastEncryptedPartLen # gets last size # C_DecryptInit initializes a decryption operation. FUNCTION C_DecryptInitCK_SESSION_HANDLE hSession # the session's handle CK_MECHANISM_PTR pMechanism # the decryption mechanism CK_OBJECT_HANDLE hKey # handle of decryption key # C_Decrypt decrypts encrypted data in a single part. FUNCTION C_DecryptCK_SESSION_HANDLE hSession # session's handle CK_BYTE_PTR pEncryptedData # ciphertext CK_ULONG ulEncryptedDataLen # ciphertext length CK_BYTE_PTR pData # gets plaintext CK_ULONG_PTR pulDataLen # gets p-text size # C_DecryptUpdate continues a multiple-part decryption operation. FUNCTION C_DecryptUpdateCK_SESSION_HANDLE hSession # session's handle CK_BYTE_PTR pEncryptedPart # encrypted data CK_ULONG ulEncryptedPartLen # input length
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?