Yubico / yubikit-ios

Yubico Mobile iOS SDK - YubiKit
Apache License 2.0
195 stars 43 forks source link

Support for TKSmartCard #107

Closed jensutbult closed 1 year ago

jensutbult commented 2 years ago

Adding support for TKSmartCard to the SDK. This will allow most of the applications on the YubiKey to work on an iPad running iOS 16 with USB-C port.

WWSellers commented 1 year ago

Are there any instructions on what we should change to test this branch? I did not see any changes to README.md

WWSellers commented 1 year ago

I tried this on an iPad Pro with USB-C connector. It did not display a prompt to get the user to connect the YubiKey.

jensutbult commented 1 year ago

This is still a draft PR and documentation will be added later. For now you should be able to add support for USB-C via the TKSmartCard interface in applications that uses the SDK. This connection behaves much like the current lightning connection. You implement the delegate methods for smart card connection and call startSmartCardConnection(). Once a USB-C YubiKey is inserted the corresponding delegate methods will be called. Note that there is no prompt displayed by iOS.

Also a draft PR but this show how it can be done: https://github.com/Yubico/yubioath-ios/pull/98

WWSellers commented 1 year ago

I ran a quick test, getting pivSession from the smartcard interface on iPad Pro with USB-C. It read from pivSession without any noticeable error. (The test did not include signing or encryption operations.) Model: "iPad8,1" which lacks NFC hardware.