如何使用Powershell获取与服务主体关联的证书的指纹?

时间:2019-10-16 07:21:38

标签: azure powershell certificate azure-powershell service-principal

我有一个与Azure AD中的服务主体相关联的证书。如何使用Powershell获得与之关联的证书名称或指纹?

我尝试了Get-AzureRmADServicePrincipalCredentialGet-AzureRmADSpCredentialGet-AzureADServicePrincipalKeyCredential命令,但它们返回的是Key Identifier,而不是指纹。

基本上,我想在吊销证书之前识别与该证书相关联的证书。

2 个答案:

答案 0 :(得分:1)

正如@Stanley Gong所述,您可以使用MS Graph来获取它。

这是另一种方法,请尝试以下命令,$Thumbprint是您想要的。

注意<object-id>是您的AD App(应用程序注册)的对象ID,而不是服务主体(企业应用程序)的对象ID。

$CustomKeyIdentifier = (Get-AzureADApplicationKeyCredential -ObjectId "<object-id>").CustomKeyIdentifier
$Thumbprint = [System.Convert]::ToBase64String($CustomKeyIdentifier)

enter image description here

答案 1 :(得分:0)

请尝试使用以下PS命令通过Microsoft Graph API获取证书指纹:

sp.Parameters.Append sp.CreateParameter("@wkEnd", adDate, adParamInput, , wkEnd)

结果: 我在门户网站上的证书: enter image description here

查询结果: enter image description here

请注意,请确保您用于获取令牌的应用具有以下权限,以便它可以调用Microsoft graph API来查询您的应用:

enter image description here