Azure-Samples/MyDriving

Azure ML Management certificate. What shall I do?

Zordid opened this issue · 6 comments

I created a certificate and uploaded it to the Azure classic portal.
There, I can see a fingerprint of this certifcate.

When my deploy.ps1 script reaches the Azure ML point, it asks for a fingerprint and I supply exactly this fingerprint that I see in the Azure portal.

But then:

**************************************************************************************************
* Configuring ML...
**************************************************************************************************
Please provide the thumbprint of your Azure management certificate. Press [Enter] directly to sign in using AAD.: <my fingerprint here!>
Invoke-RestMethod : Es können keine Zertifikate abgerufen werden, weil der Fingerabdruck nicht gültig ist. Überprüfen
Sie den Fingerabdruck, und wiederholen Sie den Vorgang.
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:35 Zeichen:15
+        $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers -Cer ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Sicherheitsfehler: (:) [Invoke-RestMethod], CryptographicException
    + FullyQualifiedErrorId : WebCmdletCertificateException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Invoke-RestMethod : Es können keine Zertifikate abgerufen werden, weil der Fingerabdruck nicht gültig ist. Überprüfen
Sie den Fingerabdruck, und wiederholen Sie den Vorgang.
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:55 Zeichen:15
+        $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers -Bod ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Sicherheitsfehler: (:) [Invoke-RestMethod], CryptographicException
    + FullyQualifiedErrorId : WebCmdletCertificateException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Invoke-RestMethod : Es können keine Zertifikate abgerufen werden, weil der Fingerabdruck nicht gültig ist. Überprüfen
Sie den Fingerabdruck, und wiederholen Sie den Vorgang.
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:35 Zeichen:15
+        $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers -Cer ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Sicherheitsfehler: (:) [Invoke-RestMethod], CryptographicException
    + FullyQualifiedErrorId : WebCmdletCertificateException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Invoke-RestMethod : Es können keine Zertifikate abgerufen werden, weil der Fingerabdruck nicht gültig ist. Überprüfen
Sie den Fingerabdruck, und wiederholen Sie den Vorgang.
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:35 Zeichen:15
+        $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers -Cer ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : Sicherheitsfehler: (:) [Invoke-RestMethod], CryptographicException
    + FullyQualifiedErrorId : WebCmdletCertificateException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand

Invoke-RestMethod : {"Message":"The requested resource does not support http method 'PUT'."}
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:70 Zeichen:16
+         $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Invoke-RestMethod : invalid workspaceId
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:70 Zeichen:16
+         $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Invoke-RestMethod : {"Message":"The requested resource does not support http method 'PUT'."}
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:70 Zeichen:16
+         $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Invoke-RestMethod : invalid workspaceId
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:70 Zeichen:16
+         $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers
+                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Invoke-RestMethod : invalid workspaceId
In C:\dev\MyDriving\scripts\PowerShell\scripts\copyMLExperiment.ps1:67 Zeichen:15
+        $res = Invoke-RestMethod -Uri $URI -Method $method -Headers $headers -Bod ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (System.Net.HttpWebRequest:HttpWebRequest) [Invoke-RestMethod], WebExc
   eption
    + FullyQualifiedErrorId : WebCmdletWebResponseException,Microsoft.PowerShell.Commands.InvokeRestMethodCommand
Do you want to deploy VSTS CI? [y/n]: PS C:\dev\MyDriving\scripts\PowerShell>

Why?

look at #533 if it helps you

Currently thumbprint is the only way it works. Please look at @PiDiBi reply for #533 to get this working.

I did exactly this - and it did not work. See me output...

@Zordid did you ever solve this? I have tried everything PiDiBi has recommended, but continue to get the:
Invoke-RestMethod : Unable to retrieve certificates because the thumbprint is not valid. Verify the thumbprint and retry.

I've used makecert to create and upload a .cer file, used that thumbprint, then I get this error message
Invoke-RestMethod : The 'Accept' header must be modified using the appropriate property or method.

Have the same issue. Tried several certificates, workaround #533, but no progress. Always "Unable to retrieve certificates because the thumbprint is not valid. Verify the thumbprint and retry."

Solved my issue. Used certificates attached to subscriptions from here https://msdn.microsoft.com/en-us/library/dn385850(v=nav.70).aspx, not from azure portal.