diff --git a/dap-sdk/crypto/src/dap_sign.c b/dap-sdk/crypto/src/dap_sign.c
index 11c17df04a832f4b0061010aa63f77b2cef8c663..5d798691e5e1bbf9dfd7e7f71c30a1f0b7ad4f22 100755
--- a/dap-sdk/crypto/src/dap_sign.c
+++ b/dap-sdk/crypto/src/dap_sign.c
@@ -317,10 +317,12 @@ bool dap_sign_get_pkey_hash(dap_sign_t *a_sign, dap_chain_hash_fast_t * a_sign_h
 
 bool dap_sign_verify_size(dap_sign_t *a_sign, size_t a_max_key_size)
 {
-    if (a_sign->header.sign_pkey_size > a_sign->header.sign_size)
-        return false;
     if (a_sign->header.sign_pkey_size > a_max_key_size)
         return false;
+    if (a_sign->header.sign_size > a_max_key_size)
+        return false;
+    if (a_sign->header.sign_pkey_size > a_sign->header.sign_size)
+        return false;
     return true;
 }