Our company's driver signing experience

I'm documenting our experience here for the information of any who may wish to develop Windows kernel drivers, and for the benefit of Microsoft in case they should decide to improve their system.

Our driver is software-only, that is, there is no specific associated hardware. Also, we distribute it along with our software, not via Windows Update. The process for physical hardware and/or Windows Update distribution would likely be further complicated, as that requires WHQL certification.

SSL.com

We chose SSL.com for the EV code signing certificate. They are the least expensive IIRC, they can issue a certificate for a private key stored on a Yubikey, and they have decent customer support.

  • April ?: Ordered an EV code signing certificate from SSL.com.
  • April ?: Bought a FIPS-certified Yubikey for the private key storage.
  • April ?: Signed EV Subscriber Agreement and EV Authorization Form.
  • April ?: Uploaded validation documents to SSL.com: LLC certificate of formation, EIN assignment letter, LLC report from the state, printout of Dun & Bradstreet listing.
  • April ?: Upload Yubikey certificate information according to these instructions.
  • April 21: Scheduled a validation phone call.
  • April 22: Received the validation phone call.
  • April 22: All organization members completed identity verification.
  • April 28: The certificate was issued. At first they mistakenly issued it for their online e-Signer system, but after a quick chat with support, they reissued it for the Yubikey.

Microsoft

  • April ?: Got signed up and logged in to the Microsoft Partner Center. I forget what all this involved anymore, but I believe we had to look up the company by DUNS number.
  • April ?: Uploaded our EV certificate to the Partner Center.
  • April ?: Initiated enrollment in the hardware program via the Partner Center.
  • April ?: The employment validation in Partner Center failed each time for several attempts with this message:

    Based on the information you have provided to date, we have determined that your organization does not currently meet the requirements to pass verification. There are no appeals available, we have closed your application.

  • April 28: Opened a ticket about the employment validation failure in Partner Center support (using this link since the support system in the Partner Center itself is broke if you don't have any available "workspaces").
  • April 29: Received a reply to the Partner Center ticket:

    We are pleased to let you know your account <organization name> is now authorized. Please confirm the same that your vet is now ‘Authorized’.

  • April 29: Replied to the ticket confirming that the authorization succeeded.
  • April 29: Received an automated email, "Complete the hardware program enrollment questionnaire" with a link to https://aka.ms/EnrollmentQuestionnaire. After signing in with Partner Center credentials, an AI chatbot asks these questions:
    • Name and website of company or organization
    • Goals and expectations for joining the Hardware Developer Program
    • Previous participation in the Hardware Developer Program
    • Details of previous application or participation
    • Warnings, notices, or suspensions from HDC
    • Current disputes, investigations, or legal actions related to hardware products or the program
    • Do you design and make hardware devices that use Windows as an operating system?
    • Do you produce or modify devices as an OEM or ODM?
    • Do you create software applications or drivers that help or improve hardware performance on Windows?
    • Do you sell or supply those applications or drivers as an ISV or IHV?
    • Position or connection to Windows hardware devices
    • Are you developing a driver for a device manufactured or branded by another company?
    • Contractual or business relationship with another hardware developer requiring use of their driver or firmware components
    • Permissions and certificates from another hardware developer to sign and publish on their behalf
    • Need to access proprietary or confidential information from another hardware developer
    • Using tools, libraries, or frameworks provided or licensed by another hardware developer
    • Hardware products developed or manufactured
    • Main features or functionalities of hardware products
    • Target markets and customer segments for hardware products
    • Testing and validation for compatibility with Windows operating systems and devices
    • How applications or drivers are distributed to customers or end users
    • How hardware products are supported in the market
    • How often applications or drivers are updated
    • Regular release cycle or updates when necessary
    • How many different types of hardware devices are supported
    • Need to test on multiple Windows versions or different hardware configurations
    • Developing a driver requiring Kernel Mode access
    • Does the device require special or custom functionality not supported by built-in Windows drivers or frameworks?
    • Need to access protected system resources or data under the Windows security model
    • Need to run code in privileged kernel mode or interact with other kernel components or drivers
    • Performance or latency requirements not met by user-mode drivers or frameworks
    • Agreements with other hardware developers to sign drivers on their behalf
    • Are you uploading drivers not developed, tested, or verified by your own organization?
    • Charging fees or receiving benefits for signing drivers for other hardware developers
    • Use of open-source components or libraries in drivers
    • Modified open-source software under non-permissive licenses such as GPL or LGPL
  • April 30: Submitted the questionnaire.
  • May 7: Signed into Engage Center and opened a ticket asking about the hardware program enrollment status.
  • May 11: Received a reply from Ahmed on the Engage Center ticket:

    After reviewing the account, we can see that it has not yet reached the final stage of activation.
    May I kindly ask whether you have already completed the questionnaire?

    • If it is already completed, please confirm so we can proceed accordingly.
    • If not, please use the link provided below to complete it manually from your end.
    • Publisher Assistant
      Once completed, we kindly ask you to share a screenshot confirming the submission. This will help us proceed with the next steps on our side.
  • May 11: Replied to the Engage Center ticket with a screenshot of the questionnaire results.
  • May 13: Received a reply from Ahmed:

    I would like to inform you that I have already taken the necessary actions on your account with the backend engineering team regarding this issue.
    I will continue to follow up with them closely until it is fully resolved.
    Kindly note that the resolution may take a little longer than expected, and I truly appreciate your understanding in this regard however I am fully committed to resolving this matter and will keep you updated with any progress.
    I am doing my best to have this resolved as soon as possible.

  • May 15: Received a reply from Ahmed:

    At this time, we do not have any new updates to share.
    We will continue to follow up on this matter and will provide you with the updates.

  • May 19: Received a reply from Ahmed:

    We sincerely apologize for the inconvenience caused regarding this matter, and please note that we are still actively working on the issue from our side.
    We will continue to follow up on this matter and will provide you with the updates.

  • May 21: Received a reply from Ahmed:

    We would like to inform you that we are still actively working on the issue from our side.
    We will continue to follow up on this matter and will provide you with updates.

  • May 23: Signed up for the "Microsoft AI Cloud Partner Program" as recommended on this forum.
  • May 23: Received an automated email, "We’ve successfully verified your Partner Center profile MpnId <partner id> information"
  • May 25: Received an email from Ahmed:

    We would like to inform you that we are still actively working on the issue from our side.

  • May 27: Received an email from Ahmed:

    We sincerely apologize for the inconvenience caused regarding this matter, and please note that we are still actively working on the issue from our side.

  • May 29: Replied to the Engage Center ticket asking for updates.
  • June 1 or so: Submitted the form mentioned on this forum that might help with enrollment.
  • June 4: Received an email from Garret from Microsoft:

    I'm with the Microsoft Hardware Dev Center team. I see you reached out for onboarding help and have opened a few tickets. I was provided notes you had questions about the questionnaire, but it doesn't appear this has been completed yet.
    My records show your support cases were closed, so if you have questions or need additional help please let me know and I'll make sure you get routed to the right support.

  • June 4: Replied to Garret with the status of things and a screenshot of the questionnaire.
  • June 4: Received a reply from Ahmed:

    We are very sorry for the inconvenience related to the delayed reply, and kindly note that we are still actively working on the issue from our side.
    We will continue to follow up on this matter and will provide you with the updates.
    I am always here to help and ensure your experience remains smooth and successful.

  • June 8: Received a reply from Ahmed:

    We would like to inform you that we are still actively working on the issue from our side.
    We will continue to follow up on this matter and will provide you with the updates.

  • June 9: Received a reply from Amanda on the Engage Center ticket:

    I see that you’re enrolling for the Hardware developer program, have completed enrollment questionnaire and are pending an update from the questionnaire review.
    This issue has been raised to the appropriate folks, and it has been noted that questionnaire review has been pending far longer than expected. I’ve asked them to review as soon as possible; however, I don’t have an ETA for when the review will be completed. I will, however, continue to monitor the work item raised to the team and keep you updated on the status. I’ll be in touch again before the week is out with a status update. Feel free to contact me in the meantime should you have any questions or concerns.

  • June 11: Received a reply from Amanda:

    We are pending a reply from the reviewing team.
    I followed up with them today asking for an update.
    I’ll be in touch with you again early next week if there is no news before.

  • June 12: Received an automated email, "Your hardware program enrollment request was approved". Partner Center now showed the Hardware workspace.
  • June 15: Received a reply from Amanda:

    Happy to help. I asked again for an update today and am pending feedback from the review.
    I will be in touch again mid-week this week with a status update.

  • June 15: Uploaded the signed driver to the New Hardware Submission page in Partner Center. An hour later it succeeds and the signed files are available for download.
  • June 15: Several further messages with Amanda confirming that the hardware program enrollment is now active.
2 Likes

Yeah SSL “accidently” signed us up for eSigner too. Then the 100 buck a month bills came in.