Ero sivun ”P11-kit” versioiden välillä

Kohteesta DigiWiki
Siirry navigaatioon Siirry hakuun
 
(11 välissä olevaa versiota samalta käyttäjältä ei näytetä)
Rivi 1: Rivi 1:
 +
[[Tiedosto:2019-06-11-pkcs-fig1.png|right|500px|thumb|p11-kit rajapintaa käytetään Linuxissa ja toisinaan myös macOS:ssä ja Windowsissa.]]
 
'''p11-kit''' on abstraktiorajapinta eri PKCS#11-plugineiden ja niitä käyttävien ohjelmien välissä mahdollisten älykorttituen lisäämisen automaattisesti niitä tukeviin ohjelmiin ja niiden asetusten asttamisen yhdessä keskitetyssä paikassa. p11-kit siten korvaa sovelluksessa yksittäiset PKCS#11-pluginit.
 
'''p11-kit''' on abstraktiorajapinta eri PKCS#11-plugineiden ja niitä käyttävien ohjelmien välissä mahdollisten älykorttituen lisäämisen automaattisesti niitä tukeviin ohjelmiin ja niiden asetusten asttamisen yhdessä keskitetyssä paikassa. p11-kit siten korvaa sovelluksessa yksittäiset PKCS#11-pluginit.
  
  
== Asetustiedostot ==  
+
== Asetukset ==
Modules hakemistossa (esimerkiksi ''/usr/share/p11-kit/modules'' ja ''/etc/pkcs11/modules'', mitä eroa näillä on?) sijaitsee eri PKCS#11-pluginien asetuksia p11-kit ympäristöön.
+
Asetustiedostoja on monessa paikassa ja niillä on prioriteettijärjestys. Modules hakemistoissa sijaitsee eri PKCS#11-pluginien asetuksia. Käytännössä kannattaa laittaa kaikki muutokset kotihakemistoon jolla välttyy niiden ylikirjoittamisen kun joissain jakeluissa paketit ovat väärin paketoitu.
 +
* /etc/pkcs11/pkcs11.conf
 +
* /etc/pkcs11/modules/*
 +
* /usr/share/pkcs11/modules/*
 +
* ~/.config/pkcs11/pkcs11.conf
 +
* ~/.config/pkcs11/modules/*
  
Koska suomalaisessa [[henkilökortti|henkilökortisssa]] on useampia varmenteita joista vain ensimmäistä käytetään PKCS11 rajapinnan kautta tunnistamiseen ja nykyiset ohjelmistot eivät osaa erotella sitä muista varmenteista [[NonRepudiation]] attribuutin avulla, tulee tunnistuskäytössä ohjelmille tarjota vain kortin ensimmäistä varmennetta käyttäen OpenSC ''onepin-opensc-pkcs11.so'' pluginia.
 
  
2017 julkaistujen korttien Oberthur-sirua ei ole tuettu OpenSC:ssä ja siten ainoa mahdollinen module: asetuksen arvo on [[DigiSign Client]] ohjelman mukana tuleva libcryptoki joka ainakin toimii /etc/pkcs11/ hakemistosta.
+
'''/etc/pkcs11/pkcs11.conf''' globaali asetustiedosto jota ei välttämättä ole olemassa. Oletus merge yhdistää asetukset, mutta aiheuttaa PIN2-tunnusluvun kyselyn kun ainoastaan tunnistaudutaan. Ilmeisesti asetus ''only'' on järkevin.
 +
user-config: <none|merge|only>
 +
 
 +
2017 julkaistujen G3.* sukupolven korttien [[Henkilökortti/Oberthur|Oberthur-sirua]] ei ole tuettu OpenSC:ssä ja siten ainoa mahdollinen module: asetuksen arvo on [[DigiSign Client]] ohjelman mukana tuleva libcryptoki.so.
 +
 
 +
 
 +
Seuraavat asetukset ovat esimerkkejä ja niiden sisältö riippuu käyttäjän mieltymyksistä ja tarpeista, niitä tulee solvetaa sen mukaan:
 +
 
 +
'''digisign.module'''
 
   module: /usr/lib64/libcryptoki.so
 
   module: /usr/lib64/libcryptoki.so
 +
  disable-in: chrome
 +
 +
Koska suomalaisessa [[henkilökortti|henkilökortisssa]] on useampia varmenteita joista vain ensimmäistä käytetään PKCS11 rajapinnan kautta tunnistamiseen ja [[OpenSC]] pkcs11-plugineista on poistettu ''onepin-opensc-pkcs11.so'' plugin, saattaa web-selain kysellä myös allekirjoitustunnuslukua jos kaikki ei toimi kuten pitää. Aiemmin tämä estettiin erillisellä OpenSC ''onepin-opensc-pkcs11.so'' pluginilla.
  
 
Jos p11-kit on asetettu valmiiksi käyttämään normaalia opensc-pluginia, se tulee samalla kytkeä pois käytöstä halutuilta ohjelmilta.
 
Jos p11-kit on asetettu valmiiksi käyttämään normaalia opensc-pluginia, se tulee samalla kytkeä pois käytöstä halutuilta ohjelmilta.
 
  
 
'''opensc.module'''
 
'''opensc.module'''
 
   module: opensc-pkcs11.so
 
   module: opensc-pkcs11.so
   disable-in: firefox thunderbird-bin
+
   disable-in: thunderbird-bin
 +
 
 +
Ilmeisesti sovelluksen nimi on täysin sama merkkijono mitä binäärin nimi on, ei käsky millä se käynnistetään. Ajetun binäärin nimen saa selville prosessilistauksesta, esim '''ps -eaf''' komennolla.
  
'''opensc-onepin.module'''
+
'''onepin-opensc.module''' (tätä ei enää ole olemassa)
 
   module: onepin-opensc-pkcs11.so
 
   module: onepin-opensc-pkcs11.so
 
   enable-in: firefox thunderbird-bin
 
   enable-in: firefox thunderbird-bin
  
== Listaus ==
+
'''Samassa modulessa ei saa käyttää enable-in ja disable-in yhtä aikaa.'''
 +
 
 +
== p11-kit ja trust ==  
 +
[https://p11-glue.github.io/p11-glue/p11-kit.html p11-kit] kirjaston työkalut. [https://p11-glue.github.io/p11-glue/p11-kit/manual/p11-kit.html p11-kit] ja [https://p11-glue.github.io/p11-glue/p11-kit/manual/trust.html trust]
 +
 
 +
<pre>
 +
% p11-kit list-modules
 +
module: p11-kit-trust
 +
    path: /usr/lib64/pkcs11/p11-kit-trust.so
 +
    uri: pkcs11:library-description=PKCS%2311%20Kit%20Trust%20Module;library-manufacturer=PKCS%2311%20Kit
 +
    library-description: PKCS#11 Kit Trust Module
 +
    library-manufacturer: PKCS#11 Kit
 +
    library-version: 0.25
 +
    token: System Trust
 +
        uri: pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit;serial=1;token=System%20Trust
 +
        manufacturer: PKCS#11 Kit
 +
        model: p11-kit-trust
 +
        serial-number: 1
 +
        hardware-version: 0.25
 +
        flags:
 +
              write-protected
 +
              token-initialized
 +
    token: Default Trust
 +
        uri: pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit;serial=1;token=Default%20Trust
 +
        manufacturer: PKCS#11 Kit
 +
        model: p11-kit-trust
 +
        serial-number: 1
 +
        hardware-version: 0.25
 +
        flags:
 +
              write-protected
 +
              token-initialized
 +
module: digisign
 +
    path: /usr/lib64/libcryptoki.so
 +
    uri: pkcs11:library-description=mPollux%20DigiSign%20Client;library-manufacturer=Fujitsu%20Finland%20Oy
 +
    library-description: mPollux DigiSign Client
 +
    library-manufacturer: Fujitsu Finland Oy
 +
    library-version: 0.1
 +
    token: HENKILOKORTTI
 +
        uri: pkcs11:model=FINEID%20S4-1%20V3.0;manufacturer=FINEID;serial=xxxxxxxxxxxxxxxxxxxxxxxx;token=HENKILOKORTTI
 +
        manufacturer: FINEID
 +
        model: FINEID S4-1 V3.0
 +
        serial-number: xxxxxxxxxxxxxxxxxxxxxxxxxx
 +
        hardware-version: 1.0
 +
        firmware-version: 1.0
 +
        flags:
 +
              write-protected
 +
              user-pin-initialized
 +
              token-initialized
 +
              secondary-authentication
 +
    token: HENKILOKORTTI (PIN2)
 +
        uri: pkcs11:model=FINEID%20S4-1%20V3.0;manufacturer=FINEID;serial=xxxxxxxxxxxxxxxxxxxxxxxxxx;token=HENKILOKORTTI%20%28PIN2%29
 +
        manufacturer: FINEID
 +
        model: FINEID S4-1 V3.0
 +
        serial-number: xxxxxxxxxxxxxxxxxxxxxxxxx
 +
        hardware-version: 1.0
 +
        firmware-version: 1.0
 +
        flags:
 +
              write-protected
 +
              user-pin-initialized
 +
              token-initialized
 +
              secondary-authentication
 +
    token:
 +
        uri: pkcs11:model=Unknown;manufacturer=;serial=;token=
 +
        manufacturer:
 +
        model: Unknown
 +
        serial-number:
 +
        hardware-version: 1.0
 +
        firmware-version: 1.0
 +
        flags:
 +
    token:  (PIN2)
 +
        uri: pkcs11:model=Unknown;manufacturer=;serial=;token=%20%28PIN2%29
 +
        manufacturer:
 +
        model: Unknown
 +
        serial-number:
 +
        hardware-version: 1.0
 +
        firmware-version: 1.0
 +
        flags:
 +
module: opensc
 +
    path: /usr/lib64/pkcs11/opensc-pkcs11.so
 +
    uri: pkcs11:library-description=OpenSC%20smartcard%20framework;library-manufacturer=OpenSC%20Project
 +
    library-description: OpenSC smartcard framework
 +
    library-manufacturer: OpenSC Project
 +
    library-version: 0.25
 +
    token: TUOMALA,JUHA,382... (PIN1)
 +
        uri: pkcs11:model=PKCS%2315%20emulated;manufacturer=IDEMIA;serial=xxxxxxxxxxx;token=TUOMALA%2CJUHA%2C382...%20%28PIN1%29
 +
        manufacturer: IDEMIA
 +
        model: PKCS#15 emulated
 +
        serial-number: xxxxxxxxxxxx
 +
        flags:
 +
              write-protected
 +
              login-required
 +
              user-pin-initialized
 +
              token-initialized
 +
    token: TUOMALA,JUHA,382... (PIN2)
 +
        uri: pkcs11:model=PKCS%2315%20emulated;manufacturer=IDEMIA;serial=xxxxxxxxx;token=TUOMALA%2CJUHA%2C382...%20%28PIN2%29
 +
        manufacturer: IDEMIA
 +
        model: PKCS#15 emulated
 +
        serial-number: xxxxxxxxx
 +
        flags:
 +
              write-protected
 +
              login-required
 +
              user-pin-initialized
 +
              token-initialized
 +
</pre>
  
Rippuen järjestemästä listaus näyttää varmenteiden NSS-urlit.
 
  
% p11tool --list-all
+
== Katso myös ==
pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit;serial=1;token=System%20Trust
+
* [[GnuTLS|p11tool]], [[OpenSC|pkcs11-tool]], [[OpenSC|pkcs15-tool]] ja [[NSS|modutil]] komennoilla voi listata samoja tietoja.
pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit;serial=1;token=Default%20Trust
 
pkcs11:model=FINEID%20S4-1%20V3.0;manufacturer=FINEID;serial=4600015443498160;token=HENKILOKORTTI
 
pkcs11:model=FINEID%20S4-1%20V3.0;manufacturer=FINEID;serial=4600015443498160;token=HENKILOKORTTI%20%28PIN2%29
 
pkcs11:model=Unknown;manufacturer=;serial=;token=
 
pkcs11:model=Unknown;manufacturer=;serial=;token=%20%28PIN2%29
 
pkcs11:model=PKCS%2315%20emulated;manufacturer=IDEMIA;serial=EB0530760;token=TUOMALA%2CJUHA%20MATTI%2C372...%20%28PIN1%29
 
pkcs11:model=PKCS%2315%20emulated;manufacturer=IDEMIA;serial=EB0530760;token=TUOMALA%2CJUHA%20MATTI%2C372...%20%28PIN2%29
 
  
 
== Aiheesta muualla ==
 
== Aiheesta muualla ==
 
* http://p11-glue.freedesktop.org/p11-kit.html
 
* http://p11-glue.freedesktop.org/p11-kit.html
 +
* https://p11-glue.github.io/p11-glue/p11-kit/manual/config-example.html
  
  
 
[[Luokka:Tekniikka]]
 
[[Luokka:Tekniikka]]

Nykyinen versio 14. kesäkuuta 2024 kello 10.03

p11-kit rajapintaa käytetään Linuxissa ja toisinaan myös macOS:ssä ja Windowsissa.

p11-kit on abstraktiorajapinta eri PKCS#11-plugineiden ja niitä käyttävien ohjelmien välissä mahdollisten älykorttituen lisäämisen automaattisesti niitä tukeviin ohjelmiin ja niiden asetusten asttamisen yhdessä keskitetyssä paikassa. p11-kit siten korvaa sovelluksessa yksittäiset PKCS#11-pluginit.


Asetukset

Asetustiedostoja on monessa paikassa ja niillä on prioriteettijärjestys. Modules hakemistoissa sijaitsee eri PKCS#11-pluginien asetuksia. Käytännössä kannattaa laittaa kaikki muutokset kotihakemistoon jolla välttyy niiden ylikirjoittamisen kun joissain jakeluissa paketit ovat väärin paketoitu.

  • /etc/pkcs11/pkcs11.conf
  • /etc/pkcs11/modules/*
  • /usr/share/pkcs11/modules/*
  • ~/.config/pkcs11/pkcs11.conf
  • ~/.config/pkcs11/modules/*


/etc/pkcs11/pkcs11.conf globaali asetustiedosto jota ei välttämättä ole olemassa. Oletus merge yhdistää asetukset, mutta aiheuttaa PIN2-tunnusluvun kyselyn kun ainoastaan tunnistaudutaan. Ilmeisesti asetus only on järkevin.

user-config: <none|merge|only>

2017 julkaistujen G3.* sukupolven korttien Oberthur-sirua ei ole tuettu OpenSC:ssä ja siten ainoa mahdollinen module: asetuksen arvo on DigiSign Client ohjelman mukana tuleva libcryptoki.so.


Seuraavat asetukset ovat esimerkkejä ja niiden sisältö riippuu käyttäjän mieltymyksistä ja tarpeista, niitä tulee solvetaa sen mukaan:

digisign.module

 module: /usr/lib64/libcryptoki.so
 disable-in: chrome

Koska suomalaisessa henkilökortisssa on useampia varmenteita joista vain ensimmäistä käytetään PKCS11 rajapinnan kautta tunnistamiseen ja OpenSC pkcs11-plugineista on poistettu onepin-opensc-pkcs11.so plugin, saattaa web-selain kysellä myös allekirjoitustunnuslukua jos kaikki ei toimi kuten pitää. Aiemmin tämä estettiin erillisellä OpenSC onepin-opensc-pkcs11.so pluginilla.

Jos p11-kit on asetettu valmiiksi käyttämään normaalia opensc-pluginia, se tulee samalla kytkeä pois käytöstä halutuilta ohjelmilta.

opensc.module

 module: opensc-pkcs11.so
 disable-in: thunderbird-bin

Ilmeisesti sovelluksen nimi on täysin sama merkkijono mitä binäärin nimi on, ei käsky millä se käynnistetään. Ajetun binäärin nimen saa selville prosessilistauksesta, esim ps -eaf komennolla.

onepin-opensc.module (tätä ei enää ole olemassa)

 module: onepin-opensc-pkcs11.so
 enable-in: firefox thunderbird-bin

Samassa modulessa ei saa käyttää enable-in ja disable-in yhtä aikaa.

p11-kit ja trust

p11-kit kirjaston työkalut. p11-kit ja trust

% p11-kit list-modules
module: p11-kit-trust
    path: /usr/lib64/pkcs11/p11-kit-trust.so
    uri: pkcs11:library-description=PKCS%2311%20Kit%20Trust%20Module;library-manufacturer=PKCS%2311%20Kit
    library-description: PKCS#11 Kit Trust Module
    library-manufacturer: PKCS#11 Kit
    library-version: 0.25
    token: System Trust
        uri: pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit;serial=1;token=System%20Trust
        manufacturer: PKCS#11 Kit
        model: p11-kit-trust
        serial-number: 1
        hardware-version: 0.25
        flags:
              write-protected
              token-initialized
    token: Default Trust
        uri: pkcs11:model=p11-kit-trust;manufacturer=PKCS%2311%20Kit;serial=1;token=Default%20Trust
        manufacturer: PKCS#11 Kit
        model: p11-kit-trust
        serial-number: 1
        hardware-version: 0.25
        flags:
              write-protected
              token-initialized
module: digisign
    path: /usr/lib64/libcryptoki.so
    uri: pkcs11:library-description=mPollux%20DigiSign%20Client;library-manufacturer=Fujitsu%20Finland%20Oy
    library-description: mPollux DigiSign Client
    library-manufacturer: Fujitsu Finland Oy
    library-version: 0.1
    token: HENKILOKORTTI
        uri: pkcs11:model=FINEID%20S4-1%20V3.0;manufacturer=FINEID;serial=xxxxxxxxxxxxxxxxxxxxxxxx;token=HENKILOKORTTI
        manufacturer: FINEID
        model: FINEID S4-1 V3.0
        serial-number: xxxxxxxxxxxxxxxxxxxxxxxxxx
        hardware-version: 1.0
        firmware-version: 1.0
        flags:
              write-protected
              user-pin-initialized
              token-initialized
              secondary-authentication
    token: HENKILOKORTTI (PIN2)
        uri: pkcs11:model=FINEID%20S4-1%20V3.0;manufacturer=FINEID;serial=xxxxxxxxxxxxxxxxxxxxxxxxxx;token=HENKILOKORTTI%20%28PIN2%29
        manufacturer: FINEID
        model: FINEID S4-1 V3.0
        serial-number: xxxxxxxxxxxxxxxxxxxxxxxxx
        hardware-version: 1.0
        firmware-version: 1.0
        flags:
              write-protected
              user-pin-initialized
              token-initialized
              secondary-authentication
    token: 
        uri: pkcs11:model=Unknown;manufacturer=;serial=;token=
        manufacturer: 
        model: Unknown
        serial-number: 
        hardware-version: 1.0
        firmware-version: 1.0
        flags:
    token:  (PIN2)
        uri: pkcs11:model=Unknown;manufacturer=;serial=;token=%20%28PIN2%29
        manufacturer: 
        model: Unknown
        serial-number: 
        hardware-version: 1.0
        firmware-version: 1.0
        flags:
module: opensc
    path: /usr/lib64/pkcs11/opensc-pkcs11.so
    uri: pkcs11:library-description=OpenSC%20smartcard%20framework;library-manufacturer=OpenSC%20Project
    library-description: OpenSC smartcard framework
    library-manufacturer: OpenSC Project
    library-version: 0.25
    token: TUOMALA,JUHA,382... (PIN1)
        uri: pkcs11:model=PKCS%2315%20emulated;manufacturer=IDEMIA;serial=xxxxxxxxxxx;token=TUOMALA%2CJUHA%2C382...%20%28PIN1%29
        manufacturer: IDEMIA
        model: PKCS#15 emulated
        serial-number: xxxxxxxxxxxx
        flags:
              write-protected
              login-required
              user-pin-initialized
              token-initialized
    token: TUOMALA,JUHA,382... (PIN2)
        uri: pkcs11:model=PKCS%2315%20emulated;manufacturer=IDEMIA;serial=xxxxxxxxx;token=TUOMALA%2CJUHA%2C382...%20%28PIN2%29
        manufacturer: IDEMIA
        model: PKCS#15 emulated
        serial-number: xxxxxxxxx
        flags:
              write-protected
              login-required
              user-pin-initialized
              token-initialized


Katso myös

Aiheesta muualla