Once the extensions are loaded it is straightforward to import a PGP 2.x
key pair using the option import.
There are two caveats, however.
You must not export a private key from PGP 2.x as an ASCII-armored file.
Because PGP 2.x predates the OpenPGP specification,
the armored message header PGP 2.x uses is not compliant with OpenPGP.
Because private key export is rare, GnuPG does not check for the
case when the ASCII-armored message is a private key.
GnuPG expects imported public keys to be self-signed
by the corresponding private key.
This is a prudent precaution, and
both GnuPG and newer versions of PGP self-sign public keys when they
are first created.
This is not done by PGP 2.x, however.
To solve this, you can first self-sign the public key before exporting
it from PGP 2.x.
Alternatively, you can use the option
allow-non-selfsigned-uid to force GnuPG to take the
key anyway.
It is recommended that you self-sign the key either
before exporting it or after you have imported it, though, since using
a non-self-signed key is a security risk.
alice% pgp -kx alice public.pgp
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
[...]
Extracting from key ring: '/u/alice/.pgp/pubring.pgp', userid "alice".
Key for user ID: Alice <alice@cyb.org>
1024-bit key, Key ID 24E2C409, created 1999/09/18
Key extracted to file 'public.pgp'.
alice%pgp -kx alice private.pgp .pgp/secring.pgp
Pretty Good Privacy(tm) 2.6.2 - Public-key encryption for the masses.
[...]
Extracting from key ring: '.pgp/secring.pgp', userid "alice".
Key for user ID: Alice <alice@cyb.org>
1024-bit key, Key ID 24E2C409, created 1999/09/18
Key extracted to file 'private.pgp'.
alice%gpg --import public.pgp
gpg: key 24E2C409: public key imported
gpg: Total number processed: 1
gpg: imported: 1 (RSA: 1)
alice%gpg --import private.pgp
gpg: key 24E2C409: secret key imported
gpg: Total number processed: 1
gpg: secret keys read: 1
gpg: secret keys imported: 1