PreviousNext

pkc_get_key_data(3sec)

Returns a public key

Synopsis

#include <pkc_api.h>

unsigned32 pkc_get_key_data(

keyinfo_t * keyinfobase,

unsigned key_index,

unsigned char ** key_data,

size_t * key_length);

Parameters

Input

keyinfobase
Key information for the principal, returned by pkc_retrieve_keyinfo(3sec).

key_index
Index (ranging from 0 to key_count - 1) of the key desired.

Output

key_data
The encoded public key.

key_length
Length of the key data returned.

Description

pkc_get_key_data(3sec) extracts an encoded public key from a keyinfo_t structure. key_index is the index of the key (ranging from 0 to key_count - 1).

The returned key_data is encoded as an ASN.1 BER SubjectPublicKeyInfo object (as defined in X.509).

The desired information is extracted by from the keyinfo_t structure, which must first be obtained by the caller by a call to the pkc_retrieve_keyinfo(3sec) routine.

Upon successful return, key_data will contain PKC-allocated storage which must be released with pkc_free(3sec) when the application has finished with it.

Return Values

pkc_s_success
Operation successfully completed.

Errors

Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.

Related Information

Functions:
pkc_intro(3sec)
pkc_append_to_trustlist(3sec)
pkc_free(3sec)
pkc_free_keyinfo(3sec)
pkc_free_trustbase(3sec)
pkc_free_trustlist(3sec)
pkc_get_key_certifier_count(3sec)
pkc_get_key_certifier_info(3sec)
pkc_get_key_count(3sec)
pkc_get_key_trust_info(3sec)
pkc_get_registered_policies(3sec)
pkc_init_trustbase(3sec)
pkc_init_trustlist(3sec)
pkc_retrieve_keyinfo(3sec)
pkc_retrieve_keylist(3sec)