X5T 헤더 결정

X5T 헤더는 개인 키 JWT 인증의 Microsoft Entra ID 구성에 필요합니다.

다음 방법 중 하나를 사용하여 X5T 헤더 값을 사용하여 서버 인증서의 지문을 찾습니다.

xxdopenssl 명령 사용

지문 또는 해시의 16진수 표현은 xxdopenssl 명령을 사용하여 Base64 인코딩 형식으로 변환됩니다.

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

여기서,

  • echo <thumbprint>: 이 명령은 지문을 인쇄합니다. <thumbprint>를 실제 지문 문자열로 바꿉니다.
  • xxd -r -p: -r -p 옵션이 포함된 xxd 명령은 16진수 지문을 이진수로 변환하여 16진수 덤프를 역방향으로 변환합니다.
  • openssl enc -a: openssl enc -a 명령은 바이너리 데이터를 base64로 인코딩합니다.

위 명령의 샘플 출력입니다.

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

Windows에서 Certutil 및 PowerShell 사용

이 명령은 certutil을 사용하지만 -encode 옵션과 함께 thumbprintbinary의 바이너리 데이터를 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

위 명령의 샘플 출력입니다.

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=