Table 2 Functions supported by HPUX-KCM (continued)

Category

Function

Description

 

C_Encrypt

Encrypts single-part data

 

 

 

 

C_EncryptUpdate

Continues a multiple-part encryption

 

 

operation

 

 

 

 

C_EncryptFinal

Finishes a multiple-part encryption

 

 

operation

 

 

 

Decryption functions

C_DecryptInit

Initializes a decryption operation

 

 

 

 

C_Decrypt

Decrypts single-part encrypted data

 

 

 

 

C_DecryptUpdate

Continues a multiple-part decryption

 

 

operation

 

 

 

 

C_DecryptFinal

Finishes a multiple-part decryption

 

 

operation

 

 

 

Message digesting functions

C_DigestInit

Initializes a message-digesting operation

 

 

 

 

C_Digest

Digests single-part data

 

 

 

 

C_DigestUpdate

Continues a multiple-part digesting

 

 

operation

 

 

 

 

C_DigestFinal

Finishes a multiple-part digesting

 

 

operation

 

 

 

Signing and MACing functions

C_SignInit

Initializes a signature operation

 

 

 

 

C_Sign

Signs single-part data

 

 

 

 

C_SignUpdate

Continues a multiple-part signature

 

 

operation

 

 

 

 

C_SignFinal

Finishes a multiple-part signature

 

 

operation

 

 

 

Functions for verifying

C_VerifyInit

Initializes a verification operation

signatures and MACs

 

 

C_Verify

Verifies a signature on single-part data

 

 

 

 

 

C_VerifyUpdate

Continues a multiple-part verification

 

 

operation

 

 

 

 

C_VerifyFinal

Finishes a multiple-part verification

 

 

operation

 

 

 

Key management functions

C_GenerateKey

Generates a secret key

 

 

 

 

C_GenerateKeyPair

Generates a public-key/private-key pair

 

 

 

 

C_WrapKey

Wraps (encrypts) a key

 

 

 

 

C_UnwrapKey

Unwraps (decrypts) a key

 

 

 

Random number generation

C_GenerateRandom

Generates random data

functions

 

 

For more information on APIs, see PKCS#11 specifications document.

Example usage of HPUX-KCM

//pkcs11 header files #include "pkcs11_kcm.h" #include "pkcs11.h"

//Initialize the module. Required only once during lifetime of the application CK_RV rv = C_Initialize( NULL_PTR );

PKCS #11 API considerations

7