mirror of
git://git.gnupg.org/gnupg.git
synced 2025-01-03 12:11:33 +01:00
See ChangeLog: Tue Jun 8 13:36:25 CEST 1999 Werner Koch
This commit is contained in:
parent
717bce345c
commit
40238d4b63
@ -293,7 +293,6 @@ verify(MPI r, MPI s, MPI hash, DSA_public_key *pkey )
|
|||||||
/* u2 = r * w mod q */
|
/* u2 = r * w mod q */
|
||||||
mpi_mulm( u2, r, w, pkey->q );
|
mpi_mulm( u2, r, w, pkey->q );
|
||||||
|
|
||||||
|
|
||||||
/* v = g^u1 * y^u2 mod p mod q */
|
/* v = g^u1 * y^u2 mod p mod q */
|
||||||
base[0] = pkey->g; exp[0] = u1;
|
base[0] = pkey->g; exp[0] = u1;
|
||||||
base[1] = pkey->y; exp[1] = u2;
|
base[1] = pkey->y; exp[1] = u2;
|
||||||
|
@ -12,6 +12,7 @@ ssb::1536:20:5CE086B5B5A18FF4:1998-07-07:0:::
|
|||||||
ssb = secret subkey (secondary key)
|
ssb = secret subkey (secondary key)
|
||||||
uid = user id (only field 10 is used).
|
uid = user id (only field 10 is used).
|
||||||
fpr = fingerprint: (fingerprint is in field 10)
|
fpr = fingerprint: (fingerprint is in field 10)
|
||||||
|
pkd = public key data (special field format, see below)
|
||||||
|
|
||||||
2. Field: A letter describing the calculated trust, see doc/FAQ
|
2. Field: A letter describing the calculated trust, see doc/FAQ
|
||||||
This is a single letter, but be prepared that additional
|
This is a single letter, but be prepared that additional
|
||||||
@ -39,6 +40,13 @@ ssb::1536:20:5CE086B5B5A18FF4:1998-07-07:0:::
|
|||||||
|
|
||||||
More fields may be added later.
|
More fields may be added later.
|
||||||
|
|
||||||
|
If field 1 has the tag "pkd", a listing looks like this:
|
||||||
|
pkd:0:1024:B665B1435F4C2 .... FF26ABB:
|
||||||
|
! ! !-- the value
|
||||||
|
! !------ for infomation number of bits in the value
|
||||||
|
!--------- index (eg. DSA goes from 0 to 3: p,q,g,y)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
Format of the "--status-fd" output
|
Format of the "--status-fd" output
|
||||||
==================================
|
==================================
|
||||||
|
@ -535,6 +535,9 @@ B<--version>
|
|||||||
B<--with-colons>
|
B<--with-colons>
|
||||||
Print key listings delimited by colons.
|
Print key listings delimited by colons.
|
||||||
|
|
||||||
|
B<--with-key-data>
|
||||||
|
Print key listings delimited by colons and print the public key data.
|
||||||
|
|
||||||
B<--warranty>
|
B<--warranty>
|
||||||
Print warranty information.
|
Print warranty information.
|
||||||
|
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
Tue Jun 8 13:36:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
* keylist.c (print_key_data): New and called elsewhere.
|
||||||
|
* g10.c: New option --with-key-data
|
||||||
|
|
||||||
Wed Jun 2 14:17:19 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
Wed Jun 2 14:17:19 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
* mainproc.c (proc_tree): Yet another bad hack to cope with
|
* mainproc.c (proc_tree): Yet another bad hack to cope with
|
||||||
|
@ -136,6 +136,7 @@ enum cmd_and_opt_values { aNull = 0,
|
|||||||
oNoBatch,
|
oNoBatch,
|
||||||
oHomedir,
|
oHomedir,
|
||||||
oWithColons,
|
oWithColons,
|
||||||
|
oWithKeyData,
|
||||||
oSkipVerify,
|
oSkipVerify,
|
||||||
oCompressKeys,
|
oCompressKeys,
|
||||||
oCompressSigs,
|
oCompressSigs,
|
||||||
@ -285,6 +286,7 @@ static ARGPARSE_OPTS opts[] = {
|
|||||||
{ oHomedir, "homedir", 2, "@" }, /* defaults to "~/.gnupg" */
|
{ oHomedir, "homedir", 2, "@" }, /* defaults to "~/.gnupg" */
|
||||||
{ oNoBatch, "no-batch", 0, "@" },
|
{ oNoBatch, "no-batch", 0, "@" },
|
||||||
{ oWithColons, "with-colons", 0, "@"},
|
{ oWithColons, "with-colons", 0, "@"},
|
||||||
|
{ oWithKeyData,"with-key-data", 0, "@"},
|
||||||
{ aListKeys, "list-key", 0, "@" }, /* alias */
|
{ aListKeys, "list-key", 0, "@" }, /* alias */
|
||||||
{ aListSigs, "list-sig", 0, "@" }, /* alias */
|
{ aListSigs, "list-sig", 0, "@" }, /* alias */
|
||||||
{ aCheckKeys, "check-sig",0, "@" }, /* alias */
|
{ aCheckKeys, "check-sig",0, "@" }, /* alias */
|
||||||
@ -693,6 +695,7 @@ main( int argc, char **argv )
|
|||||||
case oNoOptions: break; /* no-options */
|
case oNoOptions: break; /* no-options */
|
||||||
case oHomedir: opt.homedir = pargs.r.ret_str; break;
|
case oHomedir: opt.homedir = pargs.r.ret_str; break;
|
||||||
case oNoBatch: opt.batch = 0; break;
|
case oNoBatch: opt.batch = 0; break;
|
||||||
|
case oWithKeyData: opt.with_key_data=1; /* fall thru */
|
||||||
case oWithColons: opt.with_colons=':'; break;
|
case oWithColons: opt.with_colons=':'; break;
|
||||||
|
|
||||||
case oSkipVerify: opt.skip_verify=1; break;
|
case oSkipVerify: opt.skip_verify=1; break;
|
||||||
|
@ -152,6 +152,20 @@ list_one( STRLIST names, int secret )
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
print_key_data( PKT_public_key *pk, u32 *keyid )
|
||||||
|
{
|
||||||
|
int n = pubkey_get_npkey( pk->pubkey_algo );
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for(i=0; i < n; i++ ) {
|
||||||
|
printf("pkd:%d:%u:", i, mpi_get_nbits( pk->pkey[i] ) );
|
||||||
|
mpi_print(stdout, pk->pkey[i], 1 );
|
||||||
|
putchar(':');
|
||||||
|
putchar('\n');
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
list_keyblock( KBNODE keyblock, int secret )
|
list_keyblock( KBNODE keyblock, int secret )
|
||||||
@ -249,6 +263,8 @@ list_keyblock( KBNODE keyblock, int secret )
|
|||||||
if( !any ) {
|
if( !any ) {
|
||||||
if( opt.fingerprint )
|
if( opt.fingerprint )
|
||||||
fingerprint( pk, sk );
|
fingerprint( pk, sk );
|
||||||
|
if( opt.with_key_data )
|
||||||
|
print_key_data( pk, keyid );
|
||||||
any = 1;
|
any = 1;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -289,6 +305,8 @@ list_keyblock( KBNODE keyblock, int secret )
|
|||||||
datestr_from_pk( pk2 ) );
|
datestr_from_pk( pk2 ) );
|
||||||
if( opt.fingerprint > 1 )
|
if( opt.fingerprint > 1 )
|
||||||
fingerprint( pk2, NULL );
|
fingerprint( pk2, NULL );
|
||||||
|
if( opt.with_key_data )
|
||||||
|
print_key_data( pk2, keyid2 );
|
||||||
}
|
}
|
||||||
else if( node->pkt->pkttype == PKT_SECRET_SUBKEY ) {
|
else if( node->pkt->pkttype == PKT_SECRET_SUBKEY ) {
|
||||||
u32 keyid2[2];
|
u32 keyid2[2];
|
||||||
|
@ -39,6 +39,7 @@ struct {
|
|||||||
int answer_no; /* answer no on most questions */
|
int answer_no; /* answer no on most questions */
|
||||||
int check_sigs; /* check key signatures */
|
int check_sigs; /* check key signatures */
|
||||||
int with_colons;
|
int with_colons;
|
||||||
|
int with_key_data;
|
||||||
int fingerprint; /* list fingerprints */
|
int fingerprint; /* list fingerprints */
|
||||||
int list_sigs; /* list signatures */
|
int list_sigs; /* list signatures */
|
||||||
int no_armor;
|
int no_armor;
|
||||||
|
@ -1,3 +1,8 @@
|
|||||||
|
Tue Jun 8 13:36:25 CEST 1999 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
|
* mpicalc.c (main): hex digits may now be lowercase
|
||||||
|
(do_mulm): new.
|
||||||
|
|
||||||
Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
Thu Dec 10 20:15:36 CET 1998 Werner Koch <wk@isil.d.shuttle.de>
|
||||||
|
|
||||||
* mpicalc.c (main): Moved initialization out of definition.
|
* mpicalc.c (main): Moved initialization out of definition.
|
||||||
|
@ -130,6 +130,18 @@ do_mul(void)
|
|||||||
stackidx--;
|
stackidx--;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static void
|
||||||
|
do_mulm(void)
|
||||||
|
{
|
||||||
|
if( stackidx < 3 ) {
|
||||||
|
fputs("stack underflow\n", stderr);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
mpi_mulm( stack[stackidx-3], stack[stackidx-3],
|
||||||
|
stack[stackidx-2], stack[stackidx-1] );
|
||||||
|
stackidx -= 2;
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
do_div(void)
|
do_div(void)
|
||||||
{
|
{
|
||||||
@ -237,7 +249,7 @@ main(int argc, char **argv)
|
|||||||
|
|
||||||
while( (c=getc(stdin)) != EOF ) {
|
while( (c=getc(stdin)) != EOF ) {
|
||||||
if( !state ) { /* waiting */
|
if( !state ) { /* waiting */
|
||||||
if( isdigit(c) || (c >='A' && c <= 'F') ) {
|
if( isdigit(c) ) {
|
||||||
state = 1;
|
state = 1;
|
||||||
ungetc(c, stdin);
|
ungetc(c, stdin);
|
||||||
strbuf[0] = '0';
|
strbuf[0] = '0';
|
||||||
@ -275,6 +287,9 @@ main(int argc, char **argv)
|
|||||||
case '*':
|
case '*':
|
||||||
do_mul();
|
do_mul();
|
||||||
break;
|
break;
|
||||||
|
case 'm':
|
||||||
|
do_mulm();
|
||||||
|
break;
|
||||||
case '/':
|
case '/':
|
||||||
do_div();
|
do_div();
|
||||||
break;
|
break;
|
||||||
@ -338,7 +353,7 @@ main(int argc, char **argv)
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
else if( state == 1 ) { /* in a number */
|
else if( state == 1 ) { /* in a number */
|
||||||
if( !(isdigit(c) || (c >='A' && c <= 'F')) ) { /* store the number */
|
if( !isxdigit(c) ) { /* store the number */
|
||||||
state = 0;
|
state = 0;
|
||||||
ungetc(c, stdin);
|
ungetc(c, stdin);
|
||||||
if( stridx < 1000 )
|
if( stridx < 1000 )
|
||||||
|
Loading…
x
Reference in New Issue
Block a user