On Jul 21, 2010, at 3:14 PM, Bram Cymet wrote:
Hi Shawn,
Thanks for the response. I am using PubKeyHash at the moment. Which based on what you have written above I guess it is working the way it should be. So is PKINIT or Attribute Matching or either the Client Authentication method I should be using? Or can I make it work with PubKeyHash as well?
Thanks,
-- Bram Cymet Software Developer Canadian Bank Note Co. Ltd. Cell: 613-608-9752
Bram, PKINIT method is what you want. PKINIT is what provides full SSO to your Directory Service by Initializing your Kerberos Session (Obtaining your TGT) after authenticating to the KDC with the appropriate X.509 Certificate. Mac OS X 10.6.3 has PKINIT support built in, but you need to make some very minor config changes to fully enable for Login. I will attempt to get draft instructions up very soon. Add PKINIT information to /etc/authorization file Please make sure to make a backup of the /etc/authorization file before you make any changes as a misconfigured version of this file may prevent the system from booting. A backup of the authorization file could be done with the following command: cp /etc/authorization /etc/authorization_original_`date +%M-%H-%m-%d-%y` Edit the /etc/authorization file to add <string>PKINITMechanism:auth,privileged</string> below <string>MCXMechanism:login</string> as in the example below. This could be done with a defaults command or plistbuddy. <key>system.login.console</key> <dict> <key>class</key> <string>evaluate-mechanisms</string> <key>comment</key> <string>Login mechanism based rule. Not for general use, yet.</string> <key>mechanisms</key> <array> <string>builtin:smartcard-sniffer,privileged</string> <string>loginwindow:login</string> <string>builtin:reset-password,privileged</string> <string>builtin:auto-login,privileged</string> <string>builtin:authenticate,privileged</string> <string>loginwindow:success</string> <string>HomeDirMechanism:login,privileged</string> <string>HomeDirMechanism:status</string> <string>MCXMechanism:login</string> <string>PKINITMechanism:auth,privileged</string> <string>loginwindow:done</string> </array> </dict> Test to verify PKINIT is working First, insert your smart card into the reader. Run the following command to verify that PKINIT is working: /System/Library/PrivateFrameworks/Heimdal.framework/Helpers/kinit -C KEYCHAIN: -D KEYCHAIN: --windows --pk-enterprise If the command works, you should be prompted for a PIN. You can verify that you have a kerberos ticket by opening Keychain Access and going to Ticket Viewer or by going to Terminal and typing klist. -Shawn __________________________________________________ Shawn Geddis geddis@mac.com Security Consulting Engineer geddis@apple.com MacOSForge Project Lead: Smart Card Services Web: http://smartcardservices.macosforge.org/ Lists: http://lists.macosforge.org/mailman/listinfo __________________________________________________