- Home
- Download
- News
- Documentation

- FAQ
- Tutorial
- API reference
- Examples

- XML Digital Signature

- Online Verifier

- XML Encryption
- XML Canonicalization
- Reporting Bugs
- Mailing list
- Related
- Authors

# pkikeys

## Name

pkikeys -- PKI keys data implementation.

## Synopsis

    xmlSecKeyDataPtr    xmlSecNssPKIAdoptKey                (SECKEYPrivateKey *privkey,
                                                             SECKEYPublicKey *pubkey);
    SECKEYPublicKey*    xmlSecNssPKIKeyDataGetPubKey        (xmlSecKeyDataPtr data);
    SECKEYPrivateKey*   xmlSecNssPKIKeyDataGetPrivKey       (xmlSecKeyDataPtr data);
    KeyTypexmlSecNssPKIKeyDataGetKeyType       (xmlSecKeyDataPtr data);
    intxmlSecNssPKIKeyDataDuplicate        (xmlSecKeyDataPtr dst,
                                                             xmlSecKeyDataPtr src);

## Description

PKI keys data implementation.

## Details

### xmlSecNssPKIAdoptKey ()

    xmlSecKeyDataPtr    xmlSecNssPKIAdoptKey                (SECKEYPrivateKey *privkey,
                                                             SECKEYPublicKey *pubkey);

Build a KeyData object from the given Private Key and Public Key handles.

`privkey` : | the NSS Private Key handle
`pubkey` : | the NSS Public Key handle
Returns : | pointer to KeyData object or NULL if an error occurs.

### xmlSecNssPKIKeyDataGetPubKey ()

    SECKEYPublicKey*    xmlSecNssPKIKeyDataGetPubKey        (xmlSecKeyDataPtr data);

Gets the Public Key from the key data.

`data` : | the pointer to NSS Key data.
Returns : | pointer to SECKEYPublicKey or NULL if an error occurs. Caller is responsible for freeing the key when done

### xmlSecNssPKIKeyDataGetPrivKey ()

    SECKEYPrivateKey*   xmlSecNssPKIKeyDataGetPrivKey       (xmlSecKeyDataPtr data);

Gets the Private Key from the key data.

`data` : | the pointer to NSS Key data.
Returns : | pointer to SECKEYPrivateKey or NULL if an error occurs. Caller is responsible for freeing the key when done

### xmlSecNssPKIKeyDataGetKeyType ()

    KeyType             xmlSecNssPKIKeyDataGetKeyType       (xmlSecKeyDataPtr data);

Gets the Key Type from the key data.

`data` : | the pointer to NSS Key data.
Returns : | Key Type

### xmlSecNssPKIKeyDataDuplicate ()

    int                 xmlSecNssPKIKeyDataDuplicate        (xmlSecKeyDataPtr dst,
                                                             xmlSecKeyDataPtr src);

Duplicates the keydata from src to dst

`dst` : | the pointer to NSS Key data to copy to.
`src` : | the pointer to NSS Key data to copy from.
Returns : | -1 on error, 0 on success