I am attempting to add FIDO support to an existing ASP.NET web application, the FIDO server I am attempting to communicate with is based on the FIDO 1.0 UAF spec.
I have tried to handle the FIDO 1.0 UAF operations in .NET, but thus far have had little luck in doing so.
Alternatively, I see there is a FIDO 2.0 WebAuthn library, however can this be used to communicate with the FIDO 1.0 UAF server? Looking at the FIDO 2.0 spec its not clear whether FIDO 2.0 is backwards compatible.
No, UAF and FIDO2 are not compatible.
For now at least... UAF 1.2 just been released with included FIDO2 server compatibility https://fidoalliance.org/specs/fido-uaf-v1.2-ps-20201020/fido-uaf-apccbor-v1.2-ps-20201020.html. However no known implementations existing yet.
You could use Lightfactor UAF NodeJS server https://github.com/lightfactor/lightfactor-uaf
To be fair, you need think about if you actually need UAF. UAF has a lot of features that FIDO2 does not, like TransactionConfirmation. But it is limited in the WebOnly scenarios.
Suggest reading my article on WebAuthn API https://medium.com/@herrjemand/introduction-to-webauthn-api-5fd1fb46c285