-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 NotDashEscaped: You need GnuPG to verify this message This patch enables gpg version 1.0.6d to generate RSA v3 keys RSA v3 keys are deprecated, but they are only ones compatible with PGP 2.6. To generate RSAv3 key: gpg --expert --pgp2 --gen-key This patch also enables to generate RSA v4 sign+encrypt key as single key. Such keys are not recommended, it's better to generate RSA v4 sign-only key and then generate RSA v4 encrypt-only subkey for it. Anyway: to generate RSA v4 sign+encrypt key: gpg --expert --gen-key Copyright 2001 Free Software Foundation, Inc. This patch is free software; you can use it, redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. Unpack file gnupg-1.0.6d.tar.gz Change to directory gnupg-1.0.6d and give this command: patch -p1 < somepath/gnupg-1.0.6d-keygen.diff Now you can type: ./configure make --- gnupg-1.0.6d-orig\g10\keygen.c Wed Jan 30 18:24:58 2002 +++ gnupg-1.0.6d\g10\keygen.c Thu Mar 28 13:46:19 2002 @@ -673,7 +673,8 @@ sk = m_alloc_clear( sizeof *sk ); pk = m_alloc_clear( sizeof *pk ); sk->timestamp = pk->timestamp = make_timestamp(); - sk->version = pk->version = 4; + sk->version = pk->version = (opt.expert && opt.pgp2) ? 3 : 4; + if (opt.expert && opt.pgp2) pk->hdrbytes = 3; if( expireval ) { sk->expiredate = pk->expiredate = sk->timestamp + expireval; } @@ -768,9 +769,15 @@ if( addmode ) tty_printf( _(" (%d) ElGamal (encrypt only)\n"), 3 ); tty_printf( _(" (%d) ElGamal (sign and encrypt)\n"), 4 ); + if (opt.expert && opt.pgp2) { + tty_printf( _(" (%d) RSAv3 (sign and encrypt, PGP 2.6 compatible, not recommended)\n"), 5 ); + } else { tty_printf( _(" (%d) RSA (sign only)\n"), 5 ); if (addmode) tty_printf( _(" (%d) RSA (encrypt only)\n"), 6 ); + if (opt.expert) + tty_printf( _(" (%d) RSA (sign and encrypt, not recommended)\n"), 7 ); + } for(;;) { answer = cpr_get("keygen.algo",_("Your selection? ")); @@ -779,6 +786,11 @@ m_free(answer); if( algo == 1 && !addmode ) { algo = 0; /* create both keys */ + break; + } + else if( opt.expert && algo == 7 ) { + algo = PUBKEY_ALGO_RSA; + *r_usage = PUBKEY_USAGE_SIG | PUBKEY_USAGE_ENC; break; } else if( algo == 6 && addmode ) { -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.0.6 (MingW32) iD8DBQE8owbmMFpNUS4lDGQRAtGHAKD76F0vISt0ENempSPB9Bspa75/QQCfZGJz RTgiw+aG/v7dmXuYqLHrsAA= =9TMi -----END PGP SIGNATURE-----