PreviousNext

sec_psm_decrypt_data(3sec)

Decrypts data that was encrypted with a public key mechanism. This routine is not available in the DCE binary code. It is provided in DCE source for use by vendors.

Synopsis

#include <dce/sec_pk_base.h>

error_status_t sec_psm_decrypt_data(

sec_psm_handle_t psm_handle,

unsigned32 *kvno,

sec_pk_algorithm_id_t *encryption_alg_id,

sec_pk_usage_flags_t key_usage,

sec_pk_encrypted_t *cipher_data,

sec_pk__gen_data_t *clear_data,

error_status_t *status);

Parameters

Input

psm_handle
A pointer to an opaque handle to the personal security mechanism context. Use sec_psm_open( ) to obtain the handle.

kvno
The unsigned 32-bit version number of the key in which the data is encrypted.

encryption_alg_id
The ASN.1 DER-encoded object ID of the encryption algorithm, such as RSA, used to encrypt the data.

key_usage
A sec_pk_usage_flags_t that contains the usage flag for the private key to be used for this operation.

cipher_data
A pointer to a sec_pk_data_t that contains the ASN.1 DER-encoded data to be decrypted.

Output

clear_data
A pointer to the decrypted data.

status
A pointer to the completion status. On successful completion, the routine returns error_status_ok. Otherwise, it returns an error.

Description

The sec_psm_decrypt_data( ) routine decrypts data that was encrypted with a public key mechanism. The encryption_alg_id parameter specifies the encryption algorithm used. This routine allocates memory for the returned decrypted data. Call the sec_pk_data_free( ) routine to deallocate that memory.

Files

/usr/include/dce/sec_pk_base.idl
The idl file from which dce/sec_pk_base.h was derived.

Errors

The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

error_status_ok

sec_psm_not_init

sec_psm_invalid_handle

sec_psm_unsupported_algorithm_id

sec_bsafe_encryption_failure

sec_pvtkey_invalid_handle

sec_pvtkey_mechanism_not_init

sec_pvtkey_internal_error

sec_pvtkey_invalid_password

sec_pvtkey_multiple_key_usage

Related Information

Functions:
sec_pk_data_free(3sec)
sec_psm_encrypt_data(3sec)