私はhsm_do_cipherやhsm_cipher_one_goのようなものを使用して、AES 256で少量のデータ(32バイト)を暗号化しようとしています。
hsm_do_cipher試してみると、ハンドルが悪いというエラーが出ます。hsm_cipher_one_goを使用すると、不正なパラメータエラーが発生します。
私はこのコードを使用してテストを作成しようとしました:
https://github.com/nxp-imx/imx-secure-enclave/blob/1130c8bb820881ad037ba3f060e7fa70635fae3c/test/hsm...
hsm_cipher_one_goから次のエラーが発生します。
SAB Error: SAB CMD [0x62] Resp [0x429] - MU sanity check failed / Invalid parameters.
aesencrypt: aesencrypt.c:164: hsm_do_cipher failed, err=0x4パラメータの何が問題なのかを判断する方法はありますか?別のプログラムでキーを作成してもエラーは見つかりません。ファイルは /etc/ele の下に作成されます。
これがcipher_argsを設定する私のコードです:
memset(&cipher_args,0,sizeof cipher_args);
cipher_args.key_identifier = KEYID;
cipher_args.iv = SM2_IDENTIFIER;
cipher_args.iv_size = sizeof(SM2_IDENTIFIER);
cipher_args.flags = HSM_CIPHER_ONE_GO_FLAGS_ENCRYPT;
cipher_args.cipher_algo = HSM_CIPHER_ONE_GO_ALGO_ECB;
cipher_args.input = sp;
cipher_args.input_size = slength;
cipher_args.output = od;
cipher_args.output_size = slength;