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 a8910d7..be3464e 100644
--- a/programs/x509/cert_write.c
+++ b/programs/x509/cert_write.c
@@ -559,6 +559,7 @@
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) );
@@ -566,6 +567,7 @@
"returned -0x%04x - %s\n\n", (unsigned int) -ret, buf );
goto exit;
}
+#endif
mbedtls_printf( " ok\n" );
@@ -721,6 +723,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 )
{
@@ -729,6 +732,17 @@
"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 )