## pkikeys

pkikeys — Private/public keys implementation for NSS.

## Stability Level

Stable, unless otherwise indicated

## Functions

xmlSecKeyDataPtr | xmlSecNssPKIAdoptKey ()
SECKEYPublicKey * | xmlSecNssPKIKeyDataGetPubKey ()
SECKEYPrivateKey * | xmlSecNssPKIKeyDataGetPrivKey ()
KeyType | xmlSecNssPKIKeyDataGetKeyType ()
int | xmlSecNssPKIKeyDataDuplicate ()

## Description

## Functions

### xmlSecNssPKIAdoptKey ()

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

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

#### Parameters

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.

#### Parameters

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.

#### Parameters

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.

#### Parameters

data | the pointer to NSS Key data. |

#### Returns

Key Type

### xmlSecNssPKIKeyDataDuplicate ()

    int
    xmlSecNssPKIKeyDataDuplicate (xmlSecKeyDataPtr dst,
                                  xmlSecKeyDataPtr src);

Duplicates the keydata from src to dst

#### Parameters

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