Ero sivun ”Apple/macOS” versioiden välillä
(42 välissä olevaa versiota samalta käyttäjältä ei näytetä) | |||
Rivi 1: | Rivi 1: | ||
− | '''Applen | + | '''Applen macOS''' käyttöjärjestelmästä on useita eri versioita, viimeisin niistä on '''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. |
− | + | 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 [[Henkilökortti#Versiot|G3 sukupolven]] korttien kanssa koska sieltä puuttuu uuden [[Henkilökortti/Oberthur|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ä. | ||
+ | |||
+ | == 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. | ||
+ | |||
+ | '''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. | ||
+ | |||
+ | * [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 == | == Katso myös == | ||
− | * [[OpenVPN/Mac | + | * [[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 == | ||
+ | <references/> | ||
+ | |||
+ | [[Luokka:Käyttöjärjestelmät]] |
Nykyinen versio 24. huhtikuuta 2024 kello 14.54
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.