从应用程序 keyCredential 获取指纹

Get Thumbprint from Application keyCredential

我正在使用 MS Graph API 获取我组织的应用程序,并且我正在尝试读取每个应用程序所附证书的指纹。它 returns 一个 byte[] 但我似乎找不到正确的编码来转换为 string.

图 API returns 一个 Application 对象的列表,其中有一个 KeyCredentials 可枚举的,最后是一个 CustomKeyIdentifier,这应该是指纹。有关 KeyCredentials.

的更多详细信息,请参阅此 Microsoft 页面

我试过的代码是

System.Text.Encoding.ASCII.GetString(credential.CustomKeyIdentifier);

这个returns乱码,大概是因为编码不正确,但我已经尝试了Text.Encoding中可用的所有其他编码选项都无济于事。如何将 CustomKeyIdentifier 转换为字符串?

应该是Base64字符串所以

System.Convert.ToBase64String(credential.CustomKeyIdentifier);

或者如果您想要 Hex 版本,这通常是人们在查看指纹时想要的

BitConverter.ToString(credential.CustomKeyIdentifier).Replace("-","");