Работа с OpenSC: Разлика между версии
VasilBadev (беседа | приноси) (Използване на първият слот в Mac OS X (заради OpenSC 0.12)) |
Редакция без резюме |
||
(Не са показани 18 междинни версии от 4 потребители) | |||
Ред 1: | Ред 1: | ||
* '''ВАЖНО:''' OpenSC е подходящ за смарт карти Siemens CardOS | |||
В OpenSC няма програми с графичен интерфейс, така че всички операции се налага да се правят от терминал. | В OpenSC няма програми с графичен интерфейс, така че всички операции се налага да се правят от терминал. | ||
== Проверка на инсталацията == | == Проверка на инсталацията == | ||
Може да проверите дали | Може да проверите дали четецът и картата се разпознават със следните команди: | ||
1) {{Шаблон:Console|opensc-tool -l}} | 1) {{Шаблон:Console|opensc-tool -l}} - тази команда ще покаже списък с всички включени в компютъра четци. Би трябвало да изведе нещо подобно:<pre>Readers known about: | ||
Nr. Driver Name | Nr. Driver Name | ||
0 pcsc OMNIKEY CardMan 6121 0</pre> | 0 pcsc OMNIKEY CardMan 6121 0</pre> | ||
2) {{Шаблон:Console|opensc-tool -n}} | 2) {{Шаблон:Console|opensc-tool -n}} - с тази команда можете да проверите дали картата ви се разпознава коректно. Ако всичко е наред, би трябвало да се изпише „CardOS M4“. Ако получите грешка, завършваща на „Failed to connect to card: Unresponsive card (correctly inserted?)“, най-вероятно картата ви е поставена наопаки в четеца. | ||
== Смяна на ПИН == | == Смяна на ПИН == | ||
ПИН кодът на картата може да бъде сменен от Device Manager-a на Mozilla Firefox или със следната команда - {{Шаблон:Console|pkcs15-tool --change-pin}} | ПИН кодът на картата може да бъде сменен от Device Manager-a на Mozilla Firefox или със следната команда - {{Шаблон:Console|pkcs15-tool --change-pin}}. За картите, които се предлагат от Инфонотари, ПИН-ът може да бъде с дължина от 4 до 16 символа, като може да съдържа произволна комбинация от букви и цифри. | ||
== Разблокиране на ПИН == | == Разблокиране на ПИН == | ||
В случай че Firefox ви иска пина по няколко пъти последователно, то най-вероятно той е блокиран. Може да бъде разблокиран с командата {{Шаблон:Console|pkcs15-tool -u}} | В случай че Firefox ви иска пина по няколко пъти последователно, то най-вероятно той е блокиран. Може да бъде разблокиран с командата {{Шаблон:Console|pkcs15-tool -u}} | ||
== Смяна на АИН == | == Смяна на АИН == | ||
АИН | АИН кодът може да се смени със следната команда - {{Шаблон:Console|pkcs15-tool --change-pin -a ID}}, където ID трябва да се смени с неговия идентификатор. Можете да го получите, като изпълните | ||
{{Шаблон:Console|pkcs15-tool --list-pins}} | {{Шаблон:Console|pkcs15-tool --list-pins}}. Част от изхода на командата изглежда така: | ||
<pre>PIN [SO-PIN] | <pre>PIN [SO-PIN] | ||
Com. Flags: 0x3 | Com. Flags: 0x3 | ||
Ред 31: | Ред 33: | ||
Type : UTF-8 | Type : UTF-8 | ||
Path :</pre> | Path :</pre> | ||
Идентификаторът на АИН-a е текстът, който е изписан срещу ID в секцията „PIN | |||
[SO-PIN]“. В този случай точната команда за смяна на АИН ще е {{Шаблон:Console|pkcs15-tool --change-pin -a 02}} | [SO-PIN]“. В този случай точната команда за смяна на АИН ще е {{Шаблон:Console|pkcs15-tool --change-pin -a 02}} | ||
== Показване на съдържанието на карта == | == Показване на съдържанието на карта == | ||
Със следната команда може да видите всички обекти на картата {{Шаблон:Console|pkcs15-tool -D}} ({{Шаблон:Console|/Library/OpenSC/ | Със следната команда може да видите всички обекти на картата {{Шаблон:Console|pkcs15-tool -D}} | ||
== Забраняване на OpenSC да работи с определена смарт карта == | |||
Картите '''T&S DS/2048''' на Bit4id, не се поддържат добре от OpenSC 0.12, така че ако искате да използвате едновременно такава карта и CardOS карта ще трябва да редактирате конфигурационният файл на OpenSC. Трябва да добавите следното веднага след реда „'''app default {'''“: | |||
<pre> card_atr 3b:ff:18:00:ff:81:31:fe:55:00:6b:02:09:03:03:01:11:01:43:4e:53:11:31:80:8c { | |||
name = " T&S DS/2048 (disabled)"; | |||
driver = "mcrd"; | |||
}</pre> | |||
В Mac OS X файлът е /Library/OpenSC/etc/opensc.conf, за да се отвори с права за редактиране може да се използва следната команда - {{Шаблон:Console|sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /Library/OpenSC/etc/opensc.conf}} | |||
В Linux конфигурационният файл се намира в /etc/opensc/opensc.conf или в /etc/opensc.conf. | |||
По същият начин може да се изключи произволен модел смарт карти от поддържаните от OpenSC. Трябва да добавите аналогична секция в конфигурационният файл със следното съдържание: | |||
<pre> card_atr ATR { | |||
name = "примерно-име"; | |||
driver = "вид-карта"; | |||
}</pre> | |||
Чрез командата {{Шаблон:Console|opensc-tool -a}} може да получите ATR на картата. За вид-карта трябва да укажете драйвер, различен от този, с който работи смарт картата. Списък с всички поддържани драйвери за карти може да получите чрез командата {{Шаблон:Console|opensc-tool --list-drivers}} | |||
== Тест за работоспособност == | == Тест за работоспособност == | ||
За да проверите дали удостоверението ви за електронен подпис работи коректно може да ползвате следната команда - {{Шаблон:Console|pkcs11-tool -lt | За да проверите дали удостоверението ви за електронен подпис работи коректно, може да ползвате следната команда - {{Шаблон:Console|pkcs11-tool -lt --module opensc-pkcs11.so}}. Тази команда ще поиска да въведете ПИН-а на картата "Please enter User PIN:". Въведеният ПИН няма да се покаже на екрана дори и като звездички. Натиснете Enter за потвърждение. Би трябвало да получите изход, подобен на този: | ||
<pre> | <pre> | ||
Please enter User PIN: | Please enter User PIN: | ||
Ред 82: | Ред 102: | ||
No errors | No errors | ||
</pre> | </pre> | ||
Когато се появи това съобщение - "Please press return to continue, x to exit:" трябва да въведете "x" и да натиснете Enter. В случай че има някакъв проблем с четеца, картата или удостоверението командата ще приключи със съобщение "error:" и кратко описание на проблема. Например ако ви е блокиран ПИН- | Когато се появи това съобщение - "Please press return to continue, x to exit:", трябва да въведете "x" и да натиснете Enter. В случай че има някакъв проблем с четеца, картата или удостоверението, командата ще приключи със съобщение "error:" и кратко описание на проблема. Например ако ви е блокиран ПИН-ът, ще получите съобщение "error: PKCS11 function C_Login failed: rv = CKR_PIN_LOCKED (0xa4)"., а ако е въведен погрешен ПИН, съобщението ще е "error: PKCS11 function C_Login failed: rv = CKR_PIN_INCORRECT (0xa0)". | ||
При версиите на OpenSC преди 0.13, в зависимост от съдържанието на вашата смарт карта, е възможно да получите грешка веднага след „Signatures (currently only RSA signatures)“. В този случай ще трябва да тествате дали подписа работи в друга програма, например Firefox. | |||
[[Категория:Инсталация и използване на удостоверения за електронен подпис]] | [[Категория:Инсталация и използване на удостоверения за електронен подпис]] | ||
[[Категория:Linux]] | [[Категория:Linux]] | ||
[[Категория: | [[Категория:macOS]] | ||
[[Категория:Помощ]] | [[Категория:Помощ]] |
Текуща версия към 10:44, 23 юни 2021
- ВАЖНО: OpenSC е подходящ за смарт карти Siemens CardOS
В OpenSC няма програми с графичен интерфейс, така че всички операции се налага да се правят от терминал.
Проверка на инсталацията
Може да проверите дали четецът и картата се разпознават със следните команди:
1) opensc-tool -l - тази команда ще покаже списък с всички включени в компютъра четци. Би трябвало да изведе нещо подобно:
Readers known about: Nr. Driver Name 0 pcsc OMNIKEY CardMan 6121 0
2) opensc-tool -n - с тази команда можете да проверите дали картата ви се разпознава коректно. Ако всичко е наред, би трябвало да се изпише „CardOS M4“. Ако получите грешка, завършваща на „Failed to connect to card: Unresponsive card (correctly inserted?)“, най-вероятно картата ви е поставена наопаки в четеца.
Смяна на ПИН
ПИН кодът на картата може да бъде сменен от Device Manager-a на Mozilla Firefox или със следната команда - pkcs15-tool --change-pin. За картите, които се предлагат от Инфонотари, ПИН-ът може да бъде с дължина от 4 до 16 символа, като може да съдържа произволна комбинация от букви и цифри.
Разблокиране на ПИН
В случай че Firefox ви иска пина по няколко пъти последователно, то най-вероятно той е блокиран. Може да бъде разблокиран с командата pkcs15-tool -u
Смяна на АИН
АИН кодът може да се смени със следната команда - pkcs15-tool --change-pin -a ID, където ID трябва да се смени с неговия идентификатор. Можете да го получите, като изпълните pkcs15-tool --list-pins. Част от изхода на командата изглежда така:
PIN [SO-PIN] Com. Flags: 0x3 ID : 02 Flags : [0x99], case-sensitive, unblock-disabled, initialized, soPin Length : min_len:4, max_len:16, stored_len:0 Pad char : 0x00 Reference : 130 Type : UTF-8 Path :
Идентификаторът на АИН-a е текстът, който е изписан срещу ID в секцията „PIN [SO-PIN]“. В този случай точната команда за смяна на АИН ще е pkcs15-tool --change-pin -a 02
Показване на съдържанието на карта
Със следната команда може да видите всички обекти на картата pkcs15-tool -D
Забраняване на OpenSC да работи с определена смарт карта
Картите T&S DS/2048 на Bit4id, не се поддържат добре от OpenSC 0.12, така че ако искате да използвате едновременно такава карта и CardOS карта ще трябва да редактирате конфигурационният файл на OpenSC. Трябва да добавите следното веднага след реда „app default {“:
card_atr 3b:ff:18:00:ff:81:31:fe:55:00:6b:02:09:03:03:01:11:01:43:4e:53:11:31:80:8c { name = " T&S DS/2048 (disabled)"; driver = "mcrd"; }
В Mac OS X файлът е /Library/OpenSC/etc/opensc.conf, за да се отвори с права за редактиране може да се използва следната команда - sudo /Applications/TextEdit.app/Contents/MacOS/TextEdit /Library/OpenSC/etc/opensc.conf
В Linux конфигурационният файл се намира в /etc/opensc/opensc.conf или в /etc/opensc.conf.
По същият начин може да се изключи произволен модел смарт карти от поддържаните от OpenSC. Трябва да добавите аналогична секция в конфигурационният файл със следното съдържание:
card_atr ATR { name = "примерно-име"; driver = "вид-карта"; }
Чрез командата opensc-tool -a може да получите ATR на картата. За вид-карта трябва да укажете драйвер, различен от този, с който работи смарт картата. Списък с всички поддържани драйвери за карти може да получите чрез командата opensc-tool --list-drivers
Тест за работоспособност
За да проверите дали удостоверението ви за електронен подпис работи коректно, може да ползвате следната команда - pkcs11-tool -lt --module opensc-pkcs11.so. Тази команда ще поиска да въведете ПИН-а на картата "Please enter User PIN:". Въведеният ПИН няма да се покаже на екрана дори и като звездички. Натиснете Enter за потвърждение. Би трябвало да получите изход, подобен на този:
Please enter User PIN: C_SeedRandom() and C_GenerateRandom(): not implemented Digests: all 4 digest functions seem to work MD5: OK SHA-1: OK RIPEMD160: OK Signatures (currently only RSA signatures) testing key 0 (DDA8BB6F-86C2-48F7-B061-F2F4023ED8F2) all 4 signature functions seem to work testing signature mechanisms: RSA-X-509: OK RSA-PKCS: OK SHA1-RSA-PKCS: OK MD5-RSA-PKCS: OK RIPEMD160-RSA-PKCS: OK Verify (currently only for RSA): testing key 0 (DDA8BB6F-86C2-48F7-B061-F2F4023ED8F2) RSA-X-509: OK RSA-PKCS: OK SHA1-RSA-PKCS: OK MD5-RSA-PKCS: OK RIPEMD160-RSA-PKCS: OK Key unwrap (RSA) testing key 0 (DDA8BB6F-86C2-48F7-B061-F2F4023ED8F2) DES-CBC: OK DES-EDE3-CBC: OK BF-CBC: OK CAST5-CFB: OK Decryption (RSA) testing key 0 (DDA8BB6F-86C2-48F7-B061-F2F4023ED8F2) RSA-X-509: OK RSA-PKCS: OK Testing card detection Please press return to continue, x to exit: x Testing card detection using C_WaitForSlotEvent Please press return to continue, x to exit: x No errors
Когато се появи това съобщение - "Please press return to continue, x to exit:", трябва да въведете "x" и да натиснете Enter. В случай че има някакъв проблем с четеца, картата или удостоверението, командата ще приключи със съобщение "error:" и кратко описание на проблема. Например ако ви е блокиран ПИН-ът, ще получите съобщение "error: PKCS11 function C_Login failed: rv = CKR_PIN_LOCKED (0xa4)"., а ако е въведен погрешен ПИН, съобщението ще е "error: PKCS11 function C_Login failed: rv = CKR_PIN_INCORRECT (0xa0)".
При версиите на OpenSC преди 0.13, в зависимост от съдържанието на вашата смарт карта, е възможно да получите грешка веднага след „Signatures (currently only RSA signatures)“. В този случай ще трябва да тествате дали подписа работи в друга програма, например Firefox.