#include <string.h>
#include <unistd.h>
#include <gnutls/gnutls.h>
-/* Must be linked against gnutls-extra.
- */
-#include <gnutls/extra.h>
+#include <gnutls/openpgp.h>
#define KEYFILE "secret.asc"
#define CERTFILE "public.asc"
void gnutls_psk_set_params_function (gnutls_psk_server_credentials_t res,
gnutls_params_function * func);
+ int gnutls_hex2bin (const char * hex_data, int hex_size, void * bin_data,
+ size_t * bin_size);
+
/* Gnutls error codes. The mapping to a TLS alert is also shown in
* comments.
*/
GNUTLS_OPENPGP_FMT_BASE64
} gnutls_openpgp_crt_fmt_t;
- typedef struct
- {
- unsigned char keyid[8];
- } gnutls_openpgp_keyid_t;
+ typedef unsigned char gnutls_openpgp_keyid_t[8];
/* gnutls_openpgp_cert_t should be defined in gnutls.h
*/
time_t gnutls_openpgp_crt_get_expiration_time (gnutls_openpgp_crt_t key);
int gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key,
- gnutls_openpgp_keyid_t* keyid);
+ gnutls_openpgp_keyid_t keyid);
int gnutls_openpgp_crt_get_id (gnutls_openpgp_crt_t key,
unsigned char keyid[8]);
int gnutls_openpgp_crt_get_revoked_status (gnutls_openpgp_crt_t key);
int gnutls_openpgp_crt_get_subkey_count (gnutls_openpgp_crt_t key);
- int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid);
+ int gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid);
int gnutls_openpgp_crt_get_subkey_revoked_status (gnutls_openpgp_crt_t key, unsigned int idx);
gnutls_pk_algorithm_t gnutls_openpgp_crt_get_subkey_pk_algorithm (gnutls_openpgp_crt_t key,
unsigned int idx, unsigned int *bits);
time_t gnutls_openpgp_crt_get_subkey_creation_time (gnutls_openpgp_crt_t key, unsigned int idx);
time_t gnutls_openpgp_crt_get_subkey_expiration_time (gnutls_openpgp_crt_t key, unsigned int idx);
- int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t* keyid);
+ int gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid);
int gnutls_openpgp_crt_get_subkey_usage (gnutls_openpgp_crt_t key, unsigned int idx,
unsigned int *key_usage);
int gnutls_openpgp_crt_get_pk_rsa_raw (gnutls_openpgp_crt_t crt,
gnutls_datum_t * m, gnutls_datum_t * e);
- int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t* keyid);
- int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid);
+ int gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid);
+ int gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid);
/* privkey stuff.
*/
gnutls_datum_t * signature);
int gnutls_openpgp_privkey_get_fingerprint (gnutls_openpgp_privkey_t key,
void *fpr, size_t * fprlen);
- int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t* keyid);
+ int gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid);
int gnutls_openpgp_privkey_get_subkey_count (gnutls_openpgp_privkey_t key);
- int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid);
+ int gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid);
int gnutls_openpgp_privkey_get_subkey_revoked_status (gnutls_openpgp_privkey_t key, unsigned int idx);
time_t gnutls_openpgp_privkey_get_subkey_expiration_time (gnutls_openpgp_privkey_t key, unsigned int idx);
- int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t* keyid);
+ int gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid);
time_t gnutls_openpgp_privkey_get_subkey_creation_time (gnutls_openpgp_privkey_t key, unsigned int idx);
const char* password, unsigned int flags,
void *output_data, size_t * output_data_size);
- int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid);
- int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t* keyid);
+ int gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid);
+ int gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid);
- int gnutls_openpgp_crt_get_auth_subkey( gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t* keyid);
+ int gnutls_openpgp_crt_get_auth_subkey( gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid);
/* Keyring stuff.
*/
gnutls_openpgp_crt_fmt_t format);
int gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring,
- gnutls_openpgp_keyid_t keyid,
+ const gnutls_openpgp_keyid_t keyid,
unsigned int flags);
if (cert[0].cert_type == GNUTLS_CRT_OPENPGP)
{
info->use_subkey = cert[0].use_subkey;
- info->subkey_id = cert[0].subkey_id;
+ memcpy( info->subkey_id, cert[0].subkey_id, sizeof(info->subkey_id));
}
#endif
if (apr_cert_list_length > 0)
{
if (apr_cert_list[0].use_subkey != 0)
- ret += 1 + sizeof(apr_cert_list[0].subkey_id.keyid); /* for the keyid */
+ ret += 1 + sizeof(apr_cert_list[0].subkey_id); /* for the keyid */
ret += apr_cert_list[0].raw.size;
}
{
*pdata = PGP_KEY_SUBKEY;
pdata++;
- *pdata = sizeof(apr_cert_list[0].subkey_id.keyid);
+ *pdata = sizeof(apr_cert_list[0].subkey_id);
pdata++;
- memcpy( pdata, apr_cert_list[0].subkey_id.keyid, sizeof(apr_cert_list[0].subkey_id.keyid));
- pdata += sizeof(apr_cert_list[0].subkey_id.keyid);
+ memcpy( pdata, apr_cert_list[0].subkey_id, sizeof(apr_cert_list[0].subkey_id));
+ pdata += sizeof(apr_cert_list[0].subkey_id);
}
else
{
packet_size = 3 + 1;
if (apr_cert_list[0].use_subkey)
- packet_size += 1 + sizeof(apr_cert_list[0].subkey_id.keyid); /* for the keyid */
+ packet_size += 1 + sizeof(apr_cert_list[0].subkey_id); /* for the keyid */
/* Only v4 fingerprints are sent
*/
{
*pdata = PGP_KEY_FINGERPRINT_SUBKEY;
pdata++;
- *pdata = sizeof(apr_cert_list[0].subkey_id.keyid);
+ *pdata = sizeof(apr_cert_list[0].subkey_id);
pdata++;
- memcpy( pdata, apr_cert_list[0].subkey_id.keyid, sizeof(apr_cert_list[0].subkey_id.keyid));
- pdata += sizeof(apr_cert_list[0].subkey_id.keyid);
+ memcpy( pdata, apr_cert_list[0].subkey_id, sizeof(apr_cert_list[0].subkey_id));
+ pdata += sizeof(apr_cert_list[0].subkey_id);
}
else
{
int peer_certificate_list_size = 0;
gnutls_datum_t tmp, akey = { NULL, 0 };
gnutls_openpgp_keyid_t subkey_id;
- gnutls_openpgp_keyid_t* selected_subkey = NULL;
+ void* selected_subkey = NULL;
cred = (gnutls_certificate_credentials_t)
_gnutls_get_cred (session->key, GNUTLS_CRD_CERTIFICATE, NULL);
if (key_type == PGP_KEY_FINGERPRINT_SUBKEY || key_type == PGP_KEY_SUBKEY)
{
/* check size */
- if (*p != sizeof( subkey_id.keyid))
+ if (*p != sizeof( subkey_id))
{
gnutls_assert();
return GNUTLS_E_UNSUPPORTED_CERTIFICATE_TYPE;
}
p++;
DECR_LEN (dsize, 1);
- memcpy( subkey_id.keyid, p, sizeof( subkey_id.keyid));
+ memcpy( subkey_id, p, sizeof( subkey_id));
- p+= sizeof( subkey_id.keyid);
- DECR_LEN (dsize, sizeof( subkey_id.keyid));
+ p+= sizeof( subkey_id);
+ DECR_LEN (dsize, sizeof( subkey_id));
selected_subkey = &subkey_id;
}
return NULL;
}
- ret = gnutls_openpgp_crt_get_preferred_key_id( cert, &local_certs->subkey_id);
+ ret = gnutls_openpgp_crt_get_preferred_key_id( cert, local_certs->subkey_id);
if (ret < 0)
local_certs->use_subkey = 0;
else
#ifdef ENABLE_OPENPGP
case GNUTLS_CRT_OPENPGP:
if (info->use_subkey)
- return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], &info->subkey_id);
+ return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], info->subkey_id);
else
return _gnutls_openpgp_raw_crt_to_gcert (gcert, &info->raw_certificate_list[0], NULL);
#endif
-*/
int
_gnutls_openpgp_raw_crt_to_gcert (gnutls_cert * gcert,
- const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t* keyid)
+ const gnutls_datum_t * raw, const gnutls_openpgp_keyid_t *keyid)
{
gnutls_openpgp_crt_t pcrt;
int ret;
return gnutls_certificate_set_openpgp_key_file2( res, certfile, keyfile, NULL, format);
}
-static int get_keyid( gnutls_openpgp_keyid_t* keyid, const char* str)
+static int get_keyid( gnutls_openpgp_keyid_t keyid, const char* str)
{
- size_t keyid_size = sizeof(keyid->keyid);
+ size_t keyid_size = sizeof(keyid);
if (strlen(str) != 16)
{
return GNUTLS_E_INVALID_REQUEST;
}
- if (_gnutls_hex2bin (str, strlen(str), keyid->keyid, &keyid_size) < 0)
+ if (_gnutls_hex2bin (str, strlen(str), keyid, &keyid_size) < 0)
{
_gnutls_debug_log("Error converting hex string: %s.\n", str);
return GNUTLS_E_INVALID_REQUEST;
gnutls_openpgp_keyid_t keyid;
if (strcasecmp( subkey_id, "auto")==0)
- ret = gnutls_openpgp_crt_get_auth_subkey( cert, &keyid);
+ ret = gnutls_openpgp_crt_get_auth_subkey( cert, keyid);
else
- ret = get_keyid( &keyid, subkey_id);
+ ret = get_keyid( keyid, subkey_id);
if (ret >= 0)
{
dest->params_size = MAX_PRIV_PARAMS_SIZE;
- ret = gnutls_openpgp_privkey_get_preferred_key_id( src, &keyid);
+ ret = gnutls_openpgp_privkey_get_preferred_key_id( src, keyid);
if (ret == 0)
{
uint32_t kid32[2];
_gnutls_debug_log("Importing Openpgp key and using openpgp sub key: %s\n",
- _gnutls_bin2hex( keyid.keyid, sizeof(keyid.keyid), err_buf, sizeof(err_buf)));
+ _gnutls_bin2hex( keyid, sizeof(keyid), err_buf, sizeof(err_buf)));
KEYID_IMPORT(kid32, keyid);
gcert->version = gnutls_openpgp_crt_get_version( cert);
gcert->params_size = MAX_PUBLIC_PARAMS_SIZE;
- ret = gnutls_openpgp_crt_get_preferred_key_id( cert, &keyid);
+ ret = gnutls_openpgp_crt_get_preferred_key_id( cert, keyid);
if (ret == 0)
{
uint32_t kid32[2];
_gnutls_debug_log("Importing Openpgp cert and using openpgp sub key: %s\n",
- _gnutls_bin2hex( keyid.keyid, sizeof(keyid.keyid), err_buf, sizeof(err_buf)));
+ _gnutls_bin2hex( keyid, sizeof(keyid), err_buf, sizeof(err_buf)));
KEYID_IMPORT(kid32, keyid);
gnutls_openpgp_crt_get_subkey_usage( cert, idx, &gcert->key_usage);
gcert->use_subkey = 1;
- gcert->subkey_id = keyid;
+
+ memcpy(gcert->subkey_id, keyid, sizeof(keyid));
ret = _gnutls_openpgp_crt_get_mpis( cert, kid32, gcert->params, &gcert->params_size);
}
return GNUTLS_E_INVALID_REQUEST;
}
- result = gnutls_openpgp_privkey_get_preferred_key_id( key, &keyid);
+ result = gnutls_openpgp_privkey_get_preferred_key_id( key, keyid);
if (result == 0)
{
uint32_t kid[2];
**/
int
gnutls_openpgp_keyring_check_id (gnutls_openpgp_keyring_t ring,
- gnutls_openpgp_keyid_t keyid,
+ const gnutls_openpgp_keyid_t keyid,
unsigned int flags)
{
cdk_pkt_pubkey_t pk;
uint32_t id[2];
- id[0] = _gnutls_read_uint32 (keyid.keyid);
- id[1] = _gnutls_read_uint32 (&keyid.keyid[4]);
+ id[0] = _gnutls_read_uint32 (keyid);
+ id[1] = _gnutls_read_uint32 (&keyid[4]);
if (!cdk_keydb_get_pk (ring->db, id, &pk))
{
#include <auth_cert.h>
#include <opencdk.h>
-typedef struct
-{
- int type;
- size_t size;
- uint8_t *data;
-} keybox_blob;
-
-typedef enum
-{
- KBX_BLOB_FILE = 0x00,
- KBX_BLOB_DATA = 0x01
-} keyring_blob_types;
-
/* OpenCDK compatible */
typedef enum
{
gnutls_openpgp_crt_fmt_t format,
const char *pass, unsigned int flags);
-int _gnutls_openpgp_find_valid_subkey( gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t* keyid);
-
#endif /*GNUTLS_OPENPGP_LOCAL_H */
#endif /*ENABLE_OPENPGP */
#include <gnutls/openpgp.h>
#define KEYID_IMPORT(dst, src) \
- dst[0] = _gnutls_read_uint32( src.keyid); \
- dst[1] = _gnutls_read_uint32( src.keyid+4)
-
-#define KEYID_IMPORT2(dst, src) \
- dst[0] = _gnutls_read_uint32( src->keyid); \
- dst[1] = _gnutls_read_uint32( src->keyid+4)
+ dst[0] = _gnutls_read_uint32( src); \
+ dst[1] = _gnutls_read_uint32( src+4)
/* Internal context to store the OpenPGP key. */
typedef struct gnutls_openpgp_crt_int
int err;
if (idx < 0)
- err = gnutls_openpgp_crt_get_key_id (cert, &id);
+ err = gnutls_openpgp_crt_get_key_id (cert, id);
else
- err = gnutls_openpgp_crt_get_subkey_id( cert, idx, &id);
+ err = gnutls_openpgp_crt_get_subkey_id( cert, idx, id);
if (err < 0)
addf (str, "error: get_key_id: %s\n", gnutls_strerror (err));
else
{
addf (str, _("\tID (hex): "));
- hexprint (str, id.keyid, sizeof(id.keyid));
+ hexprint (str, id, sizeof(id));
addf (str, "\n");
}
}
* Returns the 64-bit keyID of the OpenPGP key.
**/
int
-gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t* keyid)
+gnutls_openpgp_crt_get_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)
{
cdk_packet_t pkt;
uint32_t kid[2];
return GNUTLS_E_OPENPGP_GETKEY_FAILED;
cdk_pk_get_keyid (pkt->pkt.public_key, kid);
- _gnutls_write_uint32( kid[0], keyid->keyid);
- _gnutls_write_uint32( kid[1], keyid->keyid+4);
+ _gnutls_write_uint32( kid[0], keyid);
+ _gnutls_write_uint32( kid[1], keyid+4);
return 0;
}
-/**
+/*-
* gnutls_openpgp_crt_get_id - Gets the keyID
* @key: the structure that contains the OpenPGP public key.
* @keyid: the buffer to save the keyid.
* Returns the 64-bit keyID of the OpenPGP key.
*
* Deprecated: Use gnutls_openpgp_crt_get_key_id() instead.
- **/
+ -*/
int
gnutls_openpgp_crt_get_id (gnutls_openpgp_crt_t key, unsigned char keyid[8])
{
- gnutls_openpgp_keyid_t tmp;
- int ret = gnutls_openpgp_crt_get_key_id (key, &tmp);
- memcpy (keyid, tmp.keyid, sizeof (tmp.keyid));
- return ret;
+ return gnutls_openpgp_crt_get_key_id( key, keyid);
}
/**
* Returns the 64-bit keyID of the OpenPGP key.
**/
int
-gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t* keyid)
+gnutls_openpgp_crt_get_subkey_id (gnutls_openpgp_crt_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid)
{
cdk_packet_t pkt;
uint32_t kid[2];
return GNUTLS_E_OPENPGP_GETKEY_FAILED;
cdk_pk_get_keyid (pkt->pkt.public_key, kid);
- _gnutls_write_uint32( kid[0], keyid->keyid);
- _gnutls_write_uint32( kid[1], keyid->keyid+4);
+ _gnutls_write_uint32( kid[0], keyid);
+ _gnutls_write_uint32( kid[1], keyid+4);
return 0;
}
*
**/
int
-gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)
+gnutls_openpgp_crt_get_subkey_idx (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid)
{
cdk_packet_t pkt;
int ret;
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_crt_get_key_id( crt, &keyid);
+ ret = gnutls_openpgp_crt_get_key_id( crt, keyid);
if (ret < 0)
{
gnutls_assert ();
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_crt_get_key_id( crt, &keyid);
+ ret = gnutls_openpgp_crt_get_key_id( crt, keyid);
if (ret < 0)
{
gnutls_assert ();
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_crt_get_subkey_id( crt, idx, &keyid);
+ ret = gnutls_openpgp_crt_get_subkey_id( crt, idx, keyid);
if (ret < 0)
{
gnutls_assert ();
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_crt_get_subkey_id( crt, idx, &keyid);
+ ret = gnutls_openpgp_crt_get_subkey_id( crt, idx, keyid);
if (ret < 0)
{
gnutls_assert ();
* been set it returns GNUTLS_E_INVALID_REQUEST.
**/
int
-gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t* keyid)
+gnutls_openpgp_crt_get_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)
{
if (!key || !keyid || !key->preferred_set)
{
return GNUTLS_E_INVALID_REQUEST;
}
- memcpy( keyid->keyid, key->preferred_keyid.keyid, sizeof(keyid->keyid));
+ memcpy( keyid, key->preferred_keyid, sizeof(keyid));
return 0;
}
*
**/
int
-gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, gnutls_openpgp_keyid_t keyid)
+gnutls_openpgp_crt_set_preferred_key_id (gnutls_openpgp_crt_t key, const gnutls_openpgp_keyid_t keyid)
{
int ret;
}
key->preferred_set = 1;
- memcpy( key->preferred_keyid.keyid, keyid.keyid, sizeof(keyid.keyid));
+ memcpy( key->preferred_keyid, keyid, sizeof(keyid));
return 0;
}
*
* Returns zero on success.
**/
-int gnutls_openpgp_crt_get_auth_subkey( gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t* keyid)
+int gnutls_openpgp_crt_get_auth_subkey( gnutls_openpgp_crt_t crt, gnutls_openpgp_keyid_t keyid)
{
int ret, subkeys, i;
unsigned int usage;
/* Check if the key is included in the ring. */
if (!(flags & GNUTLS_VERIFY_DO_NOT_ALLOW_SAME))
{
- rc = gnutls_openpgp_crt_get_key_id (key, &id);
+ rc = gnutls_openpgp_crt_get_key_id (key, id);
if (rc < 0)
{
gnutls_assert ();
* Returns the 64-bit keyID of the OpenPGP key.
**/
int
-gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t* keyid)
+gnutls_openpgp_privkey_get_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)
{
cdk_packet_t pkt;
uint32_t kid[2];
return GNUTLS_E_OPENPGP_GETKEY_FAILED;
cdk_sk_get_keyid (pkt->pkt.secret_key, kid);
- _gnutls_write_uint32( kid[0], keyid->keyid);
- _gnutls_write_uint32( kid[1], keyid->keyid+4);
+ _gnutls_write_uint32( kid[0], keyid);
+ _gnutls_write_uint32( kid[1], keyid+4);
return 0;
}
*
**/
int
-gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)
+gnutls_openpgp_privkey_get_subkey_idx (gnutls_openpgp_privkey_t key, const gnutls_openpgp_keyid_t keyid)
{
cdk_packet_t pkt;
int ret;
* Returns the 64-bit keyID of the OpenPGP key.
**/
int
-gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t* keyid)
+gnutls_openpgp_privkey_get_subkey_id (gnutls_openpgp_privkey_t key, unsigned int idx, gnutls_openpgp_keyid_t keyid)
{
cdk_packet_t pkt;
uint32_t kid[2];
return GNUTLS_E_OPENPGP_GETKEY_FAILED;
cdk_sk_get_keyid (pkt->pkt.secret_key, kid);
- _gnutls_write_uint32( kid[0], keyid->keyid);
- _gnutls_write_uint32( kid[1], keyid->keyid+4);
+ _gnutls_write_uint32( kid[0], keyid);
+ _gnutls_write_uint32( kid[1], keyid+4);
return 0;
}
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_privkey_get_key_id( pkey, &keyid);
+ ret = gnutls_openpgp_privkey_get_key_id( pkey, keyid);
if (ret < 0)
{
gnutls_assert ();
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_privkey_get_key_id( pkey, &keyid);
+ ret = gnutls_openpgp_privkey_get_key_id( pkey, keyid);
if (ret < 0)
{
gnutls_assert ();
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_privkey_get_subkey_id( pkey, idx, &keyid);
+ ret = gnutls_openpgp_privkey_get_subkey_id( pkey, idx, keyid);
if (ret < 0)
{
gnutls_assert ();
gnutls_openpgp_keyid_t keyid;
int ret;
- ret = gnutls_openpgp_privkey_get_subkey_id( pkey, idx, &keyid);
+ ret = gnutls_openpgp_privkey_get_subkey_id( pkey, idx, keyid);
if (ret < 0)
{
gnutls_assert ();
* been set it returns GNUTLS_E_INVALID_REQUEST.
**/
int
-gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t* keyid)
+gnutls_openpgp_privkey_get_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)
{
if (!key || !keyid || !key->preferred_set)
{
return GNUTLS_E_INVALID_REQUEST;
}
- memcpy( keyid->keyid, key->preferred_keyid.keyid, sizeof(keyid->keyid));
+ memcpy( keyid, key->preferred_keyid, sizeof(keyid));
return 0;
}
*
**/
int
-gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key, gnutls_openpgp_keyid_t keyid)
+gnutls_openpgp_privkey_set_preferred_key_id (gnutls_openpgp_privkey_t key,
+ const gnutls_openpgp_keyid_t keyid)
{
int ret;
}
key->preferred_set = 1;
- memcpy( key->preferred_keyid.keyid, keyid.keyid, sizeof(keyid.keyid));
+ memcpy( key->preferred_keyid, keyid, sizeof(keyid));
return 0;
}
size = sizeof (buffer);
if (i == -1)
- ret = gnutls_openpgp_privkey_get_key_id (key, &keyid);
+ ret = gnutls_openpgp_privkey_get_key_id (key, keyid);
else
- ret = gnutls_openpgp_privkey_get_subkey_id (key, i, &keyid);
+ ret = gnutls_openpgp_privkey_get_subkey_id (key, i, keyid);
if (ret < 0)
{
else
{
fprintf (outfile, "Public Key ID: %s\n",
- raw_to_string (keyid.keyid, 8));
+ raw_to_string (keyid, 8));
}
}
__gaa_helpsingle(0, "pgpkeyfile", "FILE ", "PGP Key file to use.");
__gaa_helpsingle(0, "pgpkeyring", "FILE ", "PGP Key ring file to use.");
__gaa_helpsingle(0, "pgpcertfile", "FILE ", "PGP Public Key (certificate) file to use.");
- __gaa_helpsingle(0, "pgpsubkey", "HEX ", "PGP subkey to use.");
+ __gaa_helpsingle(0, "pgpsubkey", "HEX|auto ", "PGP subkey to use.");
__gaa_helpsingle(0, "x509keyfile", "FILE ", "X.509 key file to use.");
__gaa_helpsingle(0, "x509certfile", "FILE ", "X.509 Certificate file to use.");
__gaa_helpsingle(0, "srpusername", "NAME ", "SRP username to use.");
static void get_keyid( gnutls_openpgp_keyid_t* keyid, const char* str)
{
- size_t keyid_size = sizeof(keyid->keyid);
+ size_t keyid_size = sizeof(keyid);
if (strlen(str) != 16)
{
exit(1);
}
- if (gnutls_hex2bin (str, strlen(str), keyid->keyid, &keyid_size) < 0)
+ if (gnutls_hex2bin (str, strlen(str), keyid, &keyid_size) < 0)
{
fprintf(stderr, "Error converting hex string: %s.\n", str);
exit(1);
__gaa_helpsingle(0, "pgpkeyring", "FILE ", "PGP Key ring file to use.");
__gaa_helpsingle(0, "pgpkeyfile", "FILE ", "PGP Key file to use.");
__gaa_helpsingle(0, "pgpcertfile", "FILE ", "PGP Public Key (certificate) file to use.");
- __gaa_helpsingle(0, "pgpsubkey", "HEX ", "PGP subkey to use.");
+ __gaa_helpsingle(0, "pgpsubkey", "HEX|auto ", "PGP subkey to use.");
__gaa_helpsingle(0, "x509keyfile", "FILE ", "X.509 key file to use.");
__gaa_helpsingle(0, "x509certfile", "FILE ", "X.509 Certificate file to use.");
__gaa_helpsingle(0, "x509dsakeyfile", "FILE ", "Alternative X.509 key file to use.");
/* The ID of a key known to be in the above keyring. */
static const gnutls_openpgp_keyid_t id_in_keyring =
/* "Dr. Who", first key in the keyring */
- { { 0x35, 0x14, 0x5c, 0xea,
- 0xa7, 0xd9, 0x3c, 0x3f } };
+ { 0x35, 0x14, 0x5c, 0xea,
+ 0xa7, 0xd9, 0x3c, 0x3f };
static const gnutls_openpgp_keyid_t id2_in_keyring =
/* OpenCDK test key, second key in the keyring */
- { { 0xbd, 0x57, 0x2c, 0xdc,
- 0xcc, 0xc0, 0x7c, 0x35 } };
+ { 0xbd, 0x57, 0x2c, 0xdc,
+ 0xcc, 0xc0, 0x7c, 0x35 };
static const gnutls_openpgp_keyid_t id_not_in_keyring =
- { { 0x00, 0x00, 0x00, 0x00,
- 0x00, 0x00, 0x00, 0x00 } };
+ { 0x00, 0x00, 0x00, 0x00,
+ 0x00, 0x00, 0x00, 0x00 };
\f
void