macOS Sierra and smart card source code
Apple released the source code of the open source components they use in Sierra (OS X 10.12 released in September 2016). The components are available at OS X 10.12 Source.
The smart card related components are:
See "macOS Sierra and smart cards status" for a general discussion of the changes in El Capitan.
SecurityTokend
The version changed from 55108 in El Capitan to 55111 in Sierra.The changes are very limited:
- the Xcode project uses Security.framework
- 1 bug fixed "to prevent uninitialized value when following CALL ends with exception" according to the source code comment
diffstat:
SecurityTokend-55111/SecurityTokend.xcodeproj/project.pbxproj | 6 ++++++ SecurityTokend-55111/lib/transition.cpp | 1 + SecurityTokend-55111/security_tokend_client/transition.cpp | 1 + 3 files changed, 8 insertions(+)
SmartcardCCID
The version changed from 55008.40.1 in El Capitan (10.11.4) to 55013 in Sierra.Changes:
- CCID driver upgraded from 1.4.21 (released 21 October 2015) to 1.4.24 (released 22 May 2016)
- two Apple patches (RSA_SecurID_getpasswd.c.patch, scardcontrol.c.patch) are no more needed since the problem is fixed upstream
- the same libusb version 1.0.9 is used. This version was released in 2012-04-02. The latest libusb version is 1.0.21 released in 2016-10-01.
- the CCID driver provided by Apple has 4 patches. These patches are related to the way Apple builds the driver.
Conclusion
No disruptive changes this time.The source code of CryptoTokenKit (introduced in Yosemite. See "OS X Yosemite BETA and smart cards status") is not provided. That is not surprising since this it is an Apple only component and not a fork of an existing free software.