Apple/macOS
Applen macOS käyttöjärjestelmästä on useita eri versioita, viimeisin niistä on Monterey. macOS käyttää Keychain Access-ohjelmaa varmennevarastona jossa aiemmin Tokend-rajapintaa käytettäessä näkyivät myös henkilökortin varmenteet. Uudemmat versiot macOS-versiot käyttävät CryptoTokenKit-rajapintaa (CTK) ja varmenteet eivät enää näy Keychain Access ohjelmassa.
KeyChain ongelmasta seuraa, ettei mm Applen oma Safari-selain tai sähköpostiohjelma näe käyttäjän kortilla olevia varmenteita. Ongelmaa pystyi aiemmin kiertämään asentamalla vapaan lisenssin OpenSC-väliohjelmiston, mutta se ei enää toimi 2017 alusta myönnettyjen, eli G3 sukupolven korttien kanssa koska sieltä puuttuu uuden Oberthur-kortin ajuri.
Kaikesta edelläolevasta seuraa, että macOS-käyttäjille ainoa realistinen vaihtoehto on käyttää Firefox-selainta.
Etäyhteyttä käytettäessä (VNC ikkunointi, ssh pääteyhteys) macOS ei rajoita paikallisten varmennekorttien käsittelyä paikallisiin istuntoihin kuten Windows tekee tietoturvasyistä.
Sisällysluettelo
Historia
Mac OS X Lion 10.7 -10.12[1] henkilökorttien tuki ollut tuettuna Tokend-rajapinnalla. Siitä tehtiin avointa lähdekoodia ja se siirrettiin macosforge- ja github kehitysportaaleihin. Kehittäjät ilmeisesti olleet OpenSC-projektin aktiiveja.
Mac OS X Sierra 10.12 - High Sierra 10.13 CryptoTokenKit-rajapinnan (CTK) käyttöönotto.
macOS Mojave Keyring toimii, käyttäjä-varmenne-pairing toimii.
macOS Catalina 10.15.0 Tokend poistettu, ainoastaan CryptoTokenKit tuettu.
macOS Big Sur 11.2.2 samat CTK-ongelmat jatkuvat. sc_auth komento, keyring eivät toimi oletetusti.
macOS Monterey 12.0.1 DigiSign 4.2.0b näyttäisi toimivan Firefoxin kanssa, CTK- ja Keyring- ja Safari ongelmat jatkuvat.
Kortinlukijat
Toimii:
- Gemalto (was Gemplus) GemPC Twin SmartCard Reader (usb: 08e6:3437)
Ei toimi:
- OmniKey AG CardMan 3021 / 3121 (usb: 076b:3021)
Asennus
Henkilökortin käyttö vaatii väliohjelmiston asennuksen.
Digisign Client
Digiviraston webistä on poistettu siellä aiemmin ollut ei toimi Safari 12 version kanssa varoitus (2021-11-07), mutta siitä huolimatta Safari ei tunnu toimivan kuten ennenkään.
Ohjelmiin asettava PKCS11 kirjaston polku on:
/Library/mPolluxDigiSign/libcryptoki.dylib
OpenSC
Osalle tarvittavia ohjelmia ei ole saatavilla Applen .dmg levykuvaa ja/tai natiivia .pkg pakettia. Asentamalla ns Home Brew pakettienhallintaohjelmiston, ohjelmien asennuksen ja päivittäminen helpottuu huomattavasti. Sen asennusohjeet löytyvät omilta sivuiltaan.
Komentotulkki-ikkunassa:
% sudo brew install opensc
Asennuksen jälkeen voi kokeilla näkeekö OpenSC kortinlukijan:
% opensc-tool -l # Detected readers (pcsc) Nr. Card Features Name 0 No Gemalto PC Twin Reader
Ja toimivatko varmenteiden listaaminen:
% pkcs15-tool -c Using reader with a card: Gemalto PC Twin Reader X.509 Certificate [todentamis- ja salausvarmenne] Object Flags : [0x00] Authority : no Path : 3f004331 ID : 45 Access Rules : read:<always>; Encoded serial : 02 04 3BC409C1 X.509 Certificate [allekirjoitusvarmenne] Object Flags : [0x00] . . .
Ohjelmiin asettava PKCS11 kirjaston versiosidonnainen polku on:
/usr/local/Cellar/opensc/0.22.0/lib/onepin-opensc-pkcs11.so
Sovellukset
Firefox
Firefoxin turvaväline-asetuksiin ladattava pkcs11-oduuli toimii ongelmitta.
Chrome
PKCS11-tuen asettelu Chrome-selaimeen vaatisi modutil komennon joka on osa nss-tools pakettia. Ohjelmasta on vain lähdekoodit joten sen asentaminen vaatisi nss-tools paketin kääntämistä kääntäjällä.
Ongelmanratkaisut
- Finder -> Applications -> Utilities -> System Information.app listaa järjestelmän tietoja.
- Hardware -> Card Reader osiossa näkyy älykortinlukijat.
- Software -> SmartCards osiossa näkyy ajurien ja prosessien tietoja (Tokend/CryptoTokenKit). Samat tiedot näkyvät komennolla:
% system_profiler SPSmartCardsDataType
- CryptoTokenKit palvelun tila:
% sudo launchctl print system/com.apple.ctkd | grep state state = running
- Listaa älykortit:
% security list-smartcards No smartcards found.
- Listaa varmenteet:
% security smartcards token -l
- Vanhan Tokend aktivointi on mahdollista Mojavessa jos sitä jostain syystä tarvitsisi (SmartCardServices-legacy):
% sudo defaults write /Library/Preferences/com.apple.security.smartcard Legacy -bool true
Mojavea uudemmissa versioissa Tokend on kokonaan poistettu.
- Safari ei toimi henkilökortin kanssa Catalinassa ja uudemmissa, ennen vuoden 2017 alkua myönnetyillä korteilla asentamalla OpenSC ongelma korjaantuu. Muuten Firefoxin käyttö DigSign PKCS11-pluginin kanssa on ainoa vaihtoehto.
- SmartCard pairing failed Cannot pair SmartCard with the current user. The operation couldn't be completed. (OSStatus error -67808 - RSA signature verification failed, no match). Korjaus ongelmaan on poistaa Digiviraston Digisign Client ohjelmapaketti, asentaa OpenSC ja uudelleenkäynnistää kone. Sen jälkeen käyttäjätilin ja varmenteen paritus onnistuu ja jopa Safari-selain toimii tunnistusvarmenteella.
Katso myös
Aiheesta muualla
- Ludovic Rousseau - smartcards and macOS
- github.com/kenh/keychain-pkcs11 tarjoaa pkcs#11 rajapinnan älykorteilta ja keychain-varastosta.