O uso de chaves GPG por plataformas de hospedagem git é um recurso que vem como um método adicional para a verificação de integridade e autenticidade do autor de um commit para um repositório.
Uma chave GPG tem como característica possuir uma data de expiração pré-definida prevenindo assim a exploração de chaves que possam ser expostas.
Porém, isso significa que nós, como usuários, precisamos ficar atentos e manter nossas chaves atualizadas para não ocorrerem problemas na hora fazer os nossos commits.
- O primeiro passo no processo de renovação está em obter o fingerprint da chave a ser renovada
$ gpg --list-keys
/home/nuvem/.gnupg/pubring.kbx
------------------------------
pub rsa2048 2023-10-08 [SCEA] [expira: 2023-11-08]
7B54A102ABDADDD89DAA01D9307B01241C6326FB
uid [final] realfabecker <realfabecker@outlook.com>
sub rsa2048 2023-10-08 [SEA] [expira: 2023-11-08]
O fingerprint da chave que buscamos está localizado abaixo da linha iniciada com pub
apresentando o valor 7B54A102ABDADDD89DAA01D9307B01241C6326FB
.
- Com o fingerprint da chave em mãos é possível realizar a extensão de sua data de expiração para, por exemplo, cinco semanas a partir da data de hoje.
$ gpg --quick-set-expire 7B54A102ABDADDD89DAA01D9307B01241C6326FB 5w
De maneira alternativa é ainda possível especificar a data em formato ISO YYYY-MM-DD
ou manter a sua representação de
maneira relativa considerando anos y
, dias d
ou meses m
.
Chaves secundárias também podem ter a sua data de expiração estendida, porém é necessário especificar o seu fingerprint
ou um wildcard *
para considerar todas as chaves secundárias associadas a chave principal.
$ gpg --quick-set-expire 7B54A102ABDADDD89DAA01D9307B01241C6326FB 5w '*'
O --quick-set-expire
considera apenas sub-chaves não expiradas ao extender a expiração da chave principal. Para editar
sub-chaves já expiradas é necessário realizar a extensão de maneira manual.
- Primeiro deve-se iniciar a interface de edição a partir do fingerprint da chave principal
$ gpg --edit-key 7B54A102ABDADDD89DAA01D9307B01241C6326FB
gpg (GnuPG) 2.2.4; Copyright (C) 2017 Free Software Foundation, Inc.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Chave secreta disponível.
sec rsa2048/307B01241C6326FB
criado: 2023-10-08 expira: 2024-05-02 uso: SCEA
confiança: final validade: final
ssb rsa2048/64922E8364611660
criado: 2023-10-08 expira: 2024-05-02 uso: SEA
[final] (1). realfabecker <realfabecker@outlook.com>
gpg>
- Em seguido selecionar a sub-chave a ser editada, prefixada com
ssb
gpg> key 1
sec rsa2048/307B01241C6326FB
criado: 2023-10-08 expira: 2024-05-02 uso: SCEA
confiança: final validade: final
ssb* rsa2048/64922E8364611660
criado: 2023-10-08 expira: 2024-05-02 uso: SEA
[final] (1). realfabecker <realfabecker@outlook.com>
gpg>
- O processo de renovação é iniciado com
expire
e confirmado comsave
gpg> expire
Modificando a data de validade para uma subchave.
Por favor especifique por quanto tempo a chave deve ser válida.
0 = chave não expira
<n> = chave expira em n dias
<n>w = chave expira em n semanas
<n>m = chave expira em n meses
<n>y = chave expira em n anos
A chave é valida por? (0) 5w
A chave expira em sex 03 mai 2024 16:26:02 -03
Está correto (s/N)? s
sec rsa2048/307B01241C6326FB
criado: 2023-10-08 expira: 2024-05-02 uso: SCEA
confiança: final validade: final
ssb* rsa2048/64922E8364611660
criado: 2023-10-08 expira: 2024-05-03 uso: SEA
[final] (1). realfabecker <realfabecker@outlook.com>
gpg> save