mirror of
git://git.gnupg.org/gnupg.git
synced 2025-07-03 22:56:33 +02:00
New gpg-agent command to list key information.
Gpgsm does now print the S/N of cards. Consider ephemeral keys during listing an export.
This commit is contained in:
parent
59d7a54e72
commit
a9c317a95c
20 changed files with 601 additions and 180 deletions
|
@ -1,3 +1,7 @@
|
|||
2009-03-06 Werner Koch <wk@g10code.com>
|
||||
|
||||
* sexputil.c (make_canon_sexp): New.
|
||||
|
||||
2009-03-03 Werner Koch <wk@g10code.com>
|
||||
|
||||
* exechelp.c (do_exec): Make sure that /dev/null connected FDs are
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* sexputil.c - Utility functions for S-expressions.
|
||||
* Copyright (C) 2005, 2007 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2005, 2007, 2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
|
@ -34,6 +34,42 @@
|
|||
#include "util.h"
|
||||
#include "sexp-parse.h"
|
||||
|
||||
|
||||
/* Helper function to create a a canonical encoded S-expression from a
|
||||
Libgcrypt S-expression object. The function returns 0 on success
|
||||
and the malloced canonical S-expression is stored at R_BUFFER and
|
||||
the allocated length at R_BUFLEN. On error an error code is
|
||||
returned and (NULL, 0) stored at R_BUFFER and R_BUFLEN. If the
|
||||
allocated buffer length is not required, NULL by be used for
|
||||
R_BUFLEN. */
|
||||
gpg_error_t
|
||||
make_canon_sexp (gcry_sexp_t sexp, unsigned char **r_buffer, size_t *r_buflen)
|
||||
{
|
||||
size_t len;
|
||||
unsigned char *buf;
|
||||
|
||||
*r_buffer = NULL;
|
||||
if (r_buflen)
|
||||
*r_buflen = 0;;
|
||||
|
||||
len = gcry_sexp_sprint (sexp, GCRYSEXP_FMT_CANON, NULL, 0);
|
||||
if (!len)
|
||||
return gpg_error (GPG_ERR_BUG);
|
||||
buf = xtrymalloc (len);
|
||||
if (!buf)
|
||||
return gpg_error_from_syserror ();
|
||||
len = gcry_sexp_sprint (sexp, GCRYSEXP_FMT_CANON, buf, len);
|
||||
if (!len)
|
||||
return gpg_error (GPG_ERR_BUG);
|
||||
|
||||
*r_buffer = buf;
|
||||
if (r_buflen)
|
||||
*r_buflen = len;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
||||
/* Return the so called "keygrip" which is the SHA-1 hash of the
|
||||
public key parameters expressed in a way depended on the algorithm.
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
/* util.h - Utility functions for GnuPG
|
||||
* Copyright (C) 2001, 2002, 2003, 2004 Free Software Foundation, Inc.
|
||||
* Copyright (C) 2001, 2002, 2003, 2004, 2009 Free Software Foundation, Inc.
|
||||
*
|
||||
* This file is part of GnuPG.
|
||||
*
|
||||
|
@ -183,6 +183,8 @@ gpg_error_t b64dec_finish (struct b64state *state);
|
|||
|
||||
|
||||
/*-- sexputil.c */
|
||||
gpg_error_t make_canon_sexp (gcry_sexp_t sexp,
|
||||
unsigned char **r_buffer, size_t *r_buflen);
|
||||
gpg_error_t keygrip_from_canon_sexp (const unsigned char *key, size_t keylen,
|
||||
unsigned char *grip);
|
||||
int cmp_simple_canon_sexp (const unsigned char *a, const unsigned char *b);
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue