У меня есть рабочий сценарий, который получает сертификат и назначает его субъекту службы Azure для проверки подлинности:
$rawData = $Certificate.Certificate.GetRawCertData()
$base64Value = [System.Convert]::ToBase64String($rawData)
$hash = $Certificate.Certificate.GetCertHash()
$base64Thumbprint = [System.Convert]::ToBase64String($hash)
New-AzureADApplicationKeyCredential `
-ObjectId $app.ObjectId `
-CustomKeyIdentifier $base64Thumbprint `
-Type AsymmetricX509Cert `
-Usage Verify `
-Value $base64Value `
-StartDate $Certificate.Created `
-EndDate $Certificate.Certificate.NotAfter
После обновления модуля модель полученного сертификата изменилась с [Microsoft.Azure.Commands.KeyVault.Models. KeyVaultCertificate ] на новый [Microsoft.Azure.Commands.KeyVault. Models. PSKeyVaultCertificate ] и теперь New-AzureADApplicationKeyCredential возвращает эту ошибку:
Code: Request_BadRequest
Message: When present, application key identifier cannot be empty and can be at most 32 bytes.
Parameter name: applicationKeyIdentifierValue
RequestId: 95338cec-c81f-436d-a692-e49784b3fd1a
DateTimeStamp: Tue, 28 Aug 2018 22:47:44 GMT
HttpStatusCode: BadRequest
HttpStatusDescription: Bad Request
HttpResponseStatus: Completed
Дело в том, что я не могу найти техническую документацию старой модели KeyVaultCertificate, чтобы сравнить ее с новой, и даже в команда doc приведен пример X509Certificate2, поэтому я не знаю, что я пропускаю