Закрытые ключи никогда не истекают. Только открытые ключи. В противном случае мир никогда не заметит истечения срока действия, поскольку (мы надеемся) мир никогда не увидит закрытые ключи.
Для важной части, есть только один способ, так что сохраняет обсуждение плюсов и минусов.
Вы должны продлить срок действия основного ключа:
gpg --edit-key 0x12345678
gpg> expire
...
gpg> save
Вы должны принять решение о продлении срока действия против замены подразделов. Замена их дает вам ограниченную безопасность форварда (ограниченную довольно большими временными рамками). Если это важно для вас, у вас должны быть (отдельные) подключи для шифрования и подписи (по умолчанию используется только для шифрования).
gpg --edit-key 0x12345678
gpg> key 1
gpg> expire
...
gpg> key 1
gpg> key 2
gpg> expire
...
gpg> save
Вам нужно key 1
дважды выбрать и отменить выбор, потому что вы можете продлить срок действия только одного ключа за раз.
Вы также можете принять решение о продлении срока действия, если у вас нет причин полагать, что ключ был взломан. Не выбрасывать весь сертификат в случае компрометации имеет смысл, только если у вас есть автономный главный ключ (который в любом случае является IMHO единственным разумным способом использования OpenPGP).
В любом случае пользователи вашего сертификата должны получить его обновленную версию (либо для новых ключей подписей, либо для новых ключей). Замена делает ключ немного больше, но это не проблема.
Если вы используете смарт-карты (или планируете это делать), то наличие дополнительных ключей (шифрования) создает определенные неудобства (карта с новым ключом не может расшифровать старые данные).
gpg> expire Need the secret key to do this.
идеи, как обойти это?