x509: remove direct dependency from BIGNUM_C
Signed-off-by: Valerio Setti <vsetti@baylibre.com>
diff --git a/programs/x509/cert_write.c b/programs/x509/cert_write.c
index 3e134dd..363ed8d 100644
--- a/programs/x509/cert_write.c
+++ b/programs/x509/cert_write.c
@@ -514,12 +514,14 @@
mbedtls_printf(" . Reading serial number...");
fflush(stdout);
+#if defined(MBEDTLS_BIGNUM_C)
if ((ret = mbedtls_mpi_read_string(&serial, 10, opt.serial)) != 0) {
mbedtls_strerror(ret, buf, sizeof(buf));
mbedtls_printf(" failed\n ! mbedtls_mpi_read_string "
"returned -0x%04x - %s\n\n", (unsigned int) -ret, buf);
goto exit;
}
+#endif
mbedtls_printf(" ok\n");
@@ -661,6 +663,7 @@
mbedtls_x509write_crt_set_version(&crt, opt.version);
mbedtls_x509write_crt_set_md_alg(&crt, opt.md);
+#if defined(MBEDTLS_BIGNUM_C)
ret = mbedtls_x509write_crt_set_serial(&crt, &serial);
if (ret != 0) {
mbedtls_strerror(ret, buf, sizeof(buf));
@@ -668,6 +671,16 @@
"returned -0x%04x - %s\n\n", (unsigned int) -ret, buf);
goto exit;
}
+#else
+ ret = mbedtls_x509write_crt_set_serial_new(&crt, opt.serial,
+ strlen(opt.serial));
+ if (ret != 0) {
+ mbedtls_strerror(ret, buf, sizeof(buf));
+ mbedtls_printf(" failed\n ! mbedtls_x509write_crt_set_serial_new "
+ "returned -0x%04x - %s\n\n", (unsigned int) -ret, buf);
+ goto exit;
+ }
+#endif
ret = mbedtls_x509write_crt_set_validity(&crt, opt.not_before, opt.not_after);
if (ret != 0) {