Watfaq / SoftU2F-Win

Software U2F authenticator for Windows
The Unlicense
67 stars 20 forks source link

u2f does not work with google #11

Closed xhums1 closed 2 years ago

xhums1 commented 2 years ago

Hi,

So the demo at https://demo.yubico.com/webauthn-technical/registration works but when I try to use it with google I get Something went wrong. Try again. Remove your Security Key and insert it again. If it has a button or a gold disc, tap it. I get this after I click on the popup notification to allow SoftU2F to generate key It is something from my part or it is something general and it does not work with google

ibigbug commented 2 years ago

could you please try with other services like Github etc. sometimes different services may work differently.

xhums1 commented 2 years ago

on github I only found 2fa setup, not u2f. I found u2f on twitter and it works. So why does it nor work on google? Is there something to do to make it work with google too? I will test other websites and see if only google is not working or others too.

I have one more question, where are the keys stored on the hard drive? I wonder if I can copy them and put them on another computer so I can get access with that computer too to the account, or make a simple backup, just in case

Thanks

xhums1 commented 2 years ago

files.com bitbucket.org twitter.com pypi.org all of this work but not google Do you know how to fix it for google? Thanks

karangri commented 2 years ago

same problem, u2f does not work with google

ibigbug commented 2 years ago

could be Google has a specific thing that needs to be implemented other than the standard U2F - could take a while to understand what's going on there but I don't have plenty of time looking into it right now :(

karangri commented 2 years ago

I think, google block name 'SoftU2F'

xhums1 commented 2 years ago

could be Google has a specific thing that needs to be implemented other than the standard U2F - could take a while to understand what's going on there but I don't have plenty of time looking into it right now :(

Can we change the model name. I think Google checks the manufacturer and model. Can we change the manufacturer and model name when we start the u2f?

xhums1 commented 2 years ago

If you find the time and it is more easy maybe you can let us know how to compile daemon and driver and we can manually change the names and compile them so we can make a test. But I do not know hot to compile the 2.

ibigbug commented 2 years ago

@xhums1 have updated the README: https://github.com/SoftU2F/SoftU2F-Win/blob/master/README.md#development

xhums1 commented 2 years ago

I changed the daemon name (all SoftU2F names), build worked ok but it is nor working on google. I was not able to change the driver name. After I replace all SoftU2F text when I try to install it it does not work. devcon.exe returns an error and I get unknown hardware in computer - manager - HID section (build worked with no errors), I have put at file digest algorithm in visual studio the text SHA1 (I did not know what to put)

ibigbug commented 2 years ago

maybe try with changing these strings first: https://github.com/SoftU2F/SoftU2F-Win/blob/de16d9a178395ce2c7eb21e09700b847661b8c52/SoftU2FDriver/SoftU2F.inf#L74

to mimic a "well-known" brand/product and see if that helps.

xhums1 commented 2 years ago

devcon.exe fails after I build the driver and try to install it. What do I do wrong? PS C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30> ./driver-install.ps1 Device node created. Install is complete when drivers are installed... Updating drivers for Root\SoftU2F from C:\Users\D\Desktop\SoftU2F\SoftU2F.inf. devcon.exe failed.

ibigbug commented 2 years ago

Maybe it wasn’t signed properly.

xhums1 commented 2 years ago

:( can't make it work. Te certificat is good https://filebin.net/jlkepftwhfarn4hh

xhums1 commented 2 years ago

Rebuild started... Restored C:\Users\D\source\repos\SoftU2F-Win\APDU\APDU.csproj (in 97 ms). Restored C:\Users\D\source\repos\SoftU2F-Win\SoftU2FDaemon\SoftU2FDaemon.csproj (in 245 ms). Restored C:\Users\D\source\repos\SoftU2F-Win\U2FLib\U2FLib.csproj (in 245 ms). Restored C:\Users\D\source\repos\SoftU2F-Win\JustTest\JustTest.csproj (in 245 ms). 1>------ Rebuild All started: Project: SoftU2FDriver, Configuration: Debug Win32 ------ 1>Building 'SoftU2FDriver' with toolset 'WindowsKernelModeDriver10.0' and the 'Universal' target platform. 1>Stamping Debug\SoftU2F.inf 1>Stamping [Version] section with DriverVer=03/16/2022,2.30.49.2 1> stampinf: found Section-Line 5: [Version] 1> 1> stampinf: In Version section 1> stampinf: updating existing DriverVer= 1> stampinf: REPLACE Line 11: DriverVer=; TODO: set DriverVer in stampinf property pages 1> 1> stampinf: WITH Line 11: DriverVer = 03/16/2022,2.30.49.2 1> 1> stampinf: changed file size by -26 1> stampinf: looking for [Manufacturer] section... 1> stampinf: found Section-Line 5: [Version] 1> 1> stampinf: found Section-Line 13: [DestinationDirs] 1> 1> stampinf: found Section-Line 18: [SourceDisksNames] 1> 1> stampinf: found Section-Line 21: [SourceDisksFiles] 1> 1> stampinf: found Section-Line 29: [Manufacturer] 1> 1> stampinf: In Manufacturer section 1> stampinf: Line 30: %ManufacturerName%=Standard,NT$ARCH$ 1> 1> stampinf: REPLACE Line 30: $ARCH$ 1> 1> stampinf: WITH Line 30: x86 1> 1> stampinf: changed file size by -3 1> stampinf: found Section-Line 32: [Standard.NT$ARCH$] 1> 1> stampinf: found end of [Manufacturer] section 1> stampinf: looking for decorated section names... 1> stampinf: found Section-Line 5: [Version] 1> 1> stampinf: found Section-Line 13: [DestinationDirs] 1> 1> stampinf: found Section-Line 18: [SourceDisksNames] 1> 1> stampinf: found Section-Line 21: [SourceDisksFiles] 1> 1> stampinf: found Section-Line 29: [Manufacturer] 1> 1> stampinf: found Section-Line 32: [Standard.NT$ARCH$] 1> 1> stampinf: REPLACE Line 32: $ARCH$] 1> 1> stampinf: WITH Line 32: x86] 1> 1> stampinf: changed file size by -3 1> stampinf: found Section-Line 35: [SoftU2F_Device.NT] 1> 1> stampinf: found Section-Line 38: [Drivers_Dir] 1> 1> stampinf: found Section-Line 42: [SoftU2F_Device.NT.Services] 1> 1> stampinf: found Section-Line 46: [SoftU2F_Service_Inst] 1> 1> stampinf: found Section-Line 57: [SoftU2F_Device.NT.CoInstallers] 1> 1> stampinf: found Section-Line 61: [SoftU2F_Device_CoInstaller_AddReg] 1> 1> stampinf: found Section-Line 64: [SoftU2F_Device_CoInstaller_CopyFiles] 1> 1> stampinf: found Section-Line 67: [SoftU2F_Device.NT.Wdf] 1> 1> stampinf: found Section-Line 69: [SoftU2F_wdfsect] 1> 1> stampinf: found Section-Line 72: [Strings] 1> 1> stampinf: found Section-Line 80: [SoftU2F_Device.NT.HW] 1> 1> stampinf: found Section-Line 83: [SoftU2F_Device.NT.AddReg] 1> 1> stampinf: looking for WDF version strings 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: Removing coinstaller references 1> stampinf: REPLACE Line 23: WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=1 ; make sure the number matches with SourceDisksNames 1> 1> stampinf: WITH Line 23: ; 1> 1> 1> stampinf: changed file size by -95 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: Removing coinstaller references 1> stampinf: REPLACE Line 62: HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller" 1> 1> stampinf: WITH Line 62: ; 1> 1> 1> stampinf: changed file size by -89 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: Removing coinstaller references 1> stampinf: REPLACE Line 65: WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll 1> 1> stampinf: WITH Line 65: ; 1> 1> 1> stampinf: changed file size by -40 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: REPLACE Line 70: $KMDFVERSION$ 1> 1> stampinf: WITH Line 70: 1.15 1> 1> stampinf: changed file size by -9 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1>C:\Users\D\source\repos\SoftU2F-Win\SoftU2FDriver\SoftU2F.inf(5-5): warning 1324: [Version] section should specify PnpLockdown=1. 1>Device.c 1>Driver.c 1>U2F.c 1>Generating Code... 1>SoftU2F.vcxproj -> C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver.sys 1>Done Adding Additional Store 1>Successfully signed: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver.sys 1> 1>Driver is 'Universal'. 1>Processing directory (C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver) file (softu2f.inf) 1>Processing directory (C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver) file (softu2fdriver.sys) 1>Parsing INF: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.inf 1>Finished parsing INFs 1>Processing INF: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.inf 1>Finished processing INFs 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1> 1>Signability test complete. 1> 1>Errors: 1>None 1> 1>Warnings: 1>None 1> 1>Catalog generation complete. 1>C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.cat 1>Done Adding Additional Store 1>Successfully signed: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.cat 1> 1>Done building project "SoftU2F.vcxproj". ========== Rebuild All: 1 succeeded, 0 failed, 0 skipped ==========

karangri commented 2 years ago

Maybe because certificate expired(https://github.com/SoftU2F/SoftU2F-Win/blob/master/APDU/Signature.cs) Common Name: SoftU2FSigner Subject Alternative Names: SoftU2FSigner Organization: Watfaq Inc. Country: Everywhere Valid From: June 16, 2019 Valid To: December 13, 2019 Serial Number: 64c6c6d198605758133f439f58165dcead4fae6d

xhums1 commented 2 years ago

360 euro for 1 year ev cert? Is there a cheaper alternative? A positive cert for website will not work? That is like 10 euro/year

ibigbug commented 2 years ago

No the cert has to be EV certificate.

Would love to see some people / org can sponsor one of those.

xhums1 commented 2 years ago

Do you have any other idea why it does not work besides of the certificate?

xhums1 commented 2 years ago

will this work? https://codesigningstore.com/code-signing/comodo-code-signing-certificate?gclid=CjwKCAjwrqqSBhBbEiwAlQeqGsWS_7W_cEwIiRMD-RNAZ1gqIUiRGmcJgCZfOidBLZ6plPhiuwgtNBoCMkoQAvD_BwE

karangri commented 2 years ago

In https://github.com/SoftU2F/SoftU2F-Win/blob/master/APDU/Signature.cs - expired self-signed certificate, replace it for new and it will work. (Works for me)

xhums1 commented 2 years ago

In https://github.com/SoftU2F/SoftU2F-Win/blob/master/APDU/Signature.cs - expired self-signed certificate, replace it for new and it will work. (Works for me)

You mean works with google?

karangri commented 2 years ago

Yes, works with google!

ibigbug commented 2 years ago

Great to hear - any volunteer to make a PR for updating the cert? Thanks!

karangri commented 2 years ago

I don't know the correct options to generate a new certificate. I replaced it with the certificate from https://github.com/github/SoftU2F/blob/master/SelfSignedCertificate/SelfSignedCertificate.m

xhums1 commented 2 years ago

I don't know the correct options to generate a new certificate. I replaced it with the certificate from https://github.com/github/SoftU2F/blob/master/SelfSignedCertificate/SelfSignedCertificate.m

I feel like I'm 5 years old. :(((( I understand nothing Please, PLEASE put here the https://github.com/SoftU2F/SoftU2F-Win/blob/master/APDU/Signature.cs file you have because I do not know how to copy it from here https://github.com/github/SoftU2F/blob/master/SelfSignedCertificate/SelfSignedCertificate.m . They do not look remotely the same Just paste the code here or create a Pull request THANK YOU for your help and time!

karangri commented 2 years ago

https://github.com/karangri/SoftU2F-Win/blob/master/APDU/Signature.cs

xhums1 commented 2 years ago

https://github.com/karangri/SoftU2F-Win/blob/master/APDU/Signature.cs

omg .... I can't do it

This is what I did. Visual studio created a copy of your git closed it opened visual studio again and selected open project solution from file, selected the SoftU2F.sln right click on SoftU2FDriver folder and clicked build received error that file digest algorithm is not set, so I right-click - properties - digital signature - general - file digest signature I put SHA256 right-click again on SoftU2FDriver folder and build I go to C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver and I find the 3 files created softu2f.cat SoftU2F.inf SoftU2FDriver.sys At this stage I do not know how to install it so I fallow ibigbug instructions on how to install the drive, only that I replace his 3 files with the 3 files created. But I receive an error ./driver-install.ps1 Device node created. Install is complete when drivers are installed... Updating drivers for Root\SoftU2F from C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\SoftU2F.inf. devcon.exe failed.

Please help. can you maybe build the driver and daemon from your repository and tag it (post it, release it)

xhums1 commented 2 years ago

:( So disappointed of myself. I have the code and I'm not even able to build it :) hilarious ibigbug how do you build it. I'm not even able to build the daemon. Your file looks like this Untitled

and my files after I right click and click build looks like this Untitled1

I do not even have some files that you have, not to mention I have way more files then you. :(

karangri commented 2 years ago

I do not even have some files that you have, not to mention I have way more files then you. :(

solution - https://github.com/karangri/SoftU2F-Win/commit/3b468a8604b6bf870db336fc55d9f9b77dedbf2f

xhums1 commented 2 years ago

Yes, I used your repo but I'm stuck at Driver building. This is what I do I copy the link https://github.com/karangri/SoftU2F-Win.git open visual studio 2019 click on open a repository at repository location I put https://github.com/karangri/SoftU2F-Win.git I click on clone I double click SoftU2F.sln I right-click SoftU2FDriver and click build I receive this error Severity Code Description Project File Line Suppression State Error No file digest algorithm specified. Please specify the digest algorithm with the /fd flag. Using /fd SHA256 is recommended and more secure than SHA1. Calling signtool with /fd sha1 is equivalent to the previous behavior. In order to select the hash algorithm used in the signing certificate's signature, use the /fd certHash option. SoftU2FDriver C:\Users\D\source\repos\SoftU2F-Win\SoftU2FDriver\SIGNTASK 1 I right click SoftU2FDriver and click on properties - digital signature - general - file digest signature I put SHA256 and click OK I right-click SoftU2FDriver and click build

This is the log

Build started... 1>------ Build started: Project: SoftU2FDriver, Configuration: Debug Win32 ------ 1>Building 'SoftU2FDriver' with toolset 'WindowsKernelModeDriver10.0' and the 'Universal' target platform. 1>Stamping Debug\SoftU2F.inf 1>Stamping [Version] section with DriverVer=04/10/2022,8.53.19.646 1> stampinf: found Section-Line 5: [Version] 1> 1> stampinf: In Version section 1> stampinf: updating existing DriverVer= 1> stampinf: REPLACE Line 11: DriverVer=; TODO: set DriverVer in stampinf property pages 1> 1> stampinf: WITH Line 11: DriverVer = 04/10/2022,8.53.19.646 1> 1> stampinf: changed file size by -24 1> stampinf: looking for [Manufacturer] section... 1> stampinf: found Section-Line 5: [Version] 1> 1> stampinf: found Section-Line 13: [DestinationDirs] 1> 1> stampinf: found Section-Line 18: [SourceDisksNames] 1> 1> stampinf: found Section-Line 21: [SourceDisksFiles] 1> 1> stampinf: found Section-Line 29: [Manufacturer] 1> 1> stampinf: In Manufacturer section 1> stampinf: Line 30: %ManufacturerName%=Standard,NT$ARCH$ 1> 1> stampinf: REPLACE Line 30: $ARCH$ 1> 1> stampinf: WITH Line 30: x86 1> 1> stampinf: changed file size by -3 1> stampinf: found Section-Line 32: [Standard.NT$ARCH$] 1> 1> stampinf: found end of [Manufacturer] section 1> stampinf: looking for decorated section names... 1> stampinf: found Section-Line 5: [Version] 1> 1> stampinf: found Section-Line 13: [DestinationDirs] 1> 1> stampinf: found Section-Line 18: [SourceDisksNames] 1> 1> stampinf: found Section-Line 21: [SourceDisksFiles] 1> 1> stampinf: found Section-Line 29: [Manufacturer] 1> 1> stampinf: found Section-Line 32: [Standard.NT$ARCH$] 1> 1> stampinf: REPLACE Line 32: $ARCH$] 1> 1> stampinf: WITH Line 32: x86] 1> 1> stampinf: changed file size by -3 1> stampinf: found Section-Line 35: [SoftU2F_Device.NT] 1> 1> stampinf: found Section-Line 38: [Drivers_Dir] 1> 1> stampinf: found Section-Line 42: [SoftU2F_Device.NT.Services] 1> 1> stampinf: found Section-Line 46: [SoftU2F_Service_Inst] 1> 1> stampinf: found Section-Line 57: [SoftU2F_Device.NT.CoInstallers] 1> 1> stampinf: found Section-Line 61: [SoftU2F_Device_CoInstaller_AddReg] 1> 1> stampinf: found Section-Line 64: [SoftU2F_Device_CoInstaller_CopyFiles] 1> 1> stampinf: found Section-Line 67: [SoftU2F_Device.NT.Wdf] 1> 1> stampinf: found Section-Line 69: [SoftU2F_wdfsect] 1> 1> stampinf: found Section-Line 72: [Strings] 1> 1> stampinf: found Section-Line 80: [SoftU2F_Device.NT.HW] 1> 1> stampinf: found Section-Line 83: [SoftU2F_Device.NT.AddReg] 1> 1> stampinf: looking for WDF version strings 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: Removing coinstaller references 1> stampinf: REPLACE Line 23: WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll=1 ; make sure the number matches with SourceDisksNames 1> 1> stampinf: WITH Line 23: ; 1> 1> 1> stampinf: changed file size by -95 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: Removing coinstaller references 1> stampinf: REPLACE Line 62: HKR,,CoInstallers32,0x00010000, "WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll,WdfCoInstaller" 1> 1> stampinf: WITH Line 62: ; 1> 1> 1> stampinf: changed file size by -89 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: Removing coinstaller references 1> stampinf: REPLACE Line 65: WdfCoInstaller$KMDFCOINSTALLERVERSION$.dll 1> 1> stampinf: WITH Line 65: ; 1> 1> 1> stampinf: changed file size by -40 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> stampinf: REPLACE Line 70: $KMDFVERSION$ 1> 1> stampinf: WITH Line 70: 1.15 1> 1> stampinf: changed file size by -9 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1> $KMDFVERSION$ = 1.15 $KMDFCOINSTALLERVERSION$ = 01015 1>C:\Users\D\source\repos\SoftU2F-Win\SoftU2FDriver\SoftU2F.inf(5-5): warning 1324: [Version] section should specify PnpLockdown=1. 1>SoftU2F.vcxproj -> C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver.sys 1>Done Adding Additional Store 1>Successfully signed: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver.sys 1> 1>Driver is 'Universal'. 1>Processing directory (C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver) file (softu2f.inf) 1>Processing directory (C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver) file (softu2fdriver.sys) 1>Parsing INF: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.inf 1>Finished parsing INFs 1>Processing INF: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.inf 1>Finished processing INFs 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1>Testing driver package... 1> 1>Signability test complete. 1> 1>Errors: 1>None 1> 1>Warnings: 1>None 1> 1>Catalog generation complete. 1>C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.cat 1>Done Adding Additional Store 1>Successfully signed: C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver\softu2f.cat 1> 1>Done building project "SoftU2F.vcxproj". ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

Now I go to C:\Users\D\source\repos\SoftU2F-Win\Debug\SoftU2FDriver and find the 3 files softu2f.cat SoftU2F.inf SoftU2FDriver.sys At this stage I do not know how to install it so I fallow ibigbug instructions on how to install the drive, only that I replace his 3 files with the 3 files created. But I receive an error ./driver-install.ps1 Device node created. Install is complete when drivers are installed... Updating drivers for Root\SoftU2F from C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\SoftU2F.inf. devcon.exe failed.

As for SoftU2FDaemon , I right click on it and select build

This is the log

Build started... 1>------ Build started: Project: APDU, Configuration: Debug Any CPU ------ 1>APDU -> C:\Users\D\Source\Repos\SoftU2F-Win\APDU\bin\Debug\netstandard2.0\APDU.dll 2>------ Build started: Project: U2FLib, Configuration: Debug Any CPU ------ 2>U2FLib -> C:\Users\D\Source\Repos\SoftU2F-Win\U2FLib\bin\Debug\netstandard2.0\U2FLib.dll 3>------ Build started: Project: SoftU2FDaemon, Configuration: Debug Any CPU ------ 3>SoftU2FDaemon -> C:\Users\D\Source\Repos\SoftU2F-Win\SoftU2FDaemon\bin\Debug\net5.0-windows\SoftU2FDaemon.dll ========== Build: 3 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========

At this point I do not know if it works becase I can't start the driver This is the INF log when I tri to install the driver build by me (it is failing)

[Device Install (UpdateDriverForPlugAndPlayDevices) - Root\SoftU2F] Section start 2022/04/10 09:44:29.417 cmd: "C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\devcon.exe" install .\SoftU2F.inf Root\SoftU2F ndv: INF path: C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\SoftU2F.inf ndv: Install flags: 0x00000001 ndv: {Update Device Driver - ROOT\HIDCLASS\0000} ndv: Search options: 0x00000080 ndv: Searching single INF 'C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\SoftU2F.inf' dvi: {Build Driver List} 09:44:29.448 dvi: Searching for hardware ID(s): dvi: root\softu2f dvi: {Build Driver List - exit(0x00000000)} 09:44:29.480 ! ndv: No matching drivers found in single INF dvi: {DIF_SELECTBESTCOMPATDRV} 09:44:29.480 dvi: Default installer: Enter 09:44:29.480 dvi: {Select Best Driver} ! dvi: Selecting driver failed(0xe0000228) dvi: {Select Best Driver - exit(0xe0000228)} ! dvi: Default installer: failed ! dvi: Error 0xe0000228: There are no compatible drivers for this device. dvi: {DIF_SELECTBESTCOMPATDRV - exit(0xe0000228)} 09:44:29.480 ! ndv: Unable to select best compatible driver. Error = 0xe0000228 ndv: No drivers found for device. ndv: {Update Device Driver - exit(00000103)} ! ndv: No better matching drivers found for device 'ROOT\HIDCLASS\0000'. ! ndv: No devices were updated. <<< Section end 2022/04/10 09:44:29.480 <<< [Exit status: FAILURE(0x00000103)]

[Device Uninstall (Device Manager) - ROOT\HIDCLASS\0000] Section start 2022/04/10 09:44:37.488 cmd: "C:\WINDOWS\system32\mmc.exe" "C:\WINDOWS\system32\compmgmt.msc" /s dvi: {DIF_REMOVE} 09:44:37.488 dvi: Default installer: Enter 09:44:37.489 dvi: {Remove DEVICE} dvi: {Delete Device - ROOT\HIDCLASS\0000} dvi: Query-and-Remove succeeded dvi: {Delete Device - exit(0x00000000)} dvi: {Remove DEVICE exit (0x00000000)} dvi: Default installer: Exit dvi: {DIF_REMOVE - exit(0x00000000)} 09:44:37.502 <<< Section end 2022/04/10 09:44:37.502 <<< [Exit status: SUCCESS]

And this is the log of the original driver (it works, I receive the signuture error but I click on install anyway and it works, but it does not work with google due to signiture expired)

[Device Install (UpdateDriverForPlugAndPlayDevices) - Root\SoftU2F] Section start 2022/04/10 09:47:06.401 cmd: "C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\devcon.exe" install .\SoftU2F.inf Root\SoftU2F ndv: INF path: C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\SoftU2F.inf ndv: Install flags: 0x00000001 ndv: {Update Device Driver - ROOT\HIDCLASS\0000} ndv: Search options: 0x00000080 ndv: Searching single INF 'C:\Users\D\Desktop\SoftU2FDriver-x64-2021-04-30\SoftU2F.inf' dvi: {Build Driver List} 09:47:06.432 dvi: Searching for hardware ID(s): dvi: root\softu2f sig: {_VERIFY_FILE_SIGNATURE} 09:47:06.464 sig: Key = softu2f.inf sig: FilePath = c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf sig: Catalog = c:\users\d\desktop\softu2fdriver-x64-2021-04-30\SoftU2F.cat ! sig: Verifying file against specific (valid) catalog failed. ! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider. sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 09:47:06.495 sig: {_VERIFY_FILE_SIGNATURE} 09:47:06.495 sig: Key = softu2f.inf sig: FilePath = c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf sig: Catalog = c:\users\d\desktop\softu2fdriver-x64-2021-04-30\SoftU2F.cat ! sig: Verifying file against specific Authenticode(tm) catalog failed. ! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider. sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 09:47:06.495 dvi: Created Driver Node: dvi: HardwareID - Root\SoftU2F dvi: InfName - c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf dvi: DevDesc - SoftU2F Device dvi: Section - SoftU2F_Device.NT dvi: Rank - 0x80ff0000 dvi: Signer Score - Not digitally signed dvi: DrvDate - 04/30/2021 dvi: Version - 20.47.9.937 dvi: {Build Driver List - exit(0x00000000)} 09:47:06.510 dvi: {DIF_SELECTBESTCOMPATDRV} 09:47:06.510 dvi: Default installer: Enter 09:47:06.510 dvi: {Select Best Driver} dvi: Class GUID of device changed to: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}. dvi: Selected Driver: dvi: Description - SoftU2F Device dvi: InfFile - c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf dvi: Section - SoftU2F_Device dvi: {Select Best Driver - exit(0x00000000)} dvi: Default installer: Exit dvi: {DIF_SELECTBESTCOMPATDRV - exit(0x00000000)} 09:47:06.510 ndv: Force Installing Driver: ndv: Inf Name - softu2f.inf ndv: Driver Date - 04/30/2021 ndv: Driver Version - 20.47.9.937 sto: {Setup Import Driver Package: c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf} 09:47:06.510 inf: Provider: Watfaq inf: Class GUID: {745a17a0-74d3-11d0-b6fe-00a0c90f57da} inf: Driver Version: 04/30/2021,20.47.9.937 inf: Catalog File: SoftU2F.cat sto: {Copy Driver Package: c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf} 09:47:06.510 sto: Driver Package = c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf sto: Flags = 0x00000007 sto: Destination = C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119} sto: Copying driver package files to 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}'. flq: {FILE_QUEUE_COMMIT} 09:47:06.526 flq: Copying 'c:\users\d\desktop\softu2fdriver-x64-2021-04-30\SoftU2F.cat' to 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\SoftU2F.cat'. flq: Copying 'c:\users\d\desktop\softu2fdriver-x64-2021-04-30\softu2f.inf' to 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\softu2f.inf'. flq: Copying 'c:\users\d\desktop\softu2fdriver-x64-2021-04-30\SoftU2FDriver.sys' to 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\SoftU2FDriver.sys'. flq: {FILE_QUEUE_COMMIT - exit(0x00000000)} 09:47:06.542 sto: {Copy Driver Package: exit(0x00000000)} 09:47:06.542 ump: Import flags: 0x00000000 pol: {Driver package policy check} 09:47:06.604 pol: {Driver package policy check - exit(0x00000000)} 09:47:06.620 sto: {Stage Driver Package: C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\softu2f.inf} 09:47:06.620 inf: {Query Configurability: C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\softu2f.inf} 09:47:06.620 inf: Driver package uses WDF. inf: Driver package 'softu2f.inf' is configurable. inf: {Query Configurability: exit(0x00000000)} 09:47:06.620 flq: {FILE_QUEUE_COMMIT} 09:47:06.620 flq: Copying 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\SoftU2F.cat' to 'C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\SoftU2F.cat'. flq: Copying 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\softu2f.inf' to 'C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\softu2f.inf'. flq: Copying 'C:\Users\D\AppData\Local\Temp{340987a2-2531-aa45-b0db-cb8c29fa9119}\SoftU2FDriver.sys' to 'C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\SoftU2FDriver.sys'. flq: {FILE_QUEUE_COMMIT - exit(0x00000000)} 09:47:06.635 sto: {DRIVERSTORE IMPORT VALIDATE} 09:47:06.635 sig: Driver package catalog is valid. sig: {_VERIFY_FILE_SIGNATURE} 09:47:06.667 sig: Key = softu2f.inf sig: FilePath = C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\softu2f.inf sig: Catalog = C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\SoftU2F.cat ! sig: Verifying file against specific (valid) catalog failed. ! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider. sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 09:47:06.682 sig: {_VERIFY_FILE_SIGNATURE} 09:47:06.682 sig: Key = softu2f.inf sig: FilePath = C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\softu2f.inf sig: Catalog = C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}\SoftU2F.cat ! sig: Verifying file against specific Authenticode(tm) catalog failed. ! sig: Error 0x800b0109: A certificate chain processed, but terminated in a root certificate which is not trusted by the trust provider. sig: {_VERIFY_FILE_SIGNATURE exit(0x800b0109)} 09:47:06.682 ! sig: Driver package catalog file certificate does not belong to Trusted Root Certificates, but user wants to install anyway. sto: {DRIVERSTORE IMPORT VALIDATE: exit(0x00000000)} 09:47:10.740 sig: Signer Score = 0x80000000 (Unsigned) sto: {Core Driver Package Import: softu2f.inf_amd64_36e79ad47e2b509b} 09:47:10.740 sto: {DRIVERSTORE IMPORT BEGIN} 09:47:10.740 bak: Create system restore point: bak: Description = Device Driver Package Install: Watfaq Human Interface Devices bak: Time = 7672ms bak: Status = 0x00000000 (SUCCESS) sto: {DRIVERSTORE IMPORT BEGIN: exit(0x00000000)} 09:47:18.491 cpy: {Copy Directory: C:\WINDOWS\System32\DriverStore\Temp{5b6bef7f-a6d3-9349-a2c4-44f1d353da90}} 09:47:18.491 cpy: Target Path = C:\WINDOWS\System32\DriverStore\FileRepository\softu2f.inf_amd64_36e79ad47e2b509b cpy: {Copy Directory: exit(0x00000000)} 09:47:18.491 idb: {Register Driver Package: C:\WINDOWS\System32\DriverStore\FileRepository\softu2f.inf_amd64_36e79ad47e2b509b\softu2f.inf} 09:47:18.491 idb: Created driver package object 'softu2f.inf_amd64_36e79ad47e2b509b' in SYSTEM database node. idb: Created driver INF file object 'oem20.inf' in SYSTEM database node. idb: Registered driver package 'softu2f.inf_amd64_36e79ad47e2b509b' with 'oem20.inf'. idb: {Register Driver Package: exit(0x00000000)} 09:47:18.522 idb: {Publish Driver Package: C:\WINDOWS\System32\DriverStore\FileRepository\softu2f.inf_amd64_36e79ad47e2b509b\softu2f.inf} 09:47:18.522 idb: Activating driver package 'softu2f.inf_amd64_36e79ad47e2b509b'. cpy: Published 'softu2f.inf_amd64_36e79ad47e2b509b\softu2f.inf' to 'oem20.inf'. idb: Indexed 2 device IDs for 'softu2f.inf_amd64_36e79ad47e2b509b'. sto: Flushed driver database node 'SYSTEM'. Time = 94 ms idb: {Publish Driver Package: exit(0x00000000)} 09:47:18.631 sto: {DRIVERSTORE IMPORT END} 09:47:18.631 dvi: Flushed all driver package files to disk. Time = 0 ms sig: Installed catalog 'SoftU2F.cat' as 'oem20.cat'. bak: Commit system restore point: bak: Description = Device Driver Package Install: Watfaq Human Interface Devices bak: Time = 0ms bak: Status = 0x00000000 (SUCCESS) sto: {DRIVERSTORE IMPORT END: exit(0x00000000)} 09:47:18.897 sto: {Core Driver Package Import: exit(0x00000000)} 09:47:18.897 sto: {Stage Driver Package: exit(0x00000000)} 09:47:18.897 sto: {Setup Import Driver Package - exit (0x00000000)} 09:47:19.007 dvi: Searching for hardware ID(s): dvi: root\softu2f dvi: Class GUID of device changed to: {745a17a0-74d3-11d0-b6fe-00a0c90f57da}. ump: {Plug and Play Service: Device Install for ROOT\HIDCLASS\0000} dvi: {Core Device Install} 09:47:19.131 dvi: {Configure Device - ROOT\HIDCLASS\0000} 09:47:19.131 dvi: Device Status: 0x01802001 dvi: Parent Device: HTREE\ROOT\0 sto: {Configure Driver Package: C:\WINDOWS\System32\DriverStore\FileRepository\softu2f.inf_amd64_36e79ad47e2b509b\softu2f.inf} sto: Source Filter = root\softu2f inf: Class GUID = {745a17a0-74d3-11d0-b6fe-00a0c90f57da} inf: Class Options = Configurable BootCritical inf: {Configure Driver: SoftU2F Device} inf: Section Name = SoftU2F_Device.NT inf: {Add Service: SoftU2F} inf: Start Type = 3 inf: Service Type = 1 inf: Error Control = 1 inf: Image Path = \SystemRoot\System32\drivers\SoftU2FDriver.sys inf: Display Name = SoftU2F Driver SVC inf: Updated service 'SoftU2F'. inf: {Add Service: exit(0x00000000)} inf: Hardware Id = Root\SoftU2F inf: {Configure Driver Configuration: SoftU2F_Device.NT} inf: Service Name = SoftU2F inf: Lower Filters = vhf inf: Config Flags = 0x00000000 inf: {Configure Driver Configuration: exit(0x00000000)} inf: {Configure Driver: exit(0x00000000)} flq: {FILE_QUEUE_COMMIT} 09:47:19.162 flq: Hardlinking 'C:\WINDOWS\System32\DriverStore\FileRepository\softu2f.inf_amd64_36e79ad47e2b509b\SoftU2FDriver.sys' to 'C:\WINDOWS\System32\drivers\SoftU2FDriver.sys'. cpy: Existing file 'C:\WINDOWS\System32\drivers\SoftU2FDriver.sys' remains unchanged. flq: {FILE_QUEUE_COMMIT - exit(0x00000000)} 09:47:19.178 sto: {Configure Driver Package: exit(0x00000000)} dvi: Install Device: Configuring device. 09:47:19.178 dvi: Configuration: oem20.inf:root\softu2f,SoftU2F_Device dvi: Install Device: Configuring device completed. 09:47:19.194 dvi: Device Status: 0x01802001 dvi: Install Device: Starting device 'ROOT\HIDCLASS\0000'. 09:47:19.194 dvi: Install Device: Starting device completed. 09:47:19.272 dvi: {Configure Device - exit(0x00000000)} 09:47:19.287 dvi: {Core Device Install - exit(0x00000000)} 09:47:19.287 ump: {Plug and Play Service: Device Install exit(00000000)} ndv: {Update Device Driver - exit(00000000)} ndv: {Install Related Drivers} 09:47:19.354 ndv: {Install Related Drivers: exit(0x00000000)} 09:47:19.354 <<< Section end 2022/04/10 09:47:19.354 <<< [Exit status: SUCCESS]

xhums1 commented 2 years ago

Please build it, thanks!

karangri commented 2 years ago

Yes, I used your repo but I'm stuck at Driver building.

use original driver. Certificate only in daemon.

xhums1 commented 2 years ago

Yes, I used your repo but I'm stuck at Driver building.

use original driver. Certificate only in daemon.

YEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEESSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS :)))))))))))))))))))))))))))))))))))))))))))))

THANK YOU ALL!!!!!

Wonderful ppl. Thank you for your time ibigbug in doing this (for me is NASA James Webb level what you did :) ) and thank you karangri for your time in fixing the google problem (very smart thinking).