We use Cypress USB controllers for an our own product that should work under Windows Vista/7 64-bit. As I discovered in this forum we need a signed driver for x64 OS from Vista on. Now I would like to know the step I need to sign the driver. I would like to sign the driver because (if I'm not wrong) the cost is not too high (according to what I found here the certificate costs 99$).
I learned from the Microsoft guide on kernel-mode code signing walkthrough how to: 1) obtain a Software Publisher Certificate (SPC) from a commercial CA (Certificate Autorithy); 2) create a .CAT file starting from the driver file (.SYS) and the driver setup information file (.INF); 3) use the SPC to sign the CAT file in order to be able to use the driver under Windows Vista/7 64-bit.
Installing Cypress USB Generic Driver (3.4.6) I got the cyusb.sys and cyusb.inf files (under C:\Program Files\Cypress\Cypress Suite USB 3.4.6\Driver\wlh). These work fine for our product (for the moment only disabling the driver signature enforcement).
Now I feel to miss some information on the steps I need to have our own signed driver that will work with our XXX product so that once plugged in our product to a computer that has the driver installed, the product is automatically recognized as the XXX product.
First of all I guess I have to change on the USB controller and on the cyusb.inf the VID and the PID, isn't it? I guess these values have to be provided by Microsoft and I cannot use any values, isn't it? In this case how do I get them from Microsoft? Then if I do not modify the cyusb.sys driver do I need to follow the procedure that Cypress indicates for having the WHQL certificate? If I do not need this WHQL signing procedure, should I simply follow the instructions on the kernel-mode code signing walkthrough provided my Microsoft?
Please details as much as possible the steps needed for different scenarios.
|