Я борюсь здесь с чем-то, что должно быть простым.
Все, что я пытаюсь сделать, это получить ключ, используя ECDH.
Я использую OpenSSL 1.1.0i-fips
на openSuSE LEAP 15
.
sudo pkcs11-tool -l --id 30 --derive --input-file /home/foo/tmp/y.der -m ECDH1-DERIVE --output-file /home/foo/tmp/foo
Using slot 0 with a present token (0x0)
Logging in to "UserPIN (SmartCard-HSM)".
Please enter User PIN:
Using derive algorithm 0x00001050 ECDH1-DERIVE
error: PKCS11 function C_DeriveKey failed: rv = CKR_ARGUMENTS_BAD (0x7)
Aborting.
sudo pkcs15-tool --dump
Private EC Key [foobar]
Object Flags : [0x3], private, modifiable
Usage : [0x10C], sign, signRecover, derive
Access Flags : [0x1D], sensitive, alwaysSensitive, neverExtract, local
FieldLength : 512
Key ref : 5 (0x5)
Native : yes
Auth ID : 01
ID : 30
MD:guid : <REMOVED FOR SECURITY>
openssl ec -in /home/foo/tmp/y.der -pubin -inform der -text -noout
read EC key
Public-Key: (512 bit)
pub:
04:9b:1a:36:f4:a7:6d:f8:fe:7b:af:b3:24:76:d4:
60:49:08:5b:cd:d8:35:bf:49:de:f1:b6:57:17:1d:
1b:e0:07:8e:e8:09:d9:df:e7:80:41:b9:c2:1f:4c:
03:4f:2f:54:92:dd:a9:c1:7b:08:5d:3a:dd:3a:e0:
a7:27:9f:78:91:9e:cc:d5:08:d8:03:6e:a5:ad:e0:
45:9f:17:c3:7e:69:01:4e:73:ba:2a:3a:69:bb:da:
82:bd:f7:f1:8b:19:86:dc:48:1f:fa:ed:78:0f:a7:
92:64:ac:72:39:62:ba:d2:f3:90:53:da:17:dc:4d:
11:69:9a:f2:08:88:be:a4:c5
ASN1 OID: brainpoolP512r1
Ключ был создан с помощью:
pkcs11-tool --login --keypairgen --key-type EC:brainpoolP512r1 --id 30 --label foobar --usage-sign --usage-decrypt --usage-derive