キー生成サービスを使用して ED25519 キー ペアを生成することができ、後でキー エクスポート サービスを使用して公開キーをエクスポートできるようにしたいと考えています。しかし、公開キーをエクスポートしようとすると、HSE は HSE_SRV_RSP_NOT_ALLOWED を返します。
キーを生成するときは、次のパラメータを使用します。
サービスID: HSE_SRV_ID_KEY_GENERATE
ターゲットキーハンドル = key_handle;
キー情報:
キーフラグ = HSE_KF_USAGE_SIGN | HSE_KF_USAGE_VERIFY | HSE_KF_ACCESS_EXPORTABLE
キービット長 = HSE_KEY256_BITS
キーカウンタ = 0
smrFlags = 0
キータイプ = HSE_KEY_TYPE_ECC_PAIR
特定のeccCurveId = HSE_EC_25519_ED25519
keyGenScheme = HSE_KEY_GEN_ECC_KEY_PAIR
sch.eccKey.pPubKey = (HOST_ADDR)pub_key_output_ptr;
キーをエクスポートすると次のようになります。
ありがとう、Lukas。HSE_INVALID_KEY_HANDLEの設定を忘れていました。
ヘッダー ファイルには次のように記載されています:使用されていない場合は #HSE_INVALID_KEY_HANDLE に設定する必要があります。
こんにちは@MHan
これらのパラメータには何の問題も見当たりません。公開 ECC キーはプレーンテキストでエクスポートされ、認証されていないため、cipherKeyHandle と authKeyHandle を HSE_INVALID_KEY_HANDLE (0xFFFFFFFF) として構成しましたか?これらのキー ハンドルに HSE_INVALID_KEY_HANDLE を設定すると、認証および暗号化パラメータが無視されます。
また、キャッシュの問題ではないことを確認するために、データ キャッシュを無効にしてみてください。
よろしくお願いいたします。
ルーカス