OpenSC интеграција
Нативна OpenSC подршка #
srbeid драјвер за српске смарт картице је интегрисан у главну грану OpenSC-а. Српска лична карта (Gemalto 2014+, IF2020 за странце) и ПКС картице Привредне коморе биће подржане из кутије у следећем издању OpenSC-а.
Ако компајлирате OpenSC из изворног кода (main грана), нативна подршка је већ доступна — без екстерног драјвера или конфигурације.
Екстерни драјвер #
За кориснике на тренутним издањима OpenSC-а (0.26.x, 0.27.x) која још не укључују нативни srbeid драјвер, LibreSCRS пружа екстерни модул. Када се инсталира, свака PKCS#11 апликација може транспарентно користити српске личне картице и ПКС картице преко OpenSC PKCS#11 моста.
Подржане картице:
- Лична карта Gemalto (2014+) — препознавање по ATR
3B:FF:94 - Лична карта IF2020 за странце — препознавање по AID
- ПКС картица Привредне коморе — препознавање по AID
Није подржана: Apollo 2008 лична карта (нема CardEdge аплет).
Преузимање #
Прекомпајлирани пакети за OpenSC 0.26.x и 0.27.x су доступни на страници издања.
Распакујте и копирајте:
# Linux
sudo cp librescrs-cardedge-opensc.so /usr/local/lib/
# macOS
sudo cp librescrs-cardedge-opensc.dylib /usr/local/lib/
Компајлирање из изворног кода #
Linux #
sudo apt install libopensc-dev # Debian/Ubuntu
# sudo dnf install opensc-devel # Fedora/RHEL
cmake -S /path/to/LibreMiddleware -B build -DBUILD_CARDEDGE_OPENSC_DRIVER=ON
cmake --build build --target librescrs-cardedge-opensc
sudo cp build/lib/cardedge-opensc-driver/librescrs-cardedge-opensc.so /usr/local/lib/
macOS #
Homebrew инсталира OpenSC али не и развојна заглавља. Клонирајте OpenSC извор на одговарајућем тагу верзије:
brew install opensc
opensc-tool --version # забележите верзију, нпр. 0.26.1
git clone --branch 0.26.1 --depth 1 https://github.com/OpenSC/OpenSC /tmp/opensc-src
cmake -S /path/to/LibreMiddleware -B build \
-DBUILD_CARDEDGE_OPENSC_DRIVER=ON \
-DOPENSC_INCLUDE_DIR=/tmp/opensc-src/src
cmake --build build --target librescrs-cardedge-opensc
sudo cp build/lib/cardedge-opensc-driver/librescrs-cardedge-opensc.dylib /usr/local/lib/
Конфигурација #
Додајте следеће у ваш opensc.conf:
| Платформа | Локација opensc.conf |
|---|---|
| Linux | /etc/opensc/opensc.conf · /etc/opensc.conf · ~/.config/opensc/opensc.conf |
| macOS | /opt/homebrew/etc/opensc.conf · /Library/Application Support/OpenSC/opensc.conf |
app default {
card_drivers = librescrs, internal;
card_driver librescrs {
module = /usr/local/lib/librescrs-cardedge-opensc.so; # Linux
# module = /usr/local/lib/librescrs-cardedge-opensc.dylib; # macOS
}
framework pkcs15 {
emulate librescrs {
module = /usr/local/lib/librescrs-cardedge-opensc.so; # Linux
# module = /usr/local/lib/librescrs-cardedge-opensc.dylib; # macOS
}
}
}
Верификација #
Детекција картице #
opensc-tool --list-readers
# Gemalto USB SmartCard Reader Slot 0 ATR: 3B FF ...
PKCS#15 објекти #
pkcs15-tool --list-certificates
pkcs15-tool --list-keys
pkcs15-tool --list-pins # приказује преостале покушаје
За потписивање и верификацију датотека, погледајте страницу Дигитално потписивање.
Дебаговање #
Укључите OpenSC логовање у opensc.conf:
app default {
debug = 3;
debug_file = /tmp/opensc-debug.txt;
...
}
Прегледајте /tmp/opensc-debug.txt после покретања било које pkcs15-tool или pkcs11-tool команде.