Admin Libre - Administración de sistemas y redes

Registro DNS OPENPGPKEY
Por Francisco Gaitán el 19 de Abril de 2022

El registro de recurso DNS OPENPGPKEY permite publicar claves públicas en formato OpenPGP a través del servidor DNS mediante un tipo de registro especial. Aquí explico como se configura en un sistema OpenBSD que funciona con el servidor DNS NSD.

Referencias

Exportar la clave pública al formato adecuado

Según el borrador del RFC:

$ gpg --export --export-options export-minimal,no-export-attributes \
       hugh@example.com | base64

En OpenBSD:

$ gpg --export --export-options export-minimal,no-export-attributes \
	hugh@example.com | openssl base64

Generar la etiqueta correspondiente al usuario

El campo local-part de la dirección de correo hugh@example.com según el RFC 5322 sería hugh. Generando el hash SHA2 256 el resultado es:

$ echo -n hugh | sha256
c93f1e400f26708f98cb19d936620da35eec8f72e57f9eec01c1afd64efa1583

Ahora hay que truncarlo a 28 octetos (RFC 7929 sección 3). Como cada carácter hexadecimal representa 4 bits, un byte serán dos caracteres hexadecimales, con lo que queda:

$ echo -n hugh | sha256 | cut -c -56
c93f1e400f26708f98cb19d936620da35eec8f72e57f9eec01c1afd6

Crear la entrada DNS para OPENPGPKEY

Esta sería la entrada de DNS correspondiente para la dirección de correo electrónico hugh@example.com tal y como se configuraría en la zona DNS:

c93f1e400f26708f98cb19d936620da35eec8f72e57f9eec01c1afd6._openpgpkey.example.com. IN OPENPGPKEY (
	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
	[...]
	xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx        
)

Comprobar que funciona con dig

Pidiendo el registro OPENPGPKEY con dig(1) de esta forma debe mostrar la llave pública OpenPGP:

$ dig c93f1e400f26708f98cb19d936620da35eec8f72e57f9eec01c1afd6._openpgpkey.example.com openpgpkey +multi

Destacado

Contacto

Si has encontrado algún error o quieres comentarme algo mándame un correo a webmaster@adminlibre.org