Add asn1 write tag and len to x509 use c config

Signed-off-by: Agathiyan Bragadeesh <agathiyan.bragadeesh2@arm.com>
diff --git a/include/mbedtls/asn1write.h b/include/mbedtls/asn1write.h
index 3c5072c..6fe57c8 100644
--- a/include/mbedtls/asn1write.h
+++ b/include/mbedtls/asn1write.h
@@ -48,6 +48,7 @@
 extern "C" {
 #endif
 
+#if defined(MBEDTLS_ASN1_WRITE_C) || defined(MBEDTLS_X509_USE_C)
 /**
  * \brief           Write a length field in ASN.1 format.
  *
@@ -76,7 +77,9 @@
  */
 int mbedtls_asn1_write_tag(unsigned char **p, const unsigned char *start,
                            unsigned char tag);
+#endif /* MBEDTLS_ASN1_WRITE_C || MBEDTLS_X509_USE_C */
 
+#if defined(MBEDTLS_ASN1_WRITE_C)
 /**
  * \brief           Write raw buffer data.
  *
@@ -393,4 +396,6 @@
 }
 #endif
 
+#endif /* MBEDTLS_ASN1_WRITE_C */
+
 #endif /* MBEDTLS_ASN1_WRITE_H */
diff --git a/library/asn1write.c b/library/asn1write.c
index c65d937..4123ac3 100644
--- a/library/asn1write.c
+++ b/library/asn1write.c
@@ -19,7 +19,7 @@
 
 #include "common.h"
 
-#if defined(MBEDTLS_ASN1_WRITE_C)
+#if defined(MBEDTLS_ASN1_WRITE_C) || defined(MBEDTLS_X509_USE_C)
 
 #include "mbedtls/asn1write.h"
 #include "mbedtls/error.h"
@@ -102,7 +102,9 @@
 
     return 1;
 }
+#endif /* MBEDTLS_ASN1_WRITE_C || MBEDTLS_X509_USE_C */
 
+#if defined(MBEDTLS_ASN1_WRITE_C)
 int mbedtls_asn1_write_raw_buffer(unsigned char **p, const unsigned char *start,
                                   const unsigned char *buf, size_t size)
 {
diff --git a/library/x509.c b/library/x509.c
index 40da61d..c1d6bd4 100644
--- a/library/x509.c
+++ b/library/x509.c
@@ -43,9 +43,7 @@
 #include "mbedtls/pem.h"
 #endif
 
-#if defined(MBEDTLS_ASN1_WRITE_C)
 #include "mbedtls/asn1write.h"
-#endif
 
 #include "mbedtls/platform.h"
 
@@ -874,7 +872,6 @@
         MBEDTLS_X509_SAFE_SNPRINTF;
 
         if (print_hexstring) {
-#if defined(MBEDTLS_ASN1_WRITE_C)
             s[0] = '#';
 
             asn1_len_p = asn1_tag_len_buf + 10;
@@ -907,9 +904,6 @@
                 s[j++] = nibble_to_hex_digit(highbits);
                 s[j++] = nibble_to_hex_digit(lowbits);
             }
-#else
-            return MBEDTLS_ERR_X509_FEATURE_UNAVAILABLE;
-#endif
         } else {
             for (i = 0, j = 0; i < name->val.len; i++, j++) {
                 if (j >= sizeof(s) - 1) {