Determinar cabeçalho X5T

O cabeçalho X5T é necessário para a configuração do ID Microsoft Entra da autenticação JWT de chave privada.

Use um dos métodos a seguir para localizar a impressão digital do certificado do servidor usando o valor do cabeçalho X5T.

Uso dos comandos xxd e openssl

A representação hexadecimal de uma impressão digital ou hash é convertida em um formato codificado em Base64 usando os comandos xxd e openssl.

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

Aqui,

  • echo <thumbprint>: Esse comando imprime a impressão digital. Substitua <thumbprint> pela string de impressão digital.
  • xxd -r -p: O comando xxd com opções -r -p reverte o dump hex, convertendo a impressão digital de valor hexadecimal para binário.
  • openssl enc -a: O comando openssl enc -a codifica os dados binários para base64.

Um exemplo de saída do comando acima:

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

Uso de Certutil e PowerShell no Windows

Este comando usa certutil, mas com a opção -encode para codificar os dados binários em thumbprintbinary para o 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

Um exemplo de saída do comando acima:

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=