Дигитално потписивање
Смарт картице са приватним кључевима могу се користити за дигиталне потписе. Најбржи начин да потпишете документ је уграђени чаробњак за потписивање у 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).
Да бисте потписали документ:
- Убаците картицу за потписивање и отворите LibreCelik. Сачекајте да се картица појави у главном прозору.
- Отворите Датотека → Потпиши документ… (или акцију „Потпиши" на приказу картице).
- Изаберите документ. Превуците датотеку у зону или кликните Преглед.
- Изаберите формат потписа (PAdES за PDF, ASiC-E за било који други тип, CAdES / XAdES / JAdES ако имате одређени захтев) и ниво усклађености (B-B за офлајн потпис, B-T за потпис са временским печатом, B-LT / B-LTA за дугорочне архивске потписе — за ова два нивоа додатно је потребна интернет конекција за преузимање података о опозиву преко CRL / OCSP).
- (само PAdES) Поставите визуелни потпис. Изаберите страницу, превуците правоугаоник, чаробњак аутоматски попуњава простор текстом. Преглед је пиксел-тачан у односу на коначни уграђени PDF.
- Изаберите сертификат за потписивање — чаробњак приказује све сертификате за потписивање са картице. Статус PIN-а (исправан / блокиран / преостали покушаји) приказује се поред сваког.
- Унесите PIN када се затражи, затим изаберите путању за чување.
- Чаробњак производи потписану датотеку и приказује сажетак верификације (потписник, ланац, временски печати).
Чаробњак испод хаубе користи LibreSCRS PKCS#11 модул, тако да исти ауторитети поверења и понашање провере опозива важе било да потписујете кроз GUI или кроз неки од доле наведених токова у командној линији.
Предуслови #
Потребно вам је једно од следећег:
- OpenSC са уграђеном подршком за српске картице — само инсталирајте OpenSC, ништа друго није потребно. (srbeid драјвер је интегрисан у главну грану OpenSC-а али још није укључен у издање. Ако компајлирате OpenSC из изворног кода, већ ради.)
- OpenSC + LibreSCRS екстерни драјвер — користите ово док уграђени драјвер не буде објављен. Даје вам приступ свим OpenSC CLI алатима (
pkcs15-crypt,pkcs11-tool, итд.). Погледајте OpenSC интеграција. - 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 зависи од њихових екстензија за употребу кључа. Ако сте ово тестирали, молимо поделите своје резултате.