diff --git a/dap-sdk/crypto/include/dap_sign.h b/dap-sdk/crypto/include/dap_sign.h
index 9aa808415455bd2a4dc257fffcaff2e8f9e3b4fa..9182a7e10ba067e1c8e91394c99d601df78f3823 100755
--- a/dap-sdk/crypto/include/dap_sign.h
+++ b/dap-sdk/crypto/include/dap_sign.h
@@ -43,13 +43,13 @@ typedef enum {
 } dap_sign_type_enum_t;
 
 typedef union dap_sign_type {
-    dap_sign_type_enum_t type: 16;
-    uint16_t raw;
-} dap_sign_type_t;
+    dap_sign_type_enum_t type: 32;
+    uint32_t raw;
+} DAP_ALIGN_PACKED dap_sign_type_t;
 
 typedef struct dap_sign_hdr {
         dap_sign_type_t type; /// Signature type
-        uint8_t padding[2]; /// Padding for better aligmnent
+        uint16_t padding;
         uint32_t sign_size; /// Signature size
         uint32_t sign_pkey_size; /// Signature serialized public key size
 } DAP_ALIGN_PACKED dap_sign_hdr_t;
diff --git a/dap-sdk/crypto/src/dap_cert.c b/dap-sdk/crypto/src/dap_cert.c
index b9bc42688635fe060bd631c36eb9c7d60f9a03d0..f5ac35d17cf525b846ceaa7d2d83add4f82cb4b5 100755
--- a/dap-sdk/crypto/src/dap_cert.c
+++ b/dap-sdk/crypto/src/dap_cert.c
@@ -169,8 +169,7 @@ size_t dap_cert_sign_output_size(dap_cert_t * a_cert, size_t a_size_wished)
 dap_sign_t * dap_cert_sign(dap_cert_t * a_cert, const void * a_data
                                        , size_t a_data_size, size_t a_output_size_wished )
 {
-    dap_enc_key_t * l_key = a_cert->enc_key;
-    dap_sign_t *l_ret = dap_sign_create(l_key, a_data, a_data_size, a_output_size_wished);
+    dap_sign_t *l_ret = dap_sign_create(a_cert->enc_key, a_data, a_data_size, a_output_size_wished);
     return l_ret;
 }