Работа с OpenSC: Разлика между версии

От Infonotary
Направо към навигацията Направо към търсенето
(Премахване на отделните команди за Mac OS X, те са необходими само при инсталация чрез SCA.)
(Не са показани 14 междинни версии от 3 потребители)
Ред 3: Ред 3:
== Проверка на инсталацията ==
== Проверка на инсталацията ==


Може да проверите дали четеца и картата се разпознават със следните команди:
Може да проверите дали четецът и картата се разпознават със следните команди:


1) {{Шаблон:Console|opensc-tool -l}} - тази команда ще покаже списък с всички включени в компютъра четци. Би трябвало да изведе нещо подобно:<pre>Readers known about:
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}} - с тази команда можете да проверите дали картата ви се разпознава коректно. Ако всичко е наред би трябвало да се изпише „CardOS M4“. Ако получите грешка завършваща на „Failed to connect to card: Unresponsive card (correctly inserted?)“, най-вероятно картата ви е поставена наопаки в четеца.
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}}. За картите които се предлагат от Инфонотари ПИН-ът може да бъде с дължина от 4 до 16 символа, като може да съдържа произволна комбинация от букви и цифри.
ПИН кодът на картата може да бъде сменен от 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 --change-pin -a ID}}, където ID трябва да се смени с неговия идентификатор. Можете да го получите, като изпълните
{{Шаблон:Console|pkcs15-tool --list-pins}}. Част от изхода на командата изглежда така:
{{Шаблон:Console|pkcs15-tool --list-pins}}. Част от изхода на командата изглежда така:
<pre>PIN [SO-PIN]
<pre>PIN [SO-PIN]
Ред 31: Ред 31:
Type : UTF-8
Type : UTF-8
Path :</pre>
Path :</pre>
Идентификатора на АИН-a е текста който е изписан срещу ID в секцията „PIN
Идентификаторът на АИН-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|pkcs15-tool -D}}


== Забраняване на OpenSC да работи с определена смарт карта ==
== Забраняване на OpenSC да работи с определена смарт карта ==


Можете да изключите определен модел смарт карти от поддържаните от OpenSC като редактирате конфигурационният му файл. Трябва да добавите следното веднага след реда „app default {“:
Картите '''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 {
<pre> card_atr ATR {
name = "примерно-име";
name = "примерно-име";
driver = "вид-карта";
driver = "вид-карта";
}</pre>
}</pre>
Чрез командата {{Шаблон:Console|opensc-tool -a}} може да получите ATR на картата. За вид-карта трябва да укажете драйвер различен от този с който работи смарт картата. Списък с всички поддържани драйвери за карти може да получите чрез командата {{Шаблон:Console|opensc-tool --list-drivers}}.
Чрез командата {{Шаблон:Console|opensc-tool -a}} може да получите ATR на картата. За вид-карта трябва да укажете драйвер, различен от този, с който работи смарт картата. Списък с всички поддържани драйвери за карти може да получите чрез командата {{Шаблон:Console|opensc-tool --list-drivers}}
 
Например ако искате да изключите Bit4id картите, които не се поддържат добре от OpenSC 0.12, трябва да добавите следното в конфигурационният файл:
<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 = "Bit4id (disabled)";
driver = "mcrd";
}</pre>
В Linux конфигурационният файл се намира в /etc/opensc/opensc.conf или в /etc/opensc.conf. На Mac OS X файлът е /Library/OpenSC/etc/opensc.conf.


== Тест за работоспособност ==
== Тест за работоспособност ==


За да проверите дали удостоверението ви за електронен подпис работи коректно може да ползвате следната команда - {{Шаблон:Console|pkcs11-tool -lt}}. Тази команда ще поиска да въведете ПИН-а на картата "Please enter User PIN:". Въведеният ПИН няма да се покаже на екрана дори и като звездички. Натиснете Enter за потвърждение. Би трябвало да получите изход подобен на този:
За да проверите дали удостоверението ви за електронен подпис работи коректно, може да ползвате следната команда - {{Шаблон:Console|pkcs11-tool -lt --module opensc-pkcs11.so}}. Тази команда ще поиска да въведете ПИН-а на картата "Please enter User PIN:". Въведеният ПИН няма да се покаже на екрана дори и като звездички. Натиснете Enter за потвърждение. Би трябвало да получите изход, подобен на този:
<pre>
<pre>
Please enter User PIN:
Please enter User PIN:
Ред 98: Ред 100:
No errors  
No errors  
</pre>
</pre>
Когато се появи това съобщение - "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)".
Когато се появи това съобщение - "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]]
[[Категория:Mac OS X]]
[[Категория:macOS]]
[[Категория:Помощ]]
[[Категория:Помощ]]

Версия от 15:17, 3 април 2017

В 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.