diff --git a/src/dap_sign.c b/src/dap_sign.c
index 102e72a18296cc8d4c60bbb63664a617ed2c2725..75524217e8aff1adc4e291a6f569c23bb097ec8d 100755
--- a/src/dap_sign.c
+++ b/src/dap_sign.c
@@ -107,6 +107,8 @@ const char * dap_sign_type_to_str(dap_sign_type_t a_chain_sign_type)
         case SIG_TYPE_TESLA: return "sig_tesla";
         case SIG_TYPE_PICNIC: return "sig_picnic";
         case SIG_TYPE_DILITHIUM: return "sig_dil";
+        case SIG_TYPE_MULTI_COMBINED: return "sig_multi2";
+        case SIG_TYPE_MULTI_CHAINED: return "sig_multi";
         default: return "UNDEFINED";//DAP_ENC_KEY_TYPE_NULL;
     }
 
@@ -148,6 +150,10 @@ dap_sign_type_t dap_sign_type_from_str(const char * a_type_str)
         l_sign_type.type = SIG_TYPE_PICNIC;
     }else if ( dap_strcmp (a_type_str,"sig_dil") == 0){
         l_sign_type.type = SIG_TYPE_DILITHIUM;
+    }else if ( dap_strcmp (a_type_str,"sig_multi") == 0){
+        l_sign_type.type = SIG_TYPE_MULTI_CHAINED;
+    }else if ( dap_strcmp (a_type_str,"sig_multi2") == 0){
+        l_sign_type.type = SIG_TYPE_MULTI_COMBINED;
     }else{
         log_it(L_WARNING, "Wrong sign type string \"%s\"", a_type_str ? a_type_str : "(null)");
     }
@@ -178,7 +184,6 @@ static int dap_sign_create_output(dap_enc_key_t *a_key, const void * a_data, con
             a_key->enc_na(a_key, a_data, a_data_size, a_output, *a_output_size);
             return (*a_output_size > 0) ? 0 : -1;
 
-
         case DAP_ENC_KEY_TYPE_SIG_BLISS:
             return (dap_enc_sig_bliss_get_sign(a_key, a_data, a_data_size, a_output, *a_output_size) == BLISS_B_NO_ERROR)
                    ? 0 : -1;