0

我試圖創建在Azure的AD與Azure中的PowerShell證書認證的應用程序中的應用,下面是PowerShell的片段:創建Azure的AD與Azure中的PowerShell證書認證

Login-AzureRmAccount 
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate("PATH_TO_CER_FILE") 
$key = [System.Convert]::ToBase64String($cert.GetRawCertData()) 
$app = New-AzureRmADApplication -DisplayName "SetupTet4" -HomePage "http://localhost" -IdentifierUris "http://localhost" -KeyValue $key -KeyType AsymmetricX509Cert 
New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId 
New-AzureRmRoleAssignment -RoleDefinitionName "Owner" -ServicePrincipalName $app.ApplicationId 

Azure的AD應用程序已成功創建然而對於證書認證的customKeyIdentifier並在keyCredentials是創建後的空值Azure的AD應用程序,這是我的應用程序清單的一部分,我從Azure的門戶網站下載:

"keyCredentials": [{ 
"customKeyIdentifier": null, 
"endDate": "2017-02-25T20:48:35.5174541Z", 
"keyId": "575580cc-ce4e-4862-ad3e-1ba5833fe7f6", 
"startDate": "2016-02-25T20:48:35.5174541Z", 
"type": "AsymmetricX509Cert", 
"usage": "Verify", 
"value": null 
}], 

僅供參考證書是自簽名證書我使用本地生成的makecert命令。

任何意見,非常感謝。

詹姆斯

+0

什麼問題?您發佈的步驟是在Azure AD中創建應用程序的步驟。你對customKeyIdentifier的擔心是什麼,值是空的? –

+0

Rick,感謝您的詢問,問題在於,如果customKeyIdentifier和value爲null,則App Authentication將失敗。 –

+0

我也嘗試圖形API,請按照下面的代碼:[鏈接](https://github.com/Azure-Samples/active-directory-dotnet-graphapi-console/tree/master/GraphConsoleAppV3)但結果是相同的, customKeyIdentifier和值爲null,這是MS API中的錯誤或我錯過了什麼? –

回答

1

通話添加到設置-AzureRmKeyVaultAccessPolicy指定要爲服務宗旨,以對關鍵庫的訪問級別。查看腳本最後兩行的更改。

Login-AzureRmAccount 
$cert = New-Object System.Security.Cryptography.X509Certificates.X509Certificate("PATH_TO_CER_FILE") 
$key = [System.Convert]::ToBase64String($cert.GetRawCertData()) 
$app = New-AzureRmADApplication -DisplayName "SetupTet4" -HomePage "http://localhost" -IdentifierUris "http://localhost" -KeyValue $key -KeyType AsymmetricX509Cert 
$sp = New-AzureRmADServicePrincipal -ApplicationId $app.ApplicationId 
Set-AzureRmKeyVaultAccessPolicy -VaultName "<your-vault-name>" ` 
    -ServicePrincipalName $sp.ServicePrincipalName ` 
    -PermissionsToKeys all -PermissionsToSecrets all ` 
    -ResourceGroupName "<your-resource-group-name>" 
+0

感謝您的及時答覆,即使使用Set-AzureRmKeyVaultAccessPolicy,它的「值」屬性仍然爲空(而我以前曾將其公有證書放入其中)......是否意味着它真的爲null或僅僅是一個空的安全屬性原因? –

+0

您是否嘗試運行您的應用程序?我可以使用證書進行身份驗證,並可以從應用程序成功訪問保管庫。這個值在我的環境中也是空的。是什麼讓你相信這就是你的問題所在? –

+1

Rick,你說得對,null中的值看起來沒有關係,thx看一看。 –