Change-Id: I3229f0d5922804ce0c0d56aa2c44b61f3f679fd4
}
alg_class = TEE_OPERATION_ASYMMETRIC_CIPHER;
}
alg_class = TEE_OPERATION_ASYMMETRIC_CIPHER;
- key_object_type = TEE_TYPE_RSA_KEYPAIR;
+ if (mode == TEE_MODE_ENCRYPT)
+ key_object_type = TEE_TYPE_RSA_PUBLIC_KEY;
+ else
+ key_object_type = TEE_TYPE_RSA_KEYPAIR;
break;
/* Algorithm Class is SIGNATURE */
break;
/* Algorithm Class is SIGNATURE */
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
- key_object_type = TEE_TYPE_RSA_KEYPAIR;
+ if (mode == TEE_MODE_SIGN)
+ key_object_type = TEE_TYPE_RSA_KEYPAIR;
+ else
+ key_object_type = TEE_TYPE_RSA_PUBLIC_KEY;
break;
case TEE_ALG_ECDSA_P160:
break;
case TEE_ALG_ECDSA_P160:
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
- key_object_type = TEE_TYPE_RSA_KEYPAIR;
+ if (mode == TEE_MODE_SIGN)
+ key_object_type = TEE_TYPE_ECDSA_KEYPAIR;
+ else
+ key_object_type = TEE_TYPE_ECDSA_PUBLIC_KEY;
break;
case TEE_ALG_DSA_SHA1:
break;
case TEE_ALG_DSA_SHA1:
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
- key_object_type = TEE_TYPE_DSA_KEYPAIR;
+ if (mode == TEE_MODE_SIGN)
+ key_object_type = TEE_TYPE_DSA_KEYPAIR;
+ else
+ key_object_type = TEE_TYPE_DSA_PUBLIC_KEY;
break;
case TEE_ALG_ECDH_P192:
break;
case TEE_ALG_ECDH_P192:
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
}
alg_class = TEE_OPERATION_ASYMMETRIC_SIGNATURE;
- key_object_type = TEE_TYPE_ECDH_KEYPAIR;
+ if (mode == TEE_MODE_SIGN)
+ key_object_type = TEE_TYPE_ECDH_KEYPAIR;
+ else
+ key_object_type = TEE_TYPE_ECDH_KEYPAIR;
break;
/* Algorithm Class is KEY DERIVATION */
break;
/* Algorithm Class is KEY DERIVATION */