Keypairs y firma
kovra puede custodiar un keypair asimétrico: genera la clave, sella la mitad privada bajo la master key del vault y nunca escribe la clave privada en disco ni la imprime. Se opera a través de kovra — firmando, verificando, cifrando, descifrando — sin que la clave privada salga jamás del vault.
Generar un keypair
Sección titulada «Generar un keypair»kovra keygen crea la clave y muestra solo la mitad pública. Elegir
ed25519 (firma y cifrado) o rsa (solo firma/SSH):
~ % kovra keygen secret:dev/ssh/deploy --type ed25519Generated dev/ssh/deploy (ed25519, Medium).ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDnM/+Nl+/2Y/uEZNK5Q7ZEdQEMmOGXB6PTQg2hWJaSwPS> kovra keygen secret:dev/ssh/deploy --type ed25519Generated dev/ssh/deploy (ed25519, Medium).ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDnM/+Nl+/2Y/uEZNK5Q7ZEdQEMmOGXB6PTQg2hWJaSwLa entrada se lista con un modo tipado de keypair:ed25519. Reimprimir la
clave pública en cualquier momento — esto es gratis y nunca pide confirmación:
~ % kovra pubkey secret:dev/ssh/deployssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDnM/+Nl+/2Y/uEZNK5Q7ZEdQEMmOGXB6PTQg2hWJaSwPS> kovra pubkey secret:dev/ssh/deployssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIDnM/+Nl+/2Y/uEZNK5Q7ZEdQEMmOGXB6PTQg2hWJaSwFirmar y verificar
Sección titulada «Firmar y verificar»kovra sign firma datos desde un archivo o desde stdin; la firma va a stdout.
kovra verify la comprueba. Firmar con una clave high/prod pide hacer
bioProve; verificar es siempre
gratis:
~ % printf 'release v1.2.3' | kovra sign secret:dev/ssh/deploy > sig.binPS> 'release v1.2.3' | kovra sign secret:dev/ssh/deploy > sig.bin~ % printf 'release v1.2.3' | kovra verify secret:dev/ssh/deploy --signature sig.binOK: signature is validPS> 'release v1.2.3' | kovra verify secret:dev/ssh/deploy --signature sig.binOK: signature is validLa verificación también funciona contra una entrada solo-pública — la clave
pública de un par que se almacenó con kovra add --public-key (no contiene mitad
privada), de modo que se pueden verificar las firmas de un colega sin su clave
privada.
Cifrar y descifrar
Sección titulada «Cifrar y descifrar»Para un keypair ed25519, kovra también puede cifrar hacia la clave pública y
descifrar con la clave privada (una caja sellada basada en age). Cifrar es
gratis; descifrar con una clave high/prod pide hacer bioProve:
~ % printf 'a short secret note' | kovra encrypt secret:dev/ssh/deploy > ct.binPS> 'a short secret note' | kovra encrypt secret:dev/ssh/deploy > ct.bin~ % kovra decrypt secret:dev/ssh/deploy ct.bina short secret notePS> kovra decrypt secret:dev/ssh/deploy ct.bina short secret noteLos keypairs RSA firman y verifican (y funcionan como claves SSH) pero no
soportan cifrado — usar ed25519 cuando se necesite sellado.
Por qué esto importa
Sección titulada «Por qué esto importa»La clave privada se genera dentro del vault y nunca se materializa en disco ni en el shell. Un agente o un script puede pedirle a kovra que use la clave — firmar un release, abrir un mensaje sellado — pero no puede exfiltrarla, y cada uso de una clave sensible queda gobernado y auditado. Para cargar una clave en una sesión SSH, ver el ssh-agent gobernado.