-
Notifications
You must be signed in to change notification settings - Fork 50
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
libusb0.sys snapshot release and digital signature #24
Comments
Yeah, the binaries are not signed any more. The problem is that the signature will be invalid the second someone changes the INF file. The old way of signing is not supported any more due to
Please update me if I am missing something. We could test-sign the releases, but it would still only work if you enable test-signing in target installation. /pedro |
We can of course fix the SHA256 requirement easily. |
Actually we can get the sys signed and then people can use Zadig or libusbk-inf-wizard to install libusb0.sys based driver under Windows 7/8//8.1/10/11. How to get the signed .sys file? |
Ref: my question was answered by Tim Roberts in OSR ntdev forum. On Wed, Jun 16, 2021 at 8:38 PM Xiaofan Chen wrote:
Answer by Tim.
|
Reference: low Windows driver rank score for libusbk as it is signed in Nov 2014. libusb0.sys 1.0.26 version was signed even earlier in Jan 2012.
|
OK try this: https://sourceforge.net/projects/libusb-win32/files/libusb-win32-snapshots/20211025/ V1.2.7.2 (10/25/2021) - SNAPSHOT RELEASE
|
I signed it with my EV signature. Give it a spin. |
@dontech Great. Now it works. I have tested by using building Zadig to use the libusb-win32-1.2.7.2 snapshot binary. Replaced the HID driver of a test device with libusb0.sys driver. Here is the output of test
|
BTW, as mentioned in the Wiki, libusb-win32 inf-wizard does not work. So we probably want to remove it from the next releases. Ref: |
I will close this one and create another ticket for the inf-wizard. |
For those who want to use the snapshot, you can use Zadig snapshot here. https://sourceforge.net/projects/libusb-win32/files/Zadig_libwdi/ |
Very nice. I appreciate the efforts you have put in here. |
I have to re-open this as it is said the driver package does not work with Windows 7 x64. |
I tend to think this is because of the signing process. It will work under Windows 10 but not Windows 7, But I am not exactly sure about the issue or the solution. I am checking with the reported on the details (whether his Widows 7 machine has the necessary SHA-2 update). Maybe I have to ask in OSR forum again. The whole Windows driver signature issue is pretty complicated. Official documentation from Microsoft. |
One possibilty is that the user does not have the necessary SHA-2 update on the Windows 7 machine. |
Or to make things easier, we should just drop Windows 7/8/8.1 support and only supports Windows 10/11 for the next official release, now that Windows 11 is released. Take note personally I do not have any love of older unsupported (by Microsoft) version of Windows, including Windows 7. I myself run Windows 11 on my two home laptops and my work laptop runs Windows 10. |
@dontech You can decide the minum version which you feel comfortable to work with. Thanks. |
Still there is an easy workaround for Windows 7 as well if Zadig snapshot does not work for Windows 7.
|
@dontech |
Hello all,
|
@dontech I assume that with WHQL it will work on Windows 7 onwards, including Windows 8/8.1 and Windows 10, as well as the corresponding Windows server versions. Not so sure if we should even care for Windows XP and Windows Vista.
That will be great. |
BTW, the following libusb issue fix does not seems to need the fix in 1.2.7.2. |
New Zadig 2.7 build with libusb0.sys 1.2.7.2 snapshot release. I built Zadig 2.7 from libwdi 1.4.1 release source codes with VS2019 and tested it with Windows 10 and 11. |
I have tried this driver on Windows 7 SP1 (32 / 64) / Windows 8.1 Version 6.3 Build 9600 x86_64 / Windows 10 On both windows 8.1 and windows 10, libusb0.sys is reported "signed by libusb-win32" libusb0.sys 1.2.7.2 still CANNOT work in Windows 7 |
I have found a work-around: The reason for this mess is the deprecation of cross-certs, and a specific bug in the windows 7 cert handling. I will try to create a new snapshot with the certificate chain changes needed, and see if it helps... |
OK new snapshot ready: https://sourceforge.net/projects/libusb-win32/files/libusb-win32-snapshots/
|
I don't have test environment right now, so I'll try this new snapshot on next Monday, and give you feedback ASAP. |
@pazourek Please help to test 1.2.7.3 snapshot release under Windows 7 as well if you got the time. Thanks. |
I'm sorry, but I'm a little confused how to test the 1.2.7.3 snapshot. The version 1.2.7.2 contained an inf-wizard so I was able to install the driver. But the latest snapshot (libusb-win32-bin-1.2.7.3.zip) doesn't. There is also missing a .cat file. |
You can use Zadig to install libusb0.sys 1.2.6.0 driver for your device first, and then install libusb-win32 1.2.7.2 to upgrade the libusb0.sys and libusb0.dll file. But I will create a release of Zadig 2.7 with the 1.2.7.3 snapshor release as well in a few hours. |
@pazourek |
Mirror of libusb-win32 1.2.7.3 snapshot release here, I also include the above Zadig release. |
The dirver installed by Zadig sems to work properly under Win7 Pro 64bit. |
Great. Thanks for the confirmation. |
I have tested libusb0.sys 1.2.7.3 driver on Windows 7 SP1 (32 / 64) / Windows 8.1 Version 6.3 Build 9600 x86_64 / Windows 10 x86_64 |
Yeah, i noticed the same. Any ideas? It think it's because its attestation signed, which for some reason is not liked by the older Windows GUI. Clearly the GUI is not driven by the same logic as the driver installer itself, at the installer approves of the driver now. |
It does the same for libusbk installed via Zadig. I think this is something related to some Windows internals. Not sure this is fixable. Maybe someone at libusbK knows more? |
I think its because the GUI wants the driver to be cross signed by Microsoft. Cross signing was removed and deprecated: https://docs.microsoft.com/en-us/windows-hardware/drivers/install/deprecation-of-software-publisher-certificates-and-commercial-release-certificates As long as the driver works, i think its OK. Ideas? |
Yes, I agree with your conclusion. We are more or less ready with the next release. |
For those who want to get the 'cosmetic' fixed, one way is to submit your driver package (for specific devices specified in the inf) for WHQL and hopefully it can pass the tests. You need to have the EV cert and you need to pass the HLK. |
@dontech -- can you do another experiment with attestation signing? You have used the Option 1 in the following OSR forum post. The package will work under Windows 10. Now you may want to try Option2. This time you do not use your cert to sign the package. It is said that the result package will be working under Windows 7 and Windows 10. Ref: Peter_Viscarola_(OSR) Administrator
OR
Done. No need to ask MSFT anything, |
I tried not signing anything. Same thing: loads on win7 x64, but still states "not signed in GUI". Fairly sure this is an O/S limitation we cannot get around, which was caused by the expiration of the cross-certs, which win7 GUI apparently wants. Either that or it wants an MS SHA1 signature, which the signing portal does not provide. To fix that Microsoft would need to push a fix for WIN7. Since WIN7 is EOL thats doubtful. I think we a stuck with the current solution, unless someone can point to someone who has gotten around this. |
Good. Thanks for the confirmation. I will close this issue now. |
(Updated on 13-Nov-2021)
Please take not libusb0.sys snapshot 1.2.7.1 release is not signed. Users who want to use it will have to get it signed by themselves. 1.2.7.2 snapshot release is signed but it will not work for Windows7.
Please help to test 1.2.7.3 to see if it works under Windows 7 or not.
V1.2.7.3 (11/13/2021) - SNAPSHOT RELEASE
driver: sign the drivers using SHA1 as well as SHA256
driver: sign the drivers after microsoft and not before (win7 fix)
V1.2.7.2 (10/25/2021) - SNAPSHOT RELEASE
driver: sign the drivers using EV certificate: libusb0.sys snapshot release and digital signature #24
driver: fix possible stack corruption: HPE team - found a stack override problem on libusb-win32 #19
lib: fix missing check for failed CloseHandle(): Bug: usb_free_async should check CloseHandle return value #12
V1.2.7.1 (09/18/2019) - SNAPSHOT RELEASE
V1.2.6.0 (01/17/2012)
The text was updated successfully, but these errors were encountered: