Skip to content
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

Add support for communication via NFC for Windows #481

Closed
kmenshikh opened this issue Dec 7, 2021 · 9 comments · Fixed by #530
Closed

Add support for communication via NFC for Windows #481

kmenshikh opened this issue Dec 7, 2021 · 9 comments · Fixed by #530
Labels
feature request New feature or request

Comments

@kmenshikh
Copy link

kmenshikh commented Dec 7, 2021

Inspired from: #249 (Add support for communication via NFC for MacOS #249)

Is it possible to do subj?
I've tried to do this (via Windows SmartCard API) and it works good on Windows 10 (on Windows 7 there are troubles).
"I've tried" means i extended functionality of libfido2.

It seems it's not hard enough.

@kmenshikh kmenshikh added the feature request New feature or request label Dec 7, 2021
@martelletto
Copy link
Contributor

Hi, sure, that'd be a nice addition. Could you share some code?

@kmenshikh
Copy link
Author

I need to get approval from my managers to share code.
Once i get it i'll post code here.

@kmenshikh
Copy link
Author

JFI: I don't forget about "share some code".
Approval process is in progress (big company - big bureaucracy).

@brett-berger
Copy link

@martelletto does Yubikey have a Contributors License agreement (CLA) you can point me to? Before @kmenshikh can share his code our legal team wants to review Yubikey's CLA. thx

@martelletto
Copy link
Contributor

@brett-berger, as long as the contributed code is under the same license as libfido2, we typically don't require a CLA: https://github.com/Yubico/libfido2/blob/master/LICENSE. Should that prove unsatisfactory to your legal team, could you please reach out to me at pedro [at] yubico [dot] com? Thank you.

@kmenshikh
Copy link
Author

Hi, @martelletto

I finally got approval.
See nfc_win_patch.txt
nfc_win.zip

Some notices:

(1) Provided code is based on the libfido2 v1.8.0 release.
So some modification may be required to comply current code base.

(2) libfido2 always use extended apdu format.
But some cards (HID Crescendo C2300 CL, for example) respect only "short apdu" for "select" command.
That's why for this command short format used. (YubiKey 5 NFC respects both formats).

(3) I didn't test scenario when both (WINHELLO and WIN_NFC) features are enabled.

@martelletto
Copy link
Contributor

Thank you! For uniformity with the rest of the files in src/, would it be possible for the copyright notice to read:

/*                                                                              
 * Copyright (c) 2022 Micro Focus PLC or one of its affiliates.                 
 * Use of this source code is governed by a BSD-style license                   
 * that can be found in the LICENSE file.                                       
 */ 

or, if that's not acceptable, to include the entire license text in the copyright notice, so that it's all in one place?

-p.

@kmenshikh
Copy link
Author

@brett-berger could you answer @martelletto 's question?

@brett-berger
Copy link

@martelletto this works for us.

/*

  • © Copyright 2022 Micro Focus or one of its affiliates.
  • Use of this source code is governed by a BSD-style license
  • that can be found in the LICENSE file.
    */

martelletto added a commit that referenced this issue Feb 16, 2022
adjust copyright as per feedback from Brett Berger in
#481 (comment).
martelletto added a commit that referenced this issue Feb 18, 2022
adjust copyright as per feedback from Brett Berger in
#481 (comment).
martelletto added a commit that referenced this issue Feb 23, 2022
adjust copyright as per feedback from Brett Berger in
#481 (comment).
martelletto added a commit that referenced this issue Feb 24, 2022
allows communication with PC/SC NFC readers on Windows, macOS, and
Linux. disabled by default; enable with cmake -DUSE_PCSC=ON. based
on code contribution from Micro Focus in issue #481; thanks! fixes
martelletto added a commit that referenced this issue Feb 24, 2022
allows communication with PC/SC NFC readers on Windows, macOS, and
Linux. disabled by default; enable with cmake -DUSE_PCSC=ON. based
on code contribution from Micro Focus in issue #481; thanks!
fixes #481 and #249.
martelletto added a commit that referenced this issue Feb 24, 2022
allows communication with PC/SC NFC readers on Windows, macOS, and
Linux. disabled by default; enable with cmake -DUSE_PCSC=ON. based
on code contribution from Micro Focus in issue #481; thanks!
fixes #481 and #249.
@LDVG LDVG closed this as completed in #530 Feb 25, 2022
LDVG pushed a commit that referenced this issue Feb 25, 2022
allows communication with PC/SC NFC readers on Windows, macOS, and
Linux. disabled by default; enable with cmake -DUSE_PCSC=ON. based
on code contribution from Micro Focus in issue #481; thanks!
fixes #481 and #249.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Development

Successfully merging a pull request may close this issue.

4 participants
@martelletto @brett-berger @kmenshikh and others