Private/Get-JWTHeader.ps1
<# .Synopsis Creates a base64 string of a default JWT header, with certificate information .DESCRIPTION Creates a base64 string of a default JWT header, with certificate information .EXAMPLE Get-JWTHeader -Certificate $cert #> function Get-JWTHeader { [CmdletBinding()] param ( [Parameter(Mandatory = $true)] $Certificate ) Process { [System.Convert]::ToBase64String(([System.Text.Encoding]::UTF8.GetBytes(( [ordered] @{ "alg" = "RS256" "kid" = $Certificate.Thumbprint "x5t" = (([System.Convert]::ToBase64String($Certificate.GetCertHash())) -replace '\+','-' -replace '/','_' -replace '=') "typ" = "JWT" } | ConvertTo-Json -Compress )))) -replace "=+$" # Required to remove padding } } |