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 + -
显示快捷键?