
Supported smart card functions on Mac
Overview
On a Mac with macOS 10.15 or later, built-in support is included for the following capabilities:
Authentication: Login window, PKINIT, SSH, Lock Screen, Safari, authorization dialogs, and third-party apps supporting CryptoTokenKit
Signing: Mail and third-party apps that support CryptoTokenKit
Encryption: Mail, Keychain Access, and third-party apps that support CryptoTokenKit
PIV card provisioning
To use smart cards with macOS, appropriate identities need to be populated into Slot 9a (PIV Authentication) and 9d (Key Management). Optionally, an identity should be provisioned into slot 9c (Digital Signing) if functions such as email or document signing are necessary. For more information, see the man page for SmartCardServices.
When using attribute matching (discussed below) with Active Directory, the NT Principal Name in the PIV Authentication identity and value stored in the Active Directory attribute dsAttrTypeStandard:AltSecurityIdentities needs to match with case sensitivity.
Authentication
Smart cards can be used for two-factor authentication. The two factors include “something-you-have” (the card) and “something-you-know” (the PIN) to unlock the card. A Mac with macOS 10.12.4 or later includes native support for smart card and login authentication, and client certificate-based authentication to websites using Safari. macOS also supports Kerberos authentication using key pairs (PKINIT) for Single Sign-on to Kerberos-supported services.
Note: For login, the Key Management key (9d) is used to unlock the encrypted volume and to unlock the user’s Keychain.
Digital signing and encryption
In the Mail app, the user can send messages that are digitally signed and encrypted. Usage of the feature requires a case-sensitive email address subject or subject alternative names on digital signing and encryption certificates which are on attached PIV tokens in compatible smart cards. If a configured email account matches an email address on a digital signing or encryption certificate on an attached PIV token, Mail automatically displays the email signing button in a new message toolbar. A locked lock icon indicates that the message is sent encrypted with the recipient’s public key.
Keychain wrapping
When used for login, a smart card can also be used to unlock the user’s login keychain using keychain password wrapping. This wraps the credential to unlock the user’s login keychain with the encryption key of the smart card.
The presence of an encryption key—also known as a key management key—is required for the keychain password wrapping feature to function. Lack of a key management key results in the user being repeatedly prompted for the login keychain password throughout the login session, creating a poor user experience. Additionally, this use of a password may be a concern in smart card mandatory environments. If a key management key is present when the user logs in with a smart card, the keychain experience is similar to password-based login in that the user isn’t prompted repeatedly for the login keychain password.
Smart card payload
Use the Smart card payload to configure smart card authentication using a device management service. Available configuration options include the ability to allow smart cards, enforce smart cards, allow one smart card pairing per user, certificate trust checking, and token removal action (to initiate the Lock Screen).
Note: To learn if the smart card payload is supported, consult your developer’s device management service documentation.