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 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
% 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