Apple/macOS

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun

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 DigiSign Client ohjelmasta 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 kortin ajuri.

Etäyhteyttä käytettäessä (VNC ikkunointi, ssh pääteyhteys) macOS ei rajoita paikallisten varmennekorttien käsittelyä paikallisiin istuntoihin kuten Windows tekee tietoturvasyistä.

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. Koska nykyisellään Digiviraston ohjelmisto ei toimi, ainoaksi vaihtoehdoksi jää asentaa avoimen lähdekoodin OpenSC.

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.

Firefoxin turvaväline-asetuksiin ladattava 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]
. . .


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
% 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.
    Virhe 67808: Varmenteen tarkistus epäonnistuu.

Katso myös

Aiheesta muualla

Lähteet