> ## Documentation Index
> Fetch the complete documentation index at: https://translations.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

> Describe los algoritmos de firma y ofrece recomendaciones para configurarlos en el panel de Auth0.

# Algoritmos de firma

<Tooltip tip="Algoritmo de firma: algoritmo utilizado para firmar digitalmente tokens y garantizar que el token no haya sido manipulado." cta="Ver glosario" href="/es/docs/glossary?term=Signing+algorithms">Algoritmos de firma</Tooltip> son los algoritmos que se utilizan para firmar los tokens emitidos para tu aplicación o API. Una firma forma parte de un [JSON Web Token (JWT)](/es/docs/secure/tokens/json-web-tokens) y se usa para verificar que el emisor del token es quien dice ser y para garantizar que el mensaje no haya sido modificado durante el proceso.

Puedes seleccionar entre los siguientes algoritmos de firma:

* **RS256 (Firma RSA con SHA-256)**: Un algoritmo asimétrico, lo que significa que hay dos claves: una pública y una privada que debe mantenerse en secreto. Auth0 tiene la clave privada que se utiliza para generar la firma, y el consumidor del <Tooltip tip="JSON Web Token (JWT): formato estándar de ID Token (y, a menudo, de Access Token) utilizado para representar reclamaciones de forma segura entre dos partes." cta="Ver glosario" href="/es/docs/glossary?term=JWT">JWT</Tooltip> obtiene una clave pública de los endpoints de metadatos proporcionados por Auth0 y la utiliza para validar la firma del JWT.
* **HS256 (HMAC con SHA-256)**: Un algoritmo simétrico, lo que significa que solo hay una clave privada que debe mantenerse en secreto y que se comparte entre las dos partes. Dado que la misma clave se usa tanto para generar la firma como para validarla, se debe tener cuidado de que la clave no se vea comprometida. Esta clave privada (o secreto) se crea cuando registras tu aplicación (<Tooltip tip="Client Secret: secreto utilizado por un cliente (aplicación) para autenticarse con el Authorization Server; solo deberían conocerlo el cliente y el Authorization Server, y debe ser lo suficientemente aleatorio como para que no pueda adivinarse." cta="Ver glosario" href="/es/docs/glossary?term=client+secret">secreto del cliente</Tooltip>) o API (secreto de firma) y eliges el algoritmo de firma HS256.
* **PS256 (Firma RSA con SHA-256)**: Un algoritmo asimétrico, lo que significa que hay dos claves: una pública y una privada que debe mantenerse en secreto. Auth0 tiene la clave privada que se utiliza para generar la firma, y el consumidor del JWT obtiene una clave pública de los endpoints de metadatos proporcionados por Auth0 y la utiliza para validar la firma del JWT. A diferencia de RS256, el mismo encabezado y payload del JWT generará una firma diferente cada vez.

La práctica más segura, y nuestra recomendación, es usar RS256 porque:

* Con RS256, tienes la seguridad de que solo el poseedor de la clave privada (Auth0) puede firmar tokens, mientras que cualquiera puede comprobar si el token es válido usando la clave pública.
* Con RS256, si la clave privada se ve comprometida, puedes implementar la rotación de claves sin tener que volver a implementar tu aplicación o API con el nuevo secreto (lo que tendrías que hacer si usaras HS256).

<Callout icon="file-lines" color="#0EA5E9" iconType="regular">
  Si estás configurando la autenticación Private Key JWT con una conexión empresarial de Okta u OpenID Connect (OIDC), es posible que tengas que elegir [algoritmos de firma adicionales](/es/docs/authenticate/enterprise-connections/private-key-jwt-client-auth#configure-private-key-jwt-client-authentication).
</Callout>

<div id="learn-more">
  ## Más información
</div>

* [JSON Web Tokens](/es/docs/secure/tokens/json-web-tokens)
* [Cambiar los algoritmos de firma de la aplicación](/es/docs/get-started/applications/change-application-signing-algorithms)
* [Claves de firma](/es/docs/get-started/tenant-settings/signing-keys)
* [Rotar las claves de firma](/es/docs/get-started/tenant-settings/signing-keys/rotate-signing-keys)
* [Revocar las claves de firma](/es/docs/get-started/tenant-settings/signing-keys/revoke-signing-keys)
* [Ver los certificados de firma](/es/docs/get-started/tenant-settings/signing-keys/view-signing-certificates)
