Пређи на главни садржај
  1. Водич за кориснике/

Дигитално потписивање

Смарт картице са приватним кључевима могу се користити за дигиталне потписе. Најбржи начин да потпишете документ је уграђени чаробњак за потписивање у LibreCelik-у. Ова страница покрива и потписивање из командне линије и PKCS#11 клијенте трећих страна. Примери испод користе српске личне картице и ПКС картице, али исти ток рада важи за сваку картицу коју подржава LibreCelik, OpenSC или LibreSCRS PKCS#11 модул.

Потписивање у LibreCelik-у (препоручено) #

LibreCelik 4.0 испоручује нативни чаробњак за потписивање који производи EU eIDAS / ETSI baseline потписе директно са ваше смарт картице — без спољашњег сервиса, без додатних PDF алата, без ручног рачунања хеша. Чаробњак подржава PAdES (PDF), CAdES (.p7s), XAdES (.xml), JAdES (.json) и ASiC-E (.asice) контејнере у четири нивоа усклађености (B-B, B-T, B-LT, B-LTA).

Да бисте потписали документ:

  1. Убаците картицу за потписивање и отворите LibreCelik. Сачекајте да се картица појави у главном прозору.
  2. Отворите Датотека → Потпиши документ… (или акцију „Потпиши" на приказу картице).
  3. Изаберите документ. Превуците датотеку у зону или кликните Преглед.
  4. Изаберите формат потписа (PAdES за PDF, ASiC-E за било који други тип, CAdES / XAdES / JAdES ако имате одређени захтев) и ниво усклађености (B-B за офлајн потпис, B-T за потпис са временским печатом, B-LT / B-LTA за дугорочне архивске потписе — за ова два нивоа додатно је потребна интернет конекција за преузимање података о опозиву преко CRL / OCSP).
  5. (само PAdES) Поставите визуелни потпис. Изаберите страницу, превуците правоугаоник, чаробњак аутоматски попуњава простор текстом. Преглед је пиксел-тачан у односу на коначни уграђени PDF.
  6. Изаберите сертификат за потписивање — чаробњак приказује све сертификате за потписивање са картице. Статус PIN-а (исправан / блокиран / преостали покушаји) приказује се поред сваког.
  7. Унесите PIN када се затражи, затим изаберите путању за чување.
  8. Чаробњак производи потписану датотеку и приказује сажетак верификације (потписник, ланац, временски печати).

Чаробњак испод хаубе користи LibreSCRS PKCS#11 модул, тако да исти ауторитети поверења и понашање провере опозива важе било да потписујете кроз GUI или кроз неки од доле наведених токова у командној линији.


Предуслови #

Потребно вам је једно од следећег:

  1. OpenSC са уграђеном подршком за српске картице — само инсталирајте OpenSC, ништа друго није потребно. (srbeid драјвер је интегрисан у главну грану OpenSC-а али још није укључен у издање. Ако компајлирате OpenSC из изворног кода, већ ради.)
  2. OpenSC + LibreSCRS екстерни драјвер — користите ово док уграђени драјвер не буде објављен. Даје вам приступ свим OpenSC CLI алатима (pkcs15-crypt, pkcs11-tool, итд.). Погледајте OpenSC интеграција.
  3. LibreSCRS PKCS#11 модул — ради без OpenSC-а. За аутентификацију у прегледачу и потписивање преко било које PKCS#11 апликације. Погледајте PKCS#11 подешавање.

Потписивање из командне линије са OpenSC #

Потписивање датотеке #

pkcs15-crypt --sha-256 очекује унапред израчунат бинарни хеш као улаз, не сирову поруку.

# Израчунај хеш
openssl dgst -sha256 -binary /path/to/message.txt > /tmp/hash.bin

# Потпиши кључем 02 (Дигитални потпис)
pkcs15-crypt --sign --pkcs1 --sha-256 --key 02 \
    --input /tmp/hash.bin --output /tmp/sig.bin

Верификација потписа #

# Извуци јавни кључ из сертификата
# Напомена: pkcs15-tool враћа PEM на Linux-у, DER на macOS-у
pkcs15-tool --read-certificate 02 --output /tmp/cert.pem
openssl x509 -in /tmp/cert.pem -pubkey -noout > /tmp/pubkey.pem

# Верификуј
openssl dgst -sha256 -verify /tmp/pubkey.pem \
    -signature /tmp/sig.bin /path/to/message.txt
# Verified OK

Коришћење pkcs11-tool #

Можете такође потписивати користећи pkcs11-tool са LibreSCRS PKCS#11 модулом или OpenSC-овим модулом:

pkcs11-tool --module /usr/local/lib/librescrs-pkcs11.so \
    --sign --mechanism RSA-PKCS --id 02 \
    --input-file /tmp/hash.bin --output-file /tmp/sig.bin

Аутентификација у прегледачу (еУправа) #

За аутентификацију на државне сервисе као што је еУправа, подесите PKCS#11 модул у Firefox-у. Погледајте PKCS#11 упутство за Firefox.

Када посетите сајт који захтева аутентификацију клијентским сертификатом, Firefox ће вас питати да изаберете сертификат и унесете PIN.


Потписивање PDF докумената у читачима трећих страна #

Ако користите други PDF читач, већина PKCS#11 читача може да користи вашу смарт картицу преко LibreSCRS PKCS#11 модула. Примери:

  • Okular (KDE) — подржава PKCS#11 преко NSS-а
  • Adobe Reader (ако је доступан на вашој платформи)

Ови путеви су корисни када вам је потребан ток потписивања интегрисан у сам прегледач, што није покривено LibreCelik чаробњаком. Ако пробате неки од њих са одређеном картицом и имате повратну информацију, молимо поделите своја открића.


Потписивање електронске поште (S/MIME) #

Thunderbird и други клијенти електронске поште који подржавају PKCS#11 безбедносне уређаје могу да користе сертификате са ваше смарт картице за S/MIME потписивање и шифровање поште. Учитајте PKCS#11 модул у Thunderbird-у на исти начин као у Firefox-у — погледајте PKCS#11 подешавање.

Да ли су сертификати на вашој картици погодни за S/MIME зависи од њихових екстензија за употребу кључа. Ако сте ово тестирали, молимо поделите своје резултате.