Да, действительно, ключ сгенерировать получается
pkcs11-tool --keypairgen --key-type rsa:2048 --login --label "user" --id 1
Please enter User PIN:
Key pair generated:
Private Key Object; RSA
label: user
ID: 01
Usage: decrypt, sign, unwrap
Public Key Object; RSA 2048 bits
label: user
ID: 01
Usage: encrypt, verify, wrap
Но когда я пытаюсь сгенерировать запрос на сертификат получаю ошибку
openssl req -engine pkcs11 -keyform engine -key 1 -new -text -out newcert.csr -subj "CN=User"
engine "pkcs11" set.
PKCS#11 token PIN:
[opensc-pkcs11] card-rutoken.c:1202:sign_ext: error:80009404:PKCS11 library:PKCS11_rsa_encrypt:Not supported
[opensc-pkcs11] sec.c:53:sc_compute_signature: returning with: Internal error
[opensc-pkcs11] pkcs15-sec.c:273:sc_pkcs15_compute_signature: sc_compute_signature() failed: Internal error
14137:error:8000A005:lib(128):func(10):reason(5):p11_ops.c:97:
14137:error:0D0C3006:lib(13):func(195):reason(6):a_sign.c:276:
т.е. использовать сгенерёный ключ я не могу так как токен не поддерживает rsa?
Пробовал записать существующий сертификат на токен:
pkcs11-tool --write-object usercrt.der --type cert --login --id 1 --label "User VPN"
Please enter User PIN:
error: PKCS11 function C_CreateObject failed: rv = CKR_ATTRIBUTE_VALUE_INVALID (0x13)
В итоге хочется использовать токен для авторизации в OpenVPN, это возможно?
Или единственный вариант собирать openssl/openvpn с поддержкой ГОСТа?