Las claves privadas nunca caducan. Solo las claves públicas lo hacen. De lo contrario, el mundo nunca notaría el vencimiento ya que (con suerte) el mundo nunca ve las claves privadas.
Para la parte importante, solo hay una forma, de modo que se ahorra una discusión sobre los pros y los contras.
Debe extender la validez de la clave principal:
gpg --edit-key 0x12345678
gpg> expire
...
gpg> save
Debe tomar una decisión acerca de extender la validez de vs. reemplazar las subclaves. Reemplazarlos le brinda una seguridad de avance limitada (limitada a plazos bastante largos). Si eso es importante para usted, entonces debería tener subclaves (separadas) tanto para el cifrado como para la firma (el valor predeterminado es uno solo para el cifrado).
gpg --edit-key 0x12345678
gpg> key 1
gpg> expire
...
gpg> key 1
gpg> key 2
gpg> expire
...
gpg> save
Necesita key 1
dos veces para seleccionar y deseleccionar porque puede extender la validez de solo una clave a la vez.
También puede decidir extender la validez a menos que tenga alguna razón para asumir que la clave ha sido comprometida. No tirar todo el certificado en caso de compromiso solo tiene sentido si tiene una clave principal fuera de línea (que en mi humilde opinión es la única forma razonable de usar OpenPGP de todos modos).
Los usuarios de su certificado deben obtener su versión actualizada de todos modos (ya sea para las nuevas firmas de clave o para las nuevas claves). Reemplazar hace que la clave sea un poco más grande, pero eso no es un problema.
Si usa tarjetas inteligentes (o planea hacerlo), tener más claves (encriptación) crea un cierto inconveniente (una tarjeta con la nueva clave no puede descifrar los datos antiguos).
gpg> expire Need the secret key to do this.
Alguna idea de cómo solucionar esto?expire
comando en realidad lo guía a través de la configuración del tiempo de caducidad de una clave, por lo que tal vez "renueve" la clave simplemente configurando el tiempo de caducidad en el futuro.