Работа с OpenSC

От Infonotary
Версия от 14:57, 9 март 2011 на VasilBadev (беседа | приноси) (Проверка на правописа)
Направо към навигацията Направо към търсенето

В OpenSC няма програми с графичен интерфейс, така че всички операции се налага да се правят от терминал.

Проверка на инсталацията

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

1) opensc-tool -l (/Library/OpenSC/bin/opensc-tool -l за Mac OS X) - тази команда ще покаже списък с всички включени в компютъра четци. Би трябвало да изведе нещо подобно:

Readers known about:
Nr.    Driver     Name
0      pcsc       OMNIKEY CardMan 6121 0

2) opensc-tool -n (/Library/OpenSC/bin/opensc-tool -n за Mac OS X) - с тази команда можете да проверите дали картата ви се разпознава коректно. Ако всичко е наред би трябвало да се изпише „CardOS M4“. Ако получите грешка завършваща на „Failed to connect to card: Unresponsive card (correctly inserted?)“, най-вероятно картата ви е поставена наопаки в четеца.

Смяна на ПИН

ПИН кодът на картата може да бъде сменен от Device Manager-a на Mozilla Firefox или със следната команда - pkcs15-tool --change-pin (/Library/OpenSC/bin/pkcs15-tool --change-pin за Mac OS X). За картите които се предлагат от Инфонотари ПИН-ът може да бъде с дължина от 4 до 16 символа, като може да съдържа произволна комбинация от букви и цифри.

Разблокиране на ПИН

В случай че Firefox ви иска пина по няколко пъти последователно, то най-вероятно той е блокиран. Може да бъде разблокиран с командата pkcs15-tool -u (/Library/OpenSC/bin/pkcs15-tool -u за Mac OS X).

Смяна на АИН

АИН кода може да се смени със следната команда - pkcs15-tool --change-pin -a ID (/Library/OpenSC/bin/pkcs15-tool --change-pin -a ID за Mac OS X), където ID трябва да се смени с неговият идентификатор. Можете да го получите като изпълните pkcs15-tool --list-pins (/Library/OpenSC/bin/pkcs15-tool --list-pins за Mac OS X). Част от изхода на командата изглежда така:

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 (/Library/OpenSC/bin/pkcs15-tool --change-pin -a 02 за Mac OS X).

Показване на съдържанието на карта

Със следната команда може да видите всички обекти на картата pkcs15-tool -D (/Library/OpenSC/bin/pkcs15-tool -D за Mac OS X).

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

За да проверите дали удостоверението ви за електронен подпис работи коректно може да ползвате следната команда - pkcs11-tool -lt или /Library/OpenSC/bin/pkcs11-tool -lt --slot 1 за Mac OS X. Тази команда ще поиска да въведете ПИН-а на картата "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)".