mirror of
git://git.gnupg.org/gnupg.git
synced 2024-11-09 21:28:51 +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
|
||||||
==================================
|
==================================
|
||||||
|
27
doc/gpg.1pod
27
doc/gpg.1pod
@ -72,7 +72,7 @@ B<-k> [I<username>] [I<keyring>]
|
|||||||
|
|
||||||
B<This command may be removed in the future!>
|
B<This command may be removed in the future!>
|
||||||
|
|
||||||
B<--list-keys> [I<names>]
|
B<--list-keys> [I<names>]
|
||||||
B<--list-public-keys> [I<names>]
|
B<--list-public-keys> [I<names>]
|
||||||
List all keys from the public keyrings, or just the
|
List all keys from the public keyrings, or just the
|
||||||
ones given on the command line.
|
ones given on the command line.
|
||||||
@ -81,7 +81,7 @@ B<--list-secret-keys> [I<names>]
|
|||||||
List all keys from the secret keyrings, or just the
|
List all keys from the secret keyrings, or just the
|
||||||
ones given on the command line.
|
ones given on the command line.
|
||||||
|
|
||||||
B<--list-sigs> [I<names>]
|
B<--list-sigs> [I<names>]
|
||||||
Same as B<--list-keys>, but the signatures are listed
|
Same as B<--list-keys>, but the signatures are listed
|
||||||
too.
|
too.
|
||||||
|
|
||||||
@ -141,7 +141,7 @@ B<--edit-key> I<name>
|
|||||||
B<revkey>
|
B<revkey>
|
||||||
Revoke a subkey.
|
Revoke a subkey.
|
||||||
B<expire>
|
B<expire>
|
||||||
Change the key expiration time. If a key is
|
Change the key expiration time. If a key is
|
||||||
selected, the time of this key will be changed.
|
selected, the time of this key will be changed.
|
||||||
With no selection the key expiration of the
|
With no selection the key expiration of the
|
||||||
primary key is changed.
|
primary key is changed.
|
||||||
@ -212,7 +212,7 @@ B<--export-secret-keys> [I<names>]
|
|||||||
This is normally not very useful.
|
This is normally not very useful.
|
||||||
|
|
||||||
B<--import>, B<--fast-import>
|
B<--import>, B<--fast-import>
|
||||||
Import/merge keys. The fast version does not build
|
Import/merge keys. The fast version does not build
|
||||||
the trustdb; this can be done at any time with the
|
the trustdb; this can be done at any time with the
|
||||||
command B<--update-trustdb>.
|
command B<--update-trustdb>.
|
||||||
|
|
||||||
@ -234,7 +234,7 @@ B<--import-ownertrust> [I<filename>]
|
|||||||
|
|
||||||
Long options can be put in an options file (default F<~/.gnupg/options>).
|
Long options can be put in an options file (default F<~/.gnupg/options>).
|
||||||
Do not write the 2 dashes, but simply the name of the option and any
|
Do not write the 2 dashes, but simply the name of the option and any
|
||||||
required arguments. Lines with a hash as the first non-white-space
|
required arguments. Lines with a hash as the first non-white-space
|
||||||
character are ignored. Commands may be put in this file too, but that
|
character are ignored. Commands may be put in this file too, but that
|
||||||
does not make sense.
|
does not make sense.
|
||||||
|
|
||||||
@ -257,7 +257,7 @@ B<--default-key> I<name>
|
|||||||
is not used the default user-id is the first user-id
|
is not used the default user-id is the first user-id
|
||||||
from the secret keyring.
|
from the secret keyring.
|
||||||
|
|
||||||
B<-r> I<name>, B<--recipient> I<name>
|
B<-r> I<name>, B<--recipient> I<name>
|
||||||
Encrypt for user id I<name>. If this option is not
|
Encrypt for user id I<name>. If this option is not
|
||||||
specified, GnuPG asks for the user id.
|
specified, GnuPG asks for the user id.
|
||||||
|
|
||||||
@ -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.
|
||||||
|
|
||||||
@ -549,11 +552,11 @@ a signature was bad, and other error codes for fatal errors.
|
|||||||
|
|
||||||
=head1 EXAMPLES
|
=head1 EXAMPLES
|
||||||
|
|
||||||
-se -r Bob [file] sign and encrypt for user Bob
|
-se -r Bob [file] sign and encrypt for user Bob
|
||||||
-sat [file] make a clear text signature
|
-sat [file] make a clear text signature
|
||||||
-sb [file] make a detached signature
|
-sb [file] make a detached signature
|
||||||
-k [userid] show keys
|
-k [userid] show keys
|
||||||
-kc [userid] show fingerprint
|
-kc [userid] show fingerprint
|
||||||
|
|
||||||
=head1 ENVIRONMENT
|
=head1 ENVIRONMENT
|
||||||
|
|
||||||
@ -571,7 +574,7 @@ F<~/.gnupg/pubring.gpg.lock> and the lock file
|
|||||||
F<~/.gnupg/trustdb.gpg> The trust database
|
F<~/.gnupg/trustdb.gpg> The trust database
|
||||||
F<~/.gnupg/trustdb.gpg.lock> and the lock file
|
F<~/.gnupg/trustdb.gpg.lock> and the lock file
|
||||||
|
|
||||||
F<~/.gnupg/options> May contain options
|
F<~/.gnupg/options> May contain options
|
||||||
F</usr[/local]/share/gnupg/options.skel> Skeleton file
|
F</usr[/local]/share/gnupg/options.skel> Skeleton file
|
||||||
|
|
||||||
F</usr[/local]/lib/gnupg/> Default location for extensions
|
F</usr[/local]/lib/gnupg/> Default location for extensions
|
||||||
|
@ -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…
Reference in New Issue
Block a user