@@ -4739,14 +4739,17 @@ static int wp11_Object_Encode(WP11_Object* object, int protect)
47394739{
47404740 int ret ;
47414741
4742+ int is_plain_class ;
4743+
47424744#ifdef WOLFPKCS11_NSS
4743- if ((object -> objClass == CKO_CERTIFICATE ) ||
4744- (object -> objClass == CKO_NSS_TRUST ))
4745+ is_plain_class = (object -> objClass == CKO_CERTIFICATE ) ||
4746+ (object -> objClass == CKO_NSS_TRUST ) ||
4747+ (object -> objClass == CKO_DATA );
47454748#else
4746- if (object -> objClass == CKO_CERTIFICATE )
4749+ is_plain_class = (object -> objClass == CKO_CERTIFICATE ) ||
4750+ (object -> objClass == CKO_DATA );
47474751#endif
4748- ret = 0 ;
4749- else if (object -> objClass == CKO_DATA ) {
4752+ if (is_plain_class ) {
47504753 ret = 0 ;
47514754 }
47524755 else {
@@ -8957,15 +8960,14 @@ int WP11_Object_GetAttr(WP11_Object* object, CK_ATTRIBUTE_TYPE type, byte* data,
89578960 ret = NOT_AVAILABLE_E ;
89588961#endif
89598962 }
8960- else if (object -> objClass == CKO_SECRET_KEY ) {
89618963#ifdef HAVE_AESECB
8964+ else if (object -> objClass == CKO_SECRET_KEY ) {
89628965 ret = GetEcbCheckValue (object , data , len );
8963- #else
8964- ret = NOT_AVAILABLE_E ;
8965- #endif
89668966 }
8967- else
8967+ #endif
8968+ else {
89688969 ret = NOT_AVAILABLE_E ;
8970+ }
89698971 break ;
89708972
89718973 default :
@@ -9298,11 +9300,9 @@ int WP11_Object_SetAttr(WP11_Object* object, CK_ATTRIBUTE_TYPE type, byte* data,
92989300 }
92999301 break ;
93009302 case CKA_VALUE :
9301- if (object -> objClass == CKO_CERTIFICATE ) {
9302- break ; /* Handled in WP11_Object_SetCert */
9303- }
9304- else if (object -> objClass == CKO_DATA ) {
9305- break ; /* Handled in WP11_Object_SetDataObject */
9303+ if ((object -> objClass == CKO_CERTIFICATE ) ||
9304+ (object -> objClass == CKO_DATA )) {
9305+ break ; /* Handled in WP11_Object_SetCert/DataObject */
93069306 }
93079307 switch (object -> type ) {
93089308#ifdef HAVE_ECC
@@ -9325,18 +9325,8 @@ int WP11_Object_SetAttr(WP11_Object* object, CK_ATTRIBUTE_TYPE type, byte* data,
93259325 }
93269326 break ;
93279327 case CKA_APPLICATION :
9328- if (object -> objClass == CKO_DATA ) {
9329- /* Handled in WP11_Object_DataObject */
9330- }
9331- else {
9332- ret = BAD_FUNC_ARG ;
9333- }
9334- break ;
93359328 case CKA_OBJECT_ID :
9336- if (object -> objClass == CKO_DATA ) {
9337- /* Handled in WP11_Object_DataObject */
9338- }
9339- else {
9329+ if (object -> objClass != CKO_DATA ) {
93409330 ret = BAD_FUNC_ARG ;
93419331 }
93429332 break ;
0 commit comments