JaCarta/ГОСТ
< JaCarta
Версия от 18:05, 20 февраля 2019; Elena Mishina (обсуждение | вклад) (Новая страница: «{{Stub}} * Токен: JaCarta-2 ГОСТ библиотека libjcPKCS11-2.so.2.4.0 обеспечивает взаимодействие с крип…»)
- Токен: JaCarta-2 ГОСТ
библиотека libjcPKCS11-2.so.2.4.0 обеспечивает взаимодействие с криптопровайдером токена по стандарту PKCS#11; криптопровайдер токена осуществляет функции подписи секретным ключом передаваемых ему данных; секретный ключ при этом не покидает пределов токена;
Установить утилиту для работы с аппаратными токенами Jacarta ГОСТ и библиотеку libjcPKCS11:
# apt-get install jacarta-tools jcPKCS11-2
Генерация пары ключей:
$ pkcs11-tool --module /usr/lib64/pkcs11/libjcPKCS11-2.so.2.4.0 --login --pin 1234567890 --keypairgen --key-type GOSTR3410:A --id 0101 --label "my key"
Using slot 0 with a present token (0x1ffff)
Key pair generated:
Private Key Object; GOSTR3410
PARAMS OID: 06072a850302022301
label: my key
ID: 0101
Usage: sign
Public Key Object; GOSTR3410
PARAMS OID: 06072a850302022301
VALUE: 5c6a95785381c6e97f188b5c1bda5b452984c57846b6439455847b6852078138
0cf4b6e0bae04ce05234e18c608613a839945056875fd3f38fb32ae3130bc705
label: my key
ID: 0101
Usage: verify
Формирование запроса на сертификат:
$ jc_certreq --module /usr/lib64/pkcs11/libjcPKCS11-2.so.2.4.0 --pin 1234567890 -o csr.der -n "CN=Иванов Иван Иванович,C=RU,L=Калининград,street=Пр-т Победы 14 кв.3,emailAddress=ivanov@mail.mail" -x "keyUsage=digitalSignature,nonRepudiation,keyEncipherment,dataEncipherment,keyAgreement;extendedKeyUsage=critical,clientAuth,emailProtection,1.2.643.2.2.34.6,1.2.643.3.7.0.1.12,1.2.643.3.7.8.1;1.2.643.100.111=ASN1:UTF8String:JaCarta-2 GOST"
Trying to load /usr/lib64/pkcs11/libjcPKCS11-2.so.2.4.0
jcPKCS11-2 library initialized.
Applet GOST2 found in slot 131071
Open session: OK
Login: OK
Key 1:
Label: test
ID: 0123
Key 2:
Label: my key
ID: 0101
Key 3:
Label:
ID: 56504b4f5f4944
Please, select public key: 2
Create CSR: OK
Write CSR to file: OK
Запись сертификата на токен:
$ pkcs11-tool --module /usr/lib64/pkcs11/libjcPKCS11-2.so.2.4.0 --pin 1234567890 --write-object ./cert.der --type cert --id 0101
Using slot 0 with a present token (0x1ffff)
Created certificate:
Certificate Object; type = X.509 cert
label:
subject: DN: CN=\xd0\x98\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xbe\xd0\xb2 \xd0\x98\xd0\xb2\xd0\xb0\xd0\xbd \xd0\x98\xd0\xb2\xd0\xb0\xd0\xbd\xd0\xbe\xd0\xb2\xd0\xb8\xd1\x87, C=RU, L=\xD0\xB3. \xD0\x9A\xD0\xB0\xD0\xBB\xD0\xB8\xD0\xBD\xD0\xB8\xD0\xBD\xD0\xB3\xD1\x80\xD0\xB0\xD0\xB4/street=\xd0\x9f\xd1\x80-\xd1\x82 \xd0\x9f\xd0\xbe\xd0\xb1\xd0\xb5\xd0\xb4\xd1\x8b 14 \xD0\xBA\xD0\xB2. 3, emailAddress=ivanov@mail.mail
ID: 0101