Opciones avanzadas de las tarjetas inteligentes en la Mac
Configuración de tarjetas inteligentes
Puedes usar la línea de comandos para consultar y editar las opciones de configuración y los registros específicos de la tarjeta inteligente en una Mac:
Enumerar identificadores disponibles en el sistema.
pluginkit -m -p com.apple.ctk-tokens
com.apple.CryptoTokenKit.setoken(1.0)
com.apple.CryptoTokenKit.pivtoken(1.0)
Activar, desactivar o enumerar identificadores desactivados de tarjetas inteligentes.
sudo security smartcards token [-l] [-e token] [-d token]
Desenlazar la tarjeta inteligente.
sudo sc_auth unpair -u jappleeed
Mostrar tarjetas inteligentes disponibles.
sudo security list-smartcards
Exportar elementos de una tarjeta inteligente.
sudo security export-smartcard
Activar registros de tarjetas inteligentes.
sudo defaults write /Library/Preferences/com.apple.security.smartcard Logging -bool true
Desactivar identificadores PIV integrados.
sudo defaults write /Library/Preferences/com.apple.security.smartcard DisabledTokens -array com.apple.CryptoTokenKit.pivtoken
Además de la línea de comandos, también se puede usar la carga útil Tarjeta inteligente para administrar las siguientes opciones. Para obtener más información, consulta Configuración de la carga útil de MDM para la tarjeta inteligente.
Suprimir la solicitud de enlace al insertar el identificador.
sudo defaults write /Library/Preferences/com.apple.security.smartcard UserPairing -bool false
Limitar el enlace de cuenta de usuario a una única tarjeta inteligente.
sudo defaults write /Library/Preferences/com.apple.security.smartcard oneCardPerUser -bool true
Desactivar a un usuario de tarjeta inteligente para el inicio de sesión y autorización.
sudo defaults write /Library/Preferences/com.apple.security.smartcard allowSmartCard -bool false
Nota: al desactivar allowSmartCard, las identidades de los certificados de las tarjetas inteligentes pueden seguir utilizándose para otras operaciones, como la firma y la encriptación, así como en apps de terceros compatibles.
Administrar la confianza en certificados de tarjetas inteligentes.
sudo defaults write /Library/Preferences/com.apple.security.smartcard checkCertificateTrust -int <value>
El valor puede ser uno de los siguientes:
0: no se requiere la confianza en el certificado de tarjeta inteligente.
1: se debe confiar en el certificado y en la cadena de la tarjeta inteligente.
2: se debe confiar en el certificado y en la cadena, y no se debe recibir un estado de revocado.
3: se debe confiar en el certificado y en la cadena, y el estado de revocación devuelto es válido.
Anclaje de certificados
Es posible especificar cuáles autoridades emisoras de certificados se utilizan para la evaluación de la confianza de los certificados de las tarjetas inteligentes. Esta confianza, que funciona en conjunto con la configuración de Certificate Trust (se requiere el nivel 1, 2, o 3), también se conoce como anclaje de certificados. Coloca las huellas dactilares de SHA-256 de las Autoridades de Certificación (como valores de cadena, delimitadas por comas y sin espacios) en un conjunto llamado TrustedAuthorities
. Usa como guía el siguiente archivo /private/etc/SmartcardLogin.plist de ejemplo. Cuando se utiliza la fijación de certificados, sólo se evalúan como confiables los certificados de SmartCard emitidos por las autoridades de certificación que se encuentran en esta lista. Ten en cuenta que se ignora la matriz TrustedAuthorities
cuando la configuración de checkCertificateTrust
es 0 (desactivado). Verifica que la propiedad es la raíz (root) y que los permisos son legibles globalmente (world read) después de la edición.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>AttributeMapping</key>
<dict>
<key>dsAttributeString</key>
<string>dsAttrTypeStandard:AltSecurityIdentities</string>
<key>fields</key>
<array>
<string>NT Principal Name</string>
</array>
<key>formatString</key>
<string>Kerberos:$1</string>
</dict>
<key>TrustedAuthorities</key>
<array>
<string>SHA256_HASH_OF_CERTDOMAIN_1,SHA256_HASH_OF_CERTDOMAIN_2</string>
</array>
</dict>
</plist>