Muutokset

Siirry navigaatioon Siirry hakuun

Apple/macOS

5 164 merkkiä lisätty, 15. helmikuuta 2022 kello 20.25
'''Applen macOS''' käyttöjärjestelmistä käyttöjärjestelmästä on useita eri versioita, viimeisin niistä on Catalina'''Monterey'''. macOS käyttää [https://en.wikipedia.org/wiki/Keychain_(software) Keychain Access]-ohjelmaa varmennevarastona jossa aiemmin [[Tokend]]-rajapintaa käytettäessä näkyivät myös [[Henkilökortti|henkilökortin]] varmenteet. Uudemmat versiot macOS-versiot käyttävät CryptoTokenKit-rajapintaa (CTK) ja varmenteet eivät enää näy Keychain Access ohjelmassa.
macOS käyttää 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 [[https://enHenkilökortti#Versiot|G3 sukupolven]] korttien kanssa koska sieltä puuttuu uuden Oberthur-kortin ajuri.wikipedia.org/wiki/Keychain_(software) Keychain Access] Kaikesta edelläolevasta seuraa, että macOS-ohjelmaa varmennevarastona jossa näkyvät myös käyttäjille ainoa realistinen vaihtoehto on käyttää [[HSMFirefox]]-laitteetselainta.
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'''<ref name='jamf-pumaska'>[https://www.jamf.com/resources/technical-papers/macos-smart-card-overview/macOS jamf.com Smart Card Overview]</ref> 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.
'''Mac OS X Sierra 10.12 - High Sierra 10.13macOS Mojave''' [[CryptoTokenKit]]Keyring toimii, käyttäjä-varmenne-rajapinnan käyttöönottopairing 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.
 
* [https://dvv.fi/mac-versiot dvv.fi/mac-versiot]
 
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 [https://brew.sh/ 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 ([https://www.unix.com/man-page/mojave/7/SmartCardServices-legacy/ 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 [[Firefox]]in 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. [[Tiedosto:MacOS.Catalina.smartcard.pairing.failed.png|right|200px|thumb|Virhe 67808: Varmenteen tarkistus epäonnistuu.]]
== Katso myös ==
* [[Apple]]
* [[OpenVPN/macOS]]
* [[Firefox]]
* [[Chrome]]
 
== Aiheesta muualla ==
* [https://ludovicrousseau.blogspot.com/search/label/Mac%20OS%20X Ludovic Rousseau - smartcards and macOS]
* [https://github.com/kenh/keychain-pkcs11 github.com/kenh/keychain-pkcs11] tarjoaa pkcs#11 rajapinnan älykorteilta ja keychain-varastosta.
== Lähteet ==

Navigointivalikko