/** * gnutls_openpgp_privkey_get_subkey_idx: * @key: the structure that contains the OpenPGP private key. * @keyid: the keyid. * * Get index of subkey. * * Returns: the index of the subkey or a negative error value. * * Since: 2.4.0 **/ int gnutls_openpgp_privkey_get_subkey_idx(gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid) { int ret; uint32_t kid[2]; uint8_t master_id[GNUTLS_OPENPGP_KEYID_SIZE]; if (!key) { gnutls_assert(); return GNUTLS_E_INVALID_REQUEST; } ret = gnutls_openpgp_privkey_get_key_id(key, master_id); if (ret < 0) return gnutls_assert_val(ret); if (memcmp(master_id, keyid, GNUTLS_OPENPGP_KEYID_SIZE) == 0) return GNUTLS_OPENPGP_MASTER_KEYID_IDX; KEYID_IMPORT(kid, keyid); ret = _gnutls_openpgp_find_subkey_idx(key->knode, kid, 1); if (ret < 0) { gnutls_assert(); } return ret; }
/** * gnutls_openpgp_privkey_get_subkey_idx: * @key: the structure that contains the OpenPGP private key. * @keyid: the keyid. * * Get index of subkey. * * Returns: the index of the subkey or a negative error value. * * Since: 2.4.0 **/ int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid) { int ret; uint32_t kid[2]; if (!key) { gnutls_assert (); return GNUTLS_E_INVALID_REQUEST; } KEYID_IMPORT (kid, keyid); ret = _gnutls_openpgp_find_subkey_idx (key->knode, kid, 1); if (ret < 0) { gnutls_assert (); } return ret; }