diff --git a/crypto/include/dap_sign.h b/crypto/include/dap_sign.h
index cf620bc2b43c53093abb4bb617593e2122eb4d95..3f2b524ebfe84aa80da383e7723063dc71e52553 100755
--- a/crypto/include/dap_sign.h
+++ b/crypto/include/dap_sign.h
@@ -123,6 +123,14 @@ static inline int dap_sign_verify_all(dap_sign_t * a_sign, const size_t a_sign_s
     }
     return 0;
 }
+
+/**
+ * @brief
+ * @return
+ */
+DAP_STATIC_INLINE const char *dap_sign_get_str_recommended_types(){
+    return "sig_dil\nsig_falcon\nsig_sphincs\nsig_shipovnik\nsig_multi_chained\n";
+}
 // Create sign of data hash with key provided algorythm of signing and hashing (independently)
 dap_sign_t * dap_sign_create(dap_enc_key_t *a_key, const void * a_data, const size_t a_data_size, size_t a_output_wish_size );
 //Create sign on raw data without hashing. Singing algorythm is key provided
@@ -143,6 +151,7 @@ bool dap_sign_compare_pkeys(dap_sign_t *l_sign1, dap_sign_t *l_sign2);
 dap_enc_key_t *dap_sign_to_enc_key(dap_sign_t * a_chain_sign);
 const char * dap_sign_type_to_str(dap_sign_type_t a_chain_sign_type);
 dap_sign_type_t dap_sign_type_from_str(const char * a_type_str);
+bool dap_sign_type_is_depricated(dap_sign_type_t a_sign_type);
 dap_sign_t **dap_sign_get_unique_signs(void *a_data, size_t a_data_size, size_t *a_signs_count);
 
 void dap_sign_get_information(dap_sign_t *a_sign, dap_string_t *a_str_out, const char *a_hash_out_type);
diff --git a/crypto/src/dap_cert_file.c b/crypto/src/dap_cert_file.c
index a7df1ee9c1ea8ded82217e18d999daed7d90b988..417ad0681c8b8aeba64207e4d0a53cc3b9d8c481 100755
--- a/crypto/src/dap_cert_file.c
+++ b/crypto/src/dap_cert_file.c
@@ -64,6 +64,7 @@ int dap_cert_file_save(dap_cert_t * a_cert, const char * a_cert_file_path)
         }else{
             log_it(L_ERROR,"Can't serialize certificate in memory");
             fclose(l_file);
+            remove(a_cert_file_path);
             return -4;
         }
     }else{
diff --git a/crypto/src/dap_sign.c b/crypto/src/dap_sign.c
index e4599c19e7f9b934dbd40fc37f2d98e430e195db..92a09e7232775a6936c27f2f73f2ecc5c0f36f90 100755
--- a/crypto/src/dap_sign.c
+++ b/crypto/src/dap_sign.c
@@ -168,6 +168,17 @@ dap_sign_type_t dap_sign_type_from_str(const char * a_type_str)
     return l_sign_type;
 }
 
+/**
+ * @brief The function checks the signature type to see if it is outdated.
+ * @param a_sign_type
+ * @return bool
+ */
+bool dap_sign_type_is_depricated(dap_sign_type_t a_sign_type){
+    if (a_sign_type.type == SIG_TYPE_PICNIC || a_sign_type.type == SIG_TYPE_BLISS || a_sign_type.type == SIG_TYPE_TESLA)
+        return true;
+    return false;
+}
+
 /**
  * @brief encrypt data
  * call a_key->sign_get