ການນຳໃຊ້ໃບຢັ້ງຢືນລະບົບທີ່ໃຊ້ຮ່ວມກັນ

NITISH SHARMA, Mirek Jahoda, Petr Bokoc Version F31 and newer Last review: 2020

ຄັງເກັບໃບຢັ້ງຢືນລະບົບທີ່ໃຊ້ຮ່ວມກັນ ຊ່ວຍໃຫ້ NSS, GnuTLS, OpenSSL, ແລະ Java ສາມາດໃຊ້ແຫຼ່ງຂໍ້ມູນຫຼັກດຽວກັນ ໃນການດຶງຂໍ້ມູນໃບຢັ້ງຢືນຫຼັກຂອງລະບົບ ແລະ ຂໍ້ມູນບັນຊີດຳ. ໂດຍຄ່າເລີ່ມຕົ້ນ, ຄັງເກັບຄວາມເຊື່ອຖືຈະປະກອບມີລາຍຊື່ Mozilla CA, ເຊິ່ງລວມທັງຄວາມເຊື່ອຖືດ້ານບວກ ແລະ ດ້ານລົບ. ລະບົບອະນຸຍາດໃຫ້ມີການອັບເດດລາຍຊື່ Mozilla CA ຫຼັກ ຫຼື ເລືອກລາຍຊື່ໃບຢັ້ງຢືນອື່ນໄດ້.

ການໃຊ້ງານບ່ອນເກັບຂໍ້ມູນຄວາມເຊື່ອຖືທົ່ວລະບົບ

ໃນ Fedora, ບ່ອນເກັບຂໍ້ມູນຄວາມເຊື່ອຖືທົ່ວລະບົບທີ່ລວມເຂົ້າກັນແມ່ນຕັ້ງຢູ່ໃນໄດເຣັກທໍຣີ /etc/pki/ca-trust/ ແລະ /usr/share/pki/ca-trust-source/. ການຕັ້ງຄ່າຄວາມເຊື່ອຖືໃນ /usr/share/pki/ca-trust-source/ ຈະຖືກປະມວນຜົນດ້ວຍລຳດັບຄວາມສຳຄັນທີ່ຕ່ຳກວ່າການຕັ້ງຄ່າໃນ /etc/pki/ca-trust/.

ໄຟລ໌ໃບຢັ້ງຢືນຈະຖືກຈັດການຕາມໄດເຣັກທໍຣີຍ່ອຍທີ່ພວກມັນຖືກຕິດຕັ້ງໃສ່ໃນໄດເຣັກທໍຣີຕໍ່ໄປນີ້:

  • ສຳລັບ trust anchors

    • /usr/share/pki/ca-trust-source/anchors/ ຫຼື

    • /etc/pki/ca-trust/source/anchors/

  • ສຳລັບໃບຢັ້ງຢືນທີ່ບໍ່ໄດ້ຮັບຄວາມເຊື່ອຖື

    • /usr/share/pki/ca-trust-source/blocklist/ ຫຼື

    • /etc/pki/ca-trust/source/blocklist/

  • ສຳລັບໃບຢັ້ງຢືນໃນຮູບແບບໄຟລ໌ BEGIN TRUSTED ແບບຂະຫຍາຍ

    • /usr/share/pki/ca-trust-source/ ຫຼື

    • /etc/pki/ca-trust/source/

ໃນລະບົບການເຂົ້າລະຫັດແບບລຳດັບຊັ້ນ, trust anchor ແມ່ນໜ່ວຍງານທີ່ມີສິດອຳນາດເຊິ່ງຖືກສົມມຸດວ່າໜ້າເຊື່ອຖື. ຕົວຢ່າງ, ໃນສະຖາປັດຕະຍະກຳ X.509, ໃບຢັ້ງຢືນຮາກ (root certificate) ແມ່ນ trust anchor ເຊິ່ງເປັນຕົ້ນກຳເນີດຂອງສາຍໂສ້ແຫ່ງຄວາມເຊື່ອຖື (chain of trust). trust anchor ຈະຕ້ອງຖືກສົ່ງມອບໃຫ້ຝ່າຍທີ່ໃຫ້ຄວາມເຊື່ອຖືໄວ້ກ່ອນລ່ວງໜ້າ ເພື່ອເຮັດໃຫ້ການກວດສອບເສັ້ນທາງ (path validation) ສາມາດເຮັດໄດ້.

ການເພີ່ມໃບຢັ້ງຢືນໃໝ່

ເລື້ອຍໆ, ຜູ້ດູແລລະບົບຕ້ອງການຕິດຕັ້ງໃບຢັ້ງຢືນເຂົ້າໃນບ່ອນເກັບຂໍ້ມູນທີ່ເຊື່ອຖືໄດ້ (trust store). ສິ່ງນີ້ສາມາດເຮັດໄດ້ດ້ວຍຄຳສັ່ງຍ່ອຍ trust anchor ຂອງຄຳສັ່ງ trust, ຕາມທີ່ໄດ້ອະທິບາຍໄວ້ໃນ ການຈັດການໃບຢັ້ງຢືນລະບົບທີ່ເຊື່ອຖືໄດ້.

ຫຼືອີກວິທີໜຶ່ງ, ທ່ານສາມາດກັອບປີ້ໄຟລ໌ໃບຢັ້ງຢືນໃນຮູບແບບໄຟລ໌ PEM ຫຼື DER ໄປໄວ້ທີ່ໄດເຣັກທໍຣີ /etc/pki/ca-trust/source/anchors/, ແລ້ວຕາມດ້ວຍການຮັນຄຳສັ່ງ update-ca-trust, ຕົວຢ່າງ:

$ sudo cp ~/certificate-trust-examples/Cert-trust-test-ca.pem /etc/pki/ca-trust/source/anchors/
$ sudo update-ca-trust

ຄຳສັ່ງ update-ca-trust ຈະຮັບປະກັນວ່າ ຊຸດໃບຢັ້ງຢືນໃນຮູບແບບສະເພາະຂອງແອັບພລິເຄຊັນ, ເຊັ່ນ Java keystore, ຈະຖືກສ້າງຂຶ້ນໃໝ່.

ໃບຢັ້ງຢືນທີ່ຕິດຕັ້ງໃນຂັ້ນຕອນຂ້າງເທິງນັ້ນ ບໍ່ສາມາດຖືກລຶບອອກໄດ້ດ້ວຍຄຳສັ່ງ trust anchor --remove.

ເຖິງແມ່ນວ່າບຣາວເຊີ Firefox ຈະສາມາດໃຊ້ໃບຢັ້ງຢືນທີ່ເພີ່ມເຂົ້າໄປໄດ້ໂດຍບໍ່ຕ້ອງໃຊ້ຄຳສັ່ງ update-ca-trust, ແຕ່ຂໍແນະນຳໃຫ້ຮັນຄຳສັ່ງ update-ca-trust ຫຼັງຈາກທີ່ມີການປ່ຽນແປງ CA. ນອກຈາກນີ້, ໃຫ້ໝາຍເຫດໄວ້ວ່າ ບຣາວເຊີ ເຊັ່ນ Firefox, Epiphany, ຫຼື Chromium ມີການເກັບໄຟລ໌ແຄຊ໌ (cache), ແລະ ທ່ານອາດຈະຕ້ອງລຶບແຄຊ໌ຂອງບຣາວເຊີ ຫຼື ເລີ່ມຕົ້ນບຣາວເຊີໃໝ່ ເພື່ອໂຫຼດການກຳນົດຄ່າໃບຢັ້ງຢືນລະບົບໃນປັດຈຸບັນ.

ການຈັດການໃບຢັ້ງຢືນລະບົບທີ່ເຊື່ອຖືໄດ້

ເພື່ອສະແດງລາຍການ, ແຍກອອກ, ເພີ່ມ, ລຶບ, ຫຼື ປ່ຽນແປງ trust anchors, ໃຫ້ໃຊ້ຄຳສັ່ງ trust. ເພື່ອເບິ່ງວິທີໃຊ້ສຳລັບຄຳສັ່ງນີ້, ໃຫ້ປ້ອນຄຳສັ່ງໂດຍບໍ່ມີອາກິວເມັນ ຫຼື ໃຊ້ຕົວເລືອກ --help:

$ trust
usage: trust command <args>...

ຄຳສັ່ງ trust ທົ່ວໄປມີຄື:
  list             ສະແດງລາຍການຄວາມເຊື່ອຖື ຫຼື ໃບຢັ້ງຢືນ
  extract          ແຍກໃບຢັ້ງຢືນ ແລະ ຄວາມເຊື່ອຖືອອກ
  extract-compat   ແຍກຊຸດຄວາມເຂົ້າກັນໄດ້ຂອງຄວາມເຊື່ອຖື
  anchor           ເພີ່ມ, ລຶບ, ປ່ຽນແປງ trust anchors
  dump             ສະແດງຂໍ້ມູນ (Dump) ວັດຖຸຄວາມເຊື່ອຖືໃນຮູບແບບພາຍໃນ

See 'trust <command> --help' for more information

ເພື່ອສະແດງລາຍການ trust anchors ແລະ ໃບຢັ້ງຢືນລະບົບທັງໝົດ, ໃຫ້ໃຊ້ຄຳສັ່ງ trust list:

$ trust list
pkcs11:id=%d2%87%b4%e3%df%37%27%93%55%f6%56%ea%81%e5%36%cc%8c%1e%3f%bd;type=cert
    type: certificate
    label: ACCVRAIZ1
    trust: anchor
    category: authority

pkcs11:id=%a6%b3%e1%2b%2b%49%b6%d7%73%a1%aa%94%f5%01%e7%73%65%4c%ac%50;type=cert
    type: ໃບຢັ້ງຢືນ
    label: ACEDICOM Root
    trust: anchor
    category: authority
...
[ຜົນການສະແດງຖືກຕັດອອກ]

ເພື່ອຈັດເກັບ trust anchor ເຂົ້າໃນບ່ອນເກັບຄວາມເຊື່ອຖືຂອງລະບົບ, ໃຫ້ໃຊ້ຄຳສັ່ງຍ່ອຍ trust anchor ແລະ ລະບຸ path.to ຂອງໃບຢັ້ງຢືນ, ຕົວຢ່າງ:

$ sudo trust anchor path.to/certificate.crt

ເພື່ອລຶບໃບຢັ້ງຢືນ, ໃຫ້ໃຊ້ path.to ຂອງໃບຢັ້ງຢືນ ຫຼື ID ຂອງໃບຢັ້ງຢືນ:

$ sudo trust anchor --remove path.to/certificate.crt
$ sudo trust anchor --remove "pkcs11:id=%AA%BB%CC%DD%EE;type=cert"
ຂໍ້ມູນເພີ່ມເຕີມ

ທຸກໆຄຳສັ່ງຍ່ອຍຂອງຄຳສັ່ງ trust ມີວິທີໃຊ້ທີ່ລະອຽດພາຍໃນຕົວ, ຕົວຢ່າງ:

$ trust list --help
ວິທີໃຊ້: trust list --filter=&lt;ສິ່ງທີ່ຈະຕອງ&gt;

  --filter=&lt;what&gt;     ຕົວຕອງສິ່ງທີ່ຈະສົ່ງອອກ
                        ca-anchors        ໃບຢັ້ງຢືນ anchor
                        blacklist         ໃບຢັ້ງຢືນທີ່ຕິດບັນຊີດຳ
                        trust-policy      anchors ແລະ ບັນຊີດຳ (ຄ່າເລີ່ມຕົ້ນ)
                        certificates      ໃບຢັ້ງຢືນທັງໝົດ
                        pkcs11:object=xx  ຮູບແບບ PKCS#11 URI
  --purpose=&lt;usage&gt;   ຈຳກັດສະເພາະໃບຢັ້ງຢືນທີ່ໃຊ້ໄດ້ຕາມຈຸດປະສົງ
                        server-auth       ສຳລັບການຢັ້ງຢືນຕົວຕົນເຊີບເວີ
                        client-auth       ສຳລັບການຢັ້ງຢືນຕົວຕົນໄຄລເອັນ
                        email             ສຳລັບການປົກປ້ອງອີເມວ
                        code-signing      ສຳລັບການຢັ້ງຢືນຕົວຕົນໂຄ້ດທີ່ມີການເຊັນຊື່
                        1.2.3.4.5...      ID ຂອງວັດຖຸໃດໜຶ່ງ
  -v, --verbose       ສະແດງລາຍລະອຽດການແກ້ໄຂຈຸດບົກພ່ອງ (debug)
  -q, --quiet         ປິດການສະແດງຜົນຄຳສັ່ງ

ຊັບພະຍາກອນເພີ່ມເຕີມ

ສຳລັບຂໍ້ມູນເພີ່ມເຕີມ, ໃຫ້ເບິ່ງໜ້າຄູ່ມື (man pages) ດັ່ງຕໍ່ໄປນີ້:

  • update-ca-trust(8)

  • trust(1)