Added back crypto treatment of certs as the keyfile is now passed in and the previous rng issue should no longer be relevent

Signed-off-by: Ben Taylor <ben.taylor@linaro.org>
diff --git a/tests/suites/test_suite_x509write.function b/tests/suites/test_suite_x509write.function
index 03746b4..edcc14d 100644
--- a/tests/suites/test_suite_x509write.function
+++ b/tests/suites/test_suite_x509write.function
@@ -130,6 +130,9 @@
     mbedtls_x509write_csr req;
     unsigned char buf[4096];
     int ret;
+    unsigned char check_buf[4000];
+    FILE *f;
+    size_t olen = 0;
     size_t pem_len = 0, buf_index;
     int der_len = -1;
     const char *subject_name = "C=NL,O=PolarSSL,CN=PolarSSL Server 1";
@@ -209,10 +212,14 @@
         TEST_ASSERT(buf[buf_index] == 0);
     }
 
-    // When using PSA crypto, RNG isn't controllable, so cert_req_check_file can't be used
-    (void) cert_req_check_file;
-    buf[pem_len] = '\0';
-    TEST_ASSERT(x509_crt_verifycsr(buf, pem_len + 1) == 0);
+    f = fopen(cert_req_check_file, "r"); //open the file
+    TEST_ASSERT(f != NULL); //check the file has been opened.
+    olen = fread(check_buf, 1, sizeof(check_buf), f); // read the file
+    fclose(f); // close the file
+
+    TEST_ASSERT(olen >= pem_len - 1); 
+    TEST_ASSERT(memcmp(buf, check_buf, pem_len - 1) == 0); 
+
 
     der_len = mbedtls_x509write_csr_der(&req, buf, sizeof(buf));
     TEST_ASSERT(der_len >= 0);
@@ -221,10 +228,7 @@
         goto exit;
     }
 
-    // When using PSA crypto, RNG isn't controllable, result length isn't
-    // deterministic over multiple runs, removing a single byte isn't enough to
-    // go into the MBEDTLS_ERR_ASN1_BUF_TOO_SMALL error case
-    der_len /= 2;
+    der_len -= 1;
     ret = mbedtls_x509write_csr_der(&req, buf, (size_t) (der_len));
     TEST_ASSERT(ret == MBEDTLS_ERR_ASN1_BUF_TOO_SMALL);