Ir al contenido

Códigos TOTP

Un enrolamiento TOTP permite a kovra custodiar la semilla compartida detrás de una contraseña de un solo uso basada en tiempo (los códigos 2FA de una app autenticadora) y producir el código de 6 dígitos vigente bajo demanda. La semilla se sella como cualquier otro secreto y nunca se revela — solo se imprime el código derivado.

kovra add --totp lee una semilla desde un prompt oculto o desde stdin — una cadena base32 o un URI otpauth:// completo. Nunca toca argv:

zsh
~ % kovra add secret:dev/app/totp --totp
Added dev/app/totp (Medium).

En el listado del vault la entrada muestra un modo tipado de totp:<algorithm> (p. ej. totp:sha1) en lugar de literal, de modo que de un vistazo se distingue que es un enrolamiento y no un valor crudo.

kovra code imprime el código vigente de un enrolamiento — y solo el código, nunca la semilla:

zsh
~ % kovra code secret:dev/app/totp
278165

Producir un código se trata como una revelación: para un enrolamiento high o prod hay que hacer bioProve y queda auditado; los de low/medium se imprimen directamente.

Cuando un script necesita un código que no expire a mitad de uso, --min-validity (-m) garantiza que el código devuelto tenga más de N segundos de vida restante, y fuerza una salida plana no interactiva (el código a secas, sin cuenta regresiva):

zsh
~ % kovra code secret:dev/app/totp -m 5
278165

Si a la ventana actual le quedan menos de N segundos, kovra espera a la siguiente ventana y devuelve ese código en su lugar — de modo que el valor obtenido siempre es utilizable.