none
Problem with driver signing submission via REST API RRS feed

  • Question

  • Hello

    I'm trying to create driver signing submission via REST API as it described in https://msdn.microsoft.com/en-us/library/windows/hardware/dn800660.aspx

    After few corrections in provided code I've managed to pass authentication and execute some simple requests like list of all submissions. When I try to create submission request according to step 3 in the documentation, server every time returns "Internal server error". Is the documentation valid or the API has changed?


    Friday, October 9, 2015 10:52 AM

All replies

  • Hopefully you have figured this out but just in case, since I just did battle with the REST api getting it to work, I'll post my observations as this was one of the posts that I found while searching for why it didn't seem to work.

    1. Step 3 (Creating a Request) only seems to work if your JSON does not include any of the optional bits relating to the OSSelections. The JSON I used that works is:

    { "TestHarnessType": "HLK", "OSSelections": [ { "OS": "Windows 7" }, { "OS": "Windows 8" }, { "OS": "Windows 8.1" }, { "OS": "Windows 10" } ], "ProductName": "Test Name",

    "InitialUploadFileSize": <size>

    }

    Which is all that is really needed, though it doesn't contain the x64 variants, the actual OS values will be filled in by the HLKX when it is uploaded and parsed. I was able to create the submission without any OSSelections, it defaults to Windows 8 but is updated from the HLKX as well.

    2. Uploading worked fine as long as you don't pass the Authentication token, all that's built into the SAS url.

    3. When updating the submission in Step 5 to set UpdateComplete, the RequestID in the JSON doesn't work if you use the actual requestID, the server seems to want the submissionID instead, then it works fine.

    4. then it processes and signs the files.

    5. Here is where I am stuck, I may update this thread if I can figure out the last bit. I can get the Assets for the submission, I can even download the original HLKX file, but the "SignedFiles" asset gives me a 404 when I call the URL "sysdevendpoint/<requestID>/assets/<signedfileid>" so I can't get the SAS url to actually download the file.

    6. Once I can get the file, I hope the .cab file contains the signed cats AND the dua HLKX, since I need them both


    Friday, January 29, 2016 6:45 PM
  • Hello Mike

    Thank you very much for your answer.

    I've returned to REST API. Could you please describe which URL you use in Step 5 (set UpdateComplete), I've checked almost all combination with same result - "NotFound" respond from the server.

    Thursday, February 11, 2016 11:48 AM
  • I'm trying to do the same thing, except that I'm stuck on getting the authentication token in step 1. what do you use for the client_id and the client_secret?

    Thanks!

    Monday, February 22, 2016 4:58 PM
  • Hi 

    You can obtain or create credentials on this page:

    https://sysdev.microsoft.com/en-US/Hardware/member/services/ServiceCredentials.aspx

    Monday, February 22, 2016 5:10 PM
  • Hi,

     I have a user ID and password that created by my administrator that I can use to sign in to the sysdev.microsoft.com, can I use my user name and password as a client id and client secret?.

    Thanks!

    Monday, February 22, 2016 6:19 PM
  • No, you have to create credentials on the page which I've mentioned or ask your administrator to create it.


    Monday, February 22, 2016 6:26 PM
  • I will check with my administrator, Thank you.
    Monday, February 22, 2016 6:29 PM
  • Hi,

    Sorry to keep bothering you but once I have the credential from my administrator, which I'm assuming it will be a user name/password pair, how do I actually use that to populate the client_id and the client_secret, do I use the user name for the client_id and the password for the client_secret? or do I use the user name:password for the client_secret and what about the client_id?

    Thanks you.

    Tuesday, February 23, 2016 4:46 PM
  • client_id actually is an UUID and it is generated together with the password (client_secret) when you create credentials.
    Tuesday, February 23, 2016 4:53 PM
  • Thanks!
    Tuesday, February 23, 2016 4:54 PM
  • I'm trying to get the file upload when I commit I get an HTTP 201 status, I follow that with the UpdateSubmission which return 404 "NOT FOUND". I read the comment about the request ID and the submission Id,so I get the SubmissionID from the submission metadata and used that in my JSON object to update the submission as the RequestID and I still has the same result.

    Did you have any luck getting the updateSubmission to succeed?

    thanks!

    Thursday, February 25, 2016 3:31 PM
  • I've stuck on the same step. Please let me know when you pass it.
    Thursday, February 25, 2016 4:24 PM
  • Okay, so I was able to pass the update submission 404 issue by having my JSON object contains only the following:

    RequestID = submissionId , 
    UploadComplete = true

    Hope this help. My submission now shows in pending state.

    Friday, February 26, 2016 3:53 PM
  • okay, it will still succeed if you have the JSON object like this:

     RequestID = submissionId ,
     ProductName = "XXXXX",
      AnnouncementDate = announceDate,
     UploadComplete = true

    It look like it will fail with 404 once I have the  MarketingNames object.

    after it succeeded the status of the submission stay on pending. any idea?


    • Edited by Nb2011 Friday, February 26, 2016 6:45 PM
    Friday, February 26, 2016 6:28 PM
  • Thank you Nb2011, I've managed to update my submission and set UploadComplete.

    The submission status becomes Pending and the signing stuckon Step 2/11 "Transferring CAB File".

    I upload a CAB file as it described in:

    https://msdn.microsoft.com/en-us/windows-drivers/develop/attestation_signing_a_kernel_driver_for_public_release

    When I upload it manually via web interface, no stuck occurs.

    I suppose there should be some differences in submission request for HLKX and CAB files.

    Thursday, March 3, 2016 8:33 AM
  • so now you are in same situation as am I. Let me know if you were able to go further.

    Thanks!

    Thursday, March 3, 2016 2:45 PM
  • Hello

    If you try to submit CAB file, it is impossible. At the moment Microsoft has no API to sign drivers in CAB files, only in HLKX.

    Thursday, June 30, 2016 9:03 AM
  • I am using azure API, But I am not able to get the file uploaded.

    try
    {
       CloudBlockBlob blob = new CloudBlockBlob(sasUrl);
       File source = new File(filePath);
       blob.upload(new FileInputStream(source), source.length());
    }

    In submission dashboard it says still step 0 of 11.

    Any suggestion or advise is highly appreciated


    yea i need to get it the work

    Wednesday, July 27, 2016 3:43 PM
  • Hi,

    Have you been able to implement REST API? If Yes, could you share your solution?

    Thank you,

    Friday, July 29, 2016 1:16 PM
  • No Luck yet, I think the api is broken

    yea i need to get it the work

    Tuesday, April 11, 2017 1:22 PM