Re: SSH Auth

Виктор Ткаченко пишет:
Shef пишет:
Виктор Ткаченко пишет:

Полагаю надо таки заставить pkcs15-tool опознать токен.

1. Какой у вас токен?
2. Что у вас за версия opensc (opensc-tool -i)?

1. Rutoken ЭЦП Flash
2. a.  opensc 0.12.2 - unsupported card
2. b. opensc 0.11.13 - Card not present

Для opensc 0.12.2.

В  файле /etc/opensc/opensc.conf обычно содержится конфиг opensc.
В нем имеется опция profile_dir. Есть у вас по указанному в ней пути файлы с расширением .profile, в частности rutoken_ecp.profile?

Запускается под Windows 7 (64). Пути с профилями есть.
Однако opensc.conf дефолтный, то есть всё за # в том числе и profile_dir

Re: SSH Auth

Shef пишет:
Виктор Ткаченко пишет:
Shef пишет:

1. Rutoken ЭЦП Flash
2. a.  opensc 0.12.2 - unsupported card
2. b. opensc 0.11.13 - Card not present

Для opensc 0.12.2.

В  файле /etc/opensc/opensc.conf обычно содержится конфиг opensc.
В нем имеется опция profile_dir. Есть у вас по указанному в ней пути файлы с расширением .profile, в частности rutoken_ecp.profile?

Запускается под Windows 7 (64). Пути с профилями есть.
Однако opensc.conf дефолтный, то есть всё за # в том числе и profile_dir


А что говорит команда
opensc-tool -l?

А
pkcs15-init -E?

Re: SSH Auth

Виктор Ткаченко пишет:

opensc-tool -l

c:\Program Files\OpenSC Project\OpenSC\tools>opensc-tool.exe -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Aktiv Co. ruToken 0
1    Yes             Aktiv Co. ruToken 1
2    Yes             Aktiv Co. ruToken 2
3    Yes             Aktiv Rutoken ECP 0

Виктор Ткаченко пишет:

pkcs15-init -E

c:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-init -E
Using reader with a card: Aktiv Co. ruToken 0
Failed to connect to card: Card not present

Re: SSH Auth

Shef пишет:
Виктор Ткаченко пишет:

opensc-tool -l

c:\Program Files\OpenSC Project\OpenSC\tools>opensc-tool.exe -l
# Detected readers (pcsc)
Nr.  Card  Features  Name
0    Yes             Aktiv Co. ruToken 0
1    Yes             Aktiv Co. ruToken 1
2    Yes             Aktiv Co. ruToken 2
3    Yes             Aktiv Rutoken ECP 0

Виктор Ткаченко пишет:

pkcs15-init -E

c:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-init -E
Using reader with a card: Aktiv Co. ruToken 0
Failed to connect to card: Card not present

А если так сказать?

pkcs15-init.exe --erase-card -r "Aktiv Rutoken ECP 0"

Re: SSH Auth

Виктор Ткаченко пишет:

А если так сказать?

Заново инициализировал:


pkcs15-init.exe --erase-card -r "Aktiv Rutoken ECP 0"
pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk "" -r "Aktiv Rutoken ECP 0"
pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk ""  --so-pin "87654321" --finalize -r "Aktiv Rutoken ECP 0"

в XCA установил opensc-pkcs11.dll (она лежит в System32) — нет такого
Указал C:\Windows\System32\rtPKCS11ECP.dll

С помощью XCA создал ключ на токене и сертификат для этого ключа. При создании сертификата в поле "Внутренне имя" и "Common Name" я ввел одно и то же. При сохранении сертификата на токен XCA интерпретирует его как label сертификата.

посмотрел свойства ключа (щелкнул по нему мышью). Запомнил ID.

сказал
c:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-tool.exe --read-ssh-key 8C293F8E8B10D0A3 --reader "Aktiv Rutoken ECP 0">key.ssh
Получил
Public key with ID '8C293F8E8B10D0A3' not found.

(2012-05-23 14:58:17 отредактировано Shef)

Re: SSH Auth

инициализировал:

pkcs15-init.exe --erase-card -r "Aktiv Rutoken ECP 0"
pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk "" -r "Aktiv Rutoken ECP 0"
pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk ""  --so-pin "87654321" --finalize -r "Aktiv Rutoken ECP 0"

В панели управления Рутокен отформатировал токен

в XCA установил opensc-pkcs11.dll (она лежит в System32) — нет такого
Указал C:\Windows\System32\rtPKCS11ECP.dll

С помощью XCA создал ключ на токене и сертификат для этого ключа. При создании сертификата в поле "Внутренне имя" и "Common Name" я ввел одно и то же. При сохранении сертификата на токен XCA интерпретирует его как label сертификата.

посмотрел свойства ключа (щелкнул по нему мышью). Запомнил ID.

сказал
c:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-tool.exe --read-ssh-key E9948C87D4C52004 --reader "Aktiv Rutoken ECP 0"
получил
PKCS#15 binding failed: Unsupported card

Re: SSH Auth

Shef пишет:
Виктор Ткаченко пишет:

А если так сказать?

Заново инициализировал:


pkcs15-init.exe --erase-card -r "Aktiv Rutoken ECP 0"
pkcs15-init --create-pkcs15 --so-pin "87654321" --so-puk "" -r "Aktiv Rutoken ECP 0"
pkcs15-init --store-pin --label "User PIN" --auth-id 02 --pin "12345678" --puk ""  --so-pin "87654321" --finalize -r "Aktiv Rutoken ECP 0"

в XCA установил opensc-pkcs11.dll (она лежит в System32) — нет такого
Указал C:\Windows\System32\rtPKCS11ECP.dll

С помощью XCA создал ключ на токене и сертификат для этого ключа. При создании сертификата в поле "Внутренне имя" и "Common Name" я ввел одно и то же. При сохранении сертификата на токен XCA интерпретирует его как label сертификата.

посмотрел свойства ключа (щелкнул по нему мышью). Запомнил ID.

сказал
c:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-tool.exe --read-ssh-key 8C293F8E8B10D0A3 --reader "Aktiv Rutoken ECP 0">key.ssh
Получил
Public key with ID '8C293F8E8B10D0A3' not found.

Для того, чтобы XCA заработал c opensc-pkcs11.dll - снесите драйвера Рутокен. И уберите rtPKCS11ECP.dll из настроек XCA, а верните opensc-pkcs11.dll.

Re: SSH Auth

Виктор Ткаченко пишет:

верните opensc-pkcs11.dll

Внимание произошла ошибка:
Failed to open PKCS11 library: C:/var/distr/opensc-pkcs11.dll

XCA упорно не хочет работать с этой библиотекой и при поиске в system32 даже не предлагает её как вариант для работы, а вот rtPKCS11ECP.dll считается нормальной библиотекой. Даже галочкой зелёной помечается.
Сносить драйвера Рутокен и упорно подсовывать opensc-pkcs11.dll есть смысл?

Re: SSH Auth

А у меня все работает на Windows 7 x64 :)

opensc 0.12.2 ставилось инсталлятором, скачанным с сайта opensc (для x86). Может быть у вас установлен opensc x64, а XCA x86?

Какая версия XCA? Нужно вернуться к opensc, потому что pkcs15-tool не найдет ключа, сделанного через rtPKCS11ECP.dll.

Re: SSH Auth

Проверил на другом компьютере — Windows XP (32). Схема работает.
Похоже, что действительно XCA версии для x86, упоминаний про 64-битную версию нет, а opensc на «семёрке» стоит x64.
Итак,
XCA версия 0.9.3 (http://sourceforge.net/projects/xca/)

Версия OpenSC — 0.12.2 (http://www.opensc-project.org/opensc)
Ссылка — http://www.opensc-project.org/files/ope … -win32.msi

C:\Program Files\OpenSC Project\OpenSC\tools>opensc-tool.exe -i
opensc 0.12.2 [Microsoft 1600]
Enabled features:pcsc openssl zlib


Кстати, ID можно посмотреть
C:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-tool.exe --list-public-keys --reader "Aktiv Rutoken ECP 1"
Public RSA Key [stks-ssh]
        Object Flags   : [0x2], modifiable
        Usage          : [0x4], sign
        Access Flags   : [0x0]
        ModLength      : 1024
        Key ref        : 0
        Native         : no
        Path           : 3f0050000200
        Auth ID        : 02
        ID             : 30f844ecbbd8a1b0


C:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-tool.exe --list-keys --reader "Aktiv Rutoken ECP 1"
Private RSA Key [stks-ssh]
        Object Flags   : [0x3], private, modifiable
        Usage          : [0x26], decrypt, sign, unwrap
        Access Flags   : [0x0]
        ModLength      : 1024
        Key ref        : 1 (0x1)
        Native         : yes
        Path           : 3f001000100060020001
        Auth ID        : 02
        ID             : 30f844ecbbd8a1b0
        GUID           : {30f844ec-bbd8-a1b0-0000-00002c828283}


Параметры для --reader получаем так:
C:\Program Files\OpenSC Project\OpenSC\tools>opensc-tool.exe -l
Пин (у меня по умолчанию) — 12345678
В выводе команды надо указывать пин, иначе она зависает (ожидает ввода пина)
C:\Program Files\OpenSC Project\OpenSC\tools>pkcs15-tool.exe --read-ssh-key 30f844ecbbd8a1b0 --reader "Aktiv Rutoken ECP 1" --pin 12345678>ssh.key

Ключ выгрузился из токена в файл.