
Descargué GnuPG 1.4.19. Entre los ejecutables, hay
gpgkeys_hkp.exe
,gpgkeys_finger.exe
ygpgkeys_ldap.exe
.
Descubrí que el primero de los tres ejecutables es necesario para la comunicación con los servidores de clave pública. ¿Cuál es la función de
gpgkeys_finger.exe
ygpgkeys_ldap.exe
?
Respuesta1
Estos son controladores de protocolo de servidor clave, en otras palabras, implementan diferentes formas de acceder a servidores clave con GnuPG. En el caso de los enumerados, HKP es el protocolo comúnmente utilizado en la actualidad. El protocolo Finger probablemente tuvo un uso más amplio como esquema de búsqueda de recursos en las empresas antes, pero todavía está disponible; hoy en día, las empresas suelen utilizar bases de datos LDAP tanto para almacenar información del usuario como para verificar las credenciales.
Estas aplicaciones no están diseñadas para ejecutarse manualmente, no existe documentación sobre cómo usarlas. Como desperté interés por mi cuenta, lo reemplacé gpgkeys_hkp
con un pequeño script contenedor (para sistemas Linux, en Windows necesitarías otro) que intercepta la entrada al binario real:
#!/usr/bin/env sh
tee /tmp/gpgkeys_hkp.log | /usr/lib/gnupg/gpgkeys_hkp_
tee
vuelca todo en STDIN a /tmp/gpgkeys_hkp.log
y luego reenvía la misma entrada a la gpgkeys_hkp
implementación real renombrada. La búsqueda de una clave [email protected]
revela los siguientes comandos enviados al controlador del servidor de claves para realizar la búsqueda
# This is a GnuPG 1.4.19 keyserver communications file
VERSION 1
PROGRAM 1.4.19
SCHEME hkp
HOST pool.sks-keyservers.net
PATH /
COMMAND SEARCH
[email protected]
y finalmente recuperando la llave
# This is a GnuPG 1.4.19 keyserver communications file
VERSION 1
PROGRAM 1.4.19
SCHEME hkp
HOST pool.sks-keyservers.net
PATH /
COMMAND GET
0x0D69E11F12BDBA077B3726AB4E1F799AA4FF2279
Al intentar ejecutarlos en Windows,podríameterse en problemas debido a la diferente codificación de los finales de línea ( CRLF
/ \r\n
en Windows en lugar de LF
/ \n
en Linux), pero guardar esos contenidos como archivos de texto codificados en "UNIX" y finalmente leerlos debería funcionar bien y revelar los resultados:
gpgkeys_hkp <input.txt # on Linux/other unixoid systems
gpgkeys_hkp.exe <input.txt # for Windows