Cómo determinar el encabezado X5T

El encabezado X5T se necesita para configurar la identificación de MS Entra en la autenticación JWT con clave privada.

Utilice uno de los siguientes métodos para encontrar la huella digital del certificado del servidor con el valor del encabezado X5T.

Cómo usar los comandos xxd y openssl

La representación hexadecimal de una huella digital o hash se convierte a un formato codificado en Base64 mediante el comando xxd y openssl.

echo <thumbprint> | xxd -r -p | openssl enc -a

En este caso,

  • repetir <thumbprint>: Este comando imprime la huella digital. Reemplace <thumbprint> con la cadena de huellas digitales real.
  • xxd -r -p: El comando xxd con las opciones -r -p revierte el vaciado hexadecimal, lo que convierte la huella digital de hexadecimal a binaria.
  • openssl enc -a: El comando openssl enc -a codifica los datos binarios en base64.

Resultado de la muestra del comando anterior:

$ echo "09B3D84C6B5684B8A33599C88C5AAA411F5969C6" | xxd -r -p | openssl enc -a
CbPYTGtWhLijNZnIjFqqQR9ZacY=

Uso de Certutil y PowerShell en Windows

Este comando usa certutil, pero con la opción -encode, para codificar los datos binarios en thumbprintbinary en formato Base64.

echo <thumbprint> > thumbprinthex;
certutil -f -decodehex thumbprinthex thumbprintbinary;      
certutil -f -encode thumbprintbinary base64.txt;
get-content base64.txt | Where-Object { -not $_.Contains('-----') } | Out-File x5t.txt

Resultado de la muestra del comando anterior:

PS C:\x5ttest> echo 09B3D84C6B5684B8A33599C88C5AAA411F5969C6 > thumbprinthex;
PS C:\x5ttest> certutil -f -decodehex thumbprinthex thumbprintbinary;
Input Length = 86
Output Length = 20
CertUtil: -decodehex command completed successfully.
PS C:\x5ttest> certutil -f -encode thumbprintbinary base64.txt;
Input Length = 20
Output Length = 86
CertUtil: -encode command completed successfully.
PS C:\x5ttest> get-content base64.txt | Where-Object { -not $_.Contains('-----') } | Out-File x5t.txt
PS C:\x5ttest> cat .\x5t.txt
CbPYTGtWhLijNZnIjFqqQR9ZacY=