утилита rutoken-tool и шифрование

При установке пакета opensc установилась утилита rutoken-tool решил с её помощью попробовать чтото зашифровать, использовал следующим образом:
         rutoken-tool -e -k1 -i ./test.txt -o ./test.txt.enc -p "12345678" -v
и получил ошибку:
Using card driver Rutoken driver.                                                                     
[rutoken-tool] reader-openct.c:410:openct_reader_lock: called                                         
[rutoken-tool] card-rutoken.c:633:rutoken_verify: called                                             
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0                                 
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0                                 
[rutoken-tool] card-rutoken.c:668:rutoken_verify: returning with: 0                                   
[rutoken-tool] card-rutoken.c:1383:rutoken_get_challenge: called                                     
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0                                 
[rutoken-tool] card-rutoken.c:1402:rutoken_get_challenge: returning with: 0                           
[rutoken-tool] card-rutoken.c:761:rutoken_set_security_env: called                                   
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0                                 
[rutoken-tool] card-rutoken.c:802:rutoken_set_security_env: returning with: 0
[rutoken-tool] card-rutoken.c:1462:rutoken_card_ctl: called
[rutoken-tool] card-rutoken.c:974:rutoken_cipher_p: : crgram_len 1637174; outlen 1637174
[rutoken-tool] card-rutoken.c:979:rutoken_cipher_p: returning with: Wrong length
[rutoken-tool] card-rutoken.c:1514:rutoken_card_ctl: returning with: Wrong length
[rutoken-tool] card.c:678:sc_card_ctl: returning with: Wrong length
Error: Cipher failed: Wrong length

Ключи предварительно были сгенерированы.
Собственно вопрос это проблема утилиты, токена или я не правильно её применяю.

Re: утилита rutoken-tool и шифрование

Здравствуйте!

Вы все делаете правильно. Ошибка возникает потому, что длина зашифровываемого сообщения, согласно стандарту ГОСТ 28147—89, должна быть кратна 8 байтам. Проверьте, пожалуйста, длину файла "test.txt".

ls -l file.txt
-rw- r-- r-- l test users 16 sep 22 10:12 file.txt

правильно (16)

-rw- r-- r-- l test users 17 sep 22 10:12 file.txt

неправильно (17)

В ближайшем будущем шифрование по алгоритму ГОСТ 28147—89 в токенах Рутокен будет поддерживаться не rutoken-tool, а стандартными утилитами opensc.

Спасибо.

Re: утилита rutoken-tool и шифрование

Будем надеяться на будущее, а в настоящем имеем следующее:
создал файл размером 16 байт
ls -l ./test.txt

-rw-rw-r-- 1 eee eee 16 Сен 22 11:02 ./test.txt

запускаю утилиту rutoken-tool

rutoken-tool -e -k1 -i ./test.txt -o ./test.txt.enc -p "12345678" -v

и снова неудча, правда ошибка уже другая.

Using card driver Rutoken driver.
[rutoken-tool] reader-openct.c:410:openct_reader_lock: called
[rutoken-tool] card-rutoken.c:633:rutoken_verify: called
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0
[rutoken-tool] card-rutoken.c:668:rutoken_verify: returning with: 0
[rutoken-tool] card-rutoken.c:1383:rutoken_get_challenge: called
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0
[rutoken-tool] card-rutoken.c:1402:rutoken_get_challenge: returning with: 0
[rutoken-tool] card-rutoken.c:761:rutoken_set_security_env: called
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 90, sw2 = 0
[rutoken-tool] card-rutoken.c:802:rutoken_set_security_env: returning with: 0
[rutoken-tool] card-rutoken.c:1462:rutoken_card_ctl: called
[rutoken-tool] card-rutoken.c:974:rutoken_cipher_p: : crgram_len 24; outlen 24
[rutoken-tool] card-rutoken.c:240:rutoken_check_sw: File (DO) not found
[rutoken-tool] card-rutoken.c:241:rutoken_check_sw: sw1 = 6a, sw2 = 82
[rutoken-tool] card-rutoken.c:1017:rutoken_cipher_p: len out cipher 0
[rutoken-tool] card-rutoken.c:1020:rutoken_cipher_p: returning with: File not found
[rutoken-tool] card-rutoken.c:1514:rutoken_card_ctl: returning with: File not found
[rutoken-tool] card.c:678:sc_card_ctl: returning with: File not found
Error: Cipher failed: File not found

Какого файла не хватает.
Как я понл ГОСТ 28147—89  это единственный алгоритм который поддерживаетс в токене на аппаратном уровне.
На всякий случай информация о токене

rutoken-tool -s

Type: 0
Version: 2.0
Memory: 128 Kb
Protocol version: 2
Software version: 20
Order: 0
Serial number: 26F47055

Re: утилита rutoken-tool и шифрование

Здравствуйте!

У вас не хватает файла, в котором хранится ключ шифрования.
Возможно, вы удалили его при форматировании. Попробуйте сгенерировать его.

#rutoken-tool -g -k 1 -p "12345678"

Re: утилита rutoken-tool и шифрование

Cпасибо за помощь всё получилось.
Действительно наверное после форматирования забыл заново сгенерировать ключ, повторная генерация решила проблему. И кстати длина файла должна быть кратна 8 байтам, как я понял это связяно с размером блока в 64 бита для алгоритма
ГОСТ.

Re: утилита rutoken-tool и шифрование

Спасибо, действительно, 8 байт. Исправлю выше.