sc_auth —
    SmartCard authorization setup script
  
    | sc_auth | pair  [ -v]-uuser-hhash | 
  
    | sc_auth | unpair [ -v]
      [-uuser]
      [-hhash] | 
  
    | sc_auth | pairing_ui [ -v]
      [-f] [-senable|disable|status] | 
  
    | sc_auth | list  [ -v]
      [-uuser]
      [-ddomain] | 
  
    | sc_auth | changepin [ -ttokenid] [-u] | 
  
    | sc_auth | verifypin [ -ttokenid] [-pPIN] | 
  
    | sc_auth | enable_for_login -cclass-id | 
  
    | sc_auth | filevault -ooperation [-uuser] [-hhash] | 
CTK Identity
  
    | sc_auth | create-ctk-identity -llabel-kp-256|p-384|p-521|p-256-ne|p-384-ne
      [-tbio|none]
      [-NCN]
      [-EemailAddress]
      [-UOU]
      [-OO]
      [-LL]
      [-SST]
      [-CC] | 
  
    | sc_auth | delete-ctk-identity -hhash | 
  
    | sc_auth | delete-all-ctk-identities | 
  
    | sc_auth | list-ctk-identities [ -tsha1|sha256|ssh] [-ehex|b64] | 
  
    | sc_auth | import-ctk-identities -ffileName [-tbio|none] [-ppassword] | 
  
    | sc_auth | export-ctk-identity -hhash-ffileName [-ppassword] | 
  
    | sc_auth | create-ctk-csr -hhash-ffileName [-NCN] [-EemailAddress] [-UOU] [-OO] [-LL] [-SST] [-CC] | 
  
    | sc_auth | import-ctk-certificate -ffileName | 
Legacy Support
  
    | sc_auth | accept [ -v]
      [-uuser]
      [-ddomain]-kkeyname | 
  
    | sc_auth | accept [ -v]
      [-uuser]
      [-ddomain]-hhash | 
  
    | sc_auth | remove [ -v]
      [-uuser]
      [-ddomain] | 
  
    | sc_auth | hash  [ -kkeyname] | 
Configures a local user account to permit authentication using a
    supported SmartCard. Authentication is via asymmetric key (also known as
    public-key) encryption.
CTK Identity
CTK Identity allows to create and manipulate CryptoTokenKit
    identities. CryptoTokenKit identities can use non-exportable or exportable
    private keys. The non-exportable private key is protected by the Secure
    Enclave and the key never leves the Secure Enclave in open form. The
    exportable private key is encrypted with Elliptic Curve Encryption Standard
    Variable IVX963 algorithm which is backed by a Secure Enclave key.
    CryptoTokenKit Identities and private keys can be used for TLS
    authentication, email protection and SSL using
    ssh-keychain(8) library.
Legacy Support
Performs the legacy actions.
  - pair[- -v]- -uuser- -hhash Associate a user
      with a public key. Because user's keychain will be modified to be
      unlockable by a key, SmartCard with that key must be present in the
      reader. The key to use has to be specified by its hash.- 
      - 
        
          - -v
- Verbose mode
- -uuser
- Specifies the user account.
- -hhash
- Specifies a public key using its hash
 
 
- unpair[- -v]
      [- -uuser]
      [- -hhash] Remove association
      with a user and keychain. If no specific hash is provided, all
      associations with a user are removed.- 
      - 
        
          - -v
- Verbose mode
- -uuser
- Specifies the user account.
- -hhash
- Specifies a public key using its hash
 
 
- pairing_ui[- -v]
      [- -f] [- -senable|disable|status]
      Enable, disable and force to display pairing dialog when card with
      unpaired identities is inserted.- 
      - 
        
          - -v
- Verbose mode
- -f
- Force to display pairing dialog
- -senable|disable|status
- Enable, disable or provide status for pairing dialog
 
 
- identitiesList all identities on all SmartCards
      and display appropriate associations with users (for associated keys) or
      key names (for unassociated keys).
list [-v]
    [-u user]
    [-d domain] List all public
    keys associated with a user.
  - 
    
      - -v
- Verbose mode
- -uuser
- Specifies the user account.
- -ddomain
- Specifies the directory domain containing the user account
 
changepin [-t
  tokenid] [-u] Change or unblock
  SmartCard PIN. This command works only for Personal Identity Verification
  (PIV) SmartCards.
  - 
    
      - -u
- Unblock PIN using PUK
- -ttokenid
- Specifies a token by tokenID
 
verifypin [-t
  tokenid] [-p
  PIN] Verify SmartCard PIN. This command works only for
  Personal Identity Verification (PIV) SmartCards.
  - 
    
      - -ttokenid
- Specifies a token by tokenID
- -pPIN
- Specifies SmartCard PIN
 
enable_for_login [-c
  class-id] Enable the app extension for login and make
  the token available to the system for authentication.
  - 
    
      - -cclass-id
- Specifies a token by 'com.apple.ctk.class-id' from Info.plist
 
filevault -o
  status|enable|disable
  [-u user]
  [-h hash] Manage SmartCard
  support for FileVault unlock.
  - 
    
      - -ostatus|enable|disable
- Use status to query the status of SmartCard
          support for FileVault unlock for the specified user (current user by
          default) enable/disable to activate/deactivate
          SmartCard support for FileVault unlock
- -uuser
- Specifies the user account.
- -hhash
- Specifies a public key using its hash
 
  - create-ctk-identity- -llabel- -kp-256|p-384|p-521|p-256-ne|p-384-ne
      [- -tbio|none]
      [- -NCN]
      [- -EemailAddress]
      [- -UOU]
      [- -OO]
      [- -LL]
      [- -SST]
      [- -CC] Create an CTK
      Identity.- 
      - 
        
          - -llabel
- Specifies the key label
- -kp-256|p-384|p-521|p-256-ne|p-384-ne
- Specifies the key type. The "-ne" suffix means
              non-exportable variant of key
- -tbio|none
- Specifies private key protection
- -NCN
- Specifies certificate Common Name. If not specified the
              label is used instead
- -EemailAddress
- Specifies certificate Email Address
- -UOU
- Specifies certificate Organizational Unit Name
- -OO
- Specifies certificate Organization Name
- -LL
- Specifies certificate Locality Name
- -SST
- Specifies certificate State Or Province Name
- -CC
- Specifies certificate Country Name
 
 
- delete-ctk-identity- -hhash Delete an CTK Identity.- 
      - 
        
          - -hhash
- Specifies the identity by its public key hash
 
 
- delete-all-ctk-identitiesDelete all CTK
      Identities.
- list-ctk-identities[- -tsha1|sha256
      |ssh] [- -ehex|b64] List all CTK
      identities.- 
      - 
        
          - -tsha1|sha256|ssh
- Specifies used alghorithm for public key hash. SHA-1, SHA-256 and
              SHA-256 compatible with SSH.
- -ehex|b64
- Specifies public key hash encoding, hexadecimal or Base64
 
 
- import-ctk-identities- -ffileName [- -tbio|none]
      [- -ppassword] Import one or
      more Identities from a PKCS#12 archive.- 
      - 
        
          - -ffileName
- Specifies the PKCS#12 file
- -tbio|none
- Specifies private key protection.
- -ppassword
- Specifies password for PKCS#12 archive
 
 
- export-ctk-identity- -hhash- -ffileName [- -ppassword] Export one CTK Identity in to the PKCS#12
      archive.- 
      - -hhash Specifies the
          CTK Identity by its public key hash- 
          - -ffileName
- Specifies the PKCS#12 file
- -ppassword
- Specifies password for PKCS#12 archive
 
 
- create-ctk-csr- -hhash- -ffileName [- -NCN] [- -EemailAddress] [- -UOU] [- -OO] [- -LL] [- -SST] [- -CC] Create an PEM formated Certificate Signing
      Request (CSR)- 
      - -hhash Specifies the
          CTK Identity by its public key hash- 
          - -ffileName
- Specifies the CSR file
- -NCN
- Specifies certificate Common Name. If not specified the
              label is used instead
- -EemailAddress
- Specifies Email Address
- -UOU
- Specifies Organizational Unit Name
- -OO
- Specifies Organization Name
- -LL
- Specifies Locality Name
- -SST
- Specifies State Or Province Name
- -CC
- Specifies Country Name
 
 
- import-ctk-certificate- -ffileName Import an PEM formated Certificate- 
      - 
        
          - -ffileName
- Specifies the certificate file name
 
 
  - accept[- -v]
      [- -uuser]
      [- -ddomain]- -kkeyname- -hhash Associate a user
      with a public key on a card. The key to use can be specified either by its
      name or its hash.- 
      - 
        
          - -v
- Verbose mode
- -uuser
- Specifies the user account.
- -ddomain
- Specifies the directory domain containing the user account
- -kkeyname
- Specifies a public key using its name
- -khash
- Specifies a public key using its hash
 
 
- remove[- -v]
      [- -uuser]
      [- -ddomain] Remove all
      public keys associated with a user.- 
      - 
        
          - -v
- Verbose mode
- -uuser
- Specifies the user account.
- -ddomain
- Specifies the directory domain containing the user account
 
 
- hash[- -kkeyname] Print hashes for all keys on all inserted
      cards.- 
      - 
        
          - -kkeyname
- Specifies a public key using its name
 
 
sc_auth is a shell script. It is intended
    to be modified by administrators to suit their local environments.
sc_auth is only known to work with a local
    directory. Consult the script's source for some limited guidance to using
    remote directories.