diff --git a/tests/suites/test_suite_pkcs12.data b/tests/suites/test_suite_pkcs12.data
new file mode 100644
index 0000000..e9e7339
--- /dev/null
+++ b/tests/suites/test_suite_pkcs12.data
@@ -0,0 +1,33 @@
+Pkcs12 derive key : Zero length password and hash
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"":1:"":1:3:0
+
+Pkcs12 derive key: NULL password and hash
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"":0:"":0:3:0
+
+Pkcs12 derive key: Zero length password
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"":1:"0123456789abcdef":1:3:0
+
+Pkcs12 derive key: NULL password
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"":0:"0123456789abcdef":1:3:0
+
+Pkcs12 derive key: Invalid length NULL password
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"0123456789abcdef":2:"0123456789abcdef":1:3:MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA
+
+Pkcs12 derive key: Zero length hash
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"0123456789abcdef":1:"":1:3:0
+
+Pkcs12 derive key: NULL hash
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"0123456789abcdef":1:"":0:3:0
+
+Pkcs12 derive key: Invalid length NULL hash
+depends_on:MBEDTLS_ASN1_PARSE_C:MBEDTLS_MD5_C
+pkcs12_derive_key_test:MBEDTLS_MD_MD5:48:"0123456789abcdef":1:"0123456789abcdef":2:3:MBEDTLS_ERR_PKCS12_BAD_INPUT_DATA
+
+
diff --git a/tests/suites/test_suite_pkcs12.function b/tests/suites/test_suite_pkcs12.function
new file mode 100644
index 0000000..8771c2b
--- /dev/null
+++ b/tests/suites/test_suite_pkcs12.function
@@ -0,0 +1,73 @@
+/* BEGIN_HEADER */
+#include "mbedtls/pkcs12.h"
+#include "mbedtls/error.h"
+
+typedef enum
+{
+   USE_NULL_INPUT = 0,
+   USE_GIVEN_INPUT = 1,
+   USE_NULL_INPUT_WITH_SIZE = 2,
+} input_usage_method_t;
+
+/* END_HEADER */
+
+/* BEGIN_DEPENDENCIES
+ * depends_on:MBEDTLS_ASN1_PARSE_C
+ * END_DEPENDENCIES
+ */
+
+/* BEGIN_CASE */
+void pkcs12_derive_key_test( int md_type, int key_size_arg,
+                             data_t *password_arg, int password_usage,
+                             data_t *salt_arg, int salt_usage,
+                             int iterations, int expected_status )
+
+{
+   int ret = MBEDTLS_ERR_ERROR_CORRUPTION_DETECTED;
+   unsigned char *output_data = NULL;
+
+   unsigned char *password = NULL;
+   size_t password_len = 0;
+   unsigned char *salt = NULL;
+   size_t salt_len = 0;
+   size_t key_size = key_size_arg;
+
+   if( password_usage == USE_GIVEN_INPUT )
+   {
+      password = password_arg->x;
+      password_len = password_arg->len;
+   }
+   else if( password_usage == USE_NULL_INPUT_WITH_SIZE )
+   {
+      password_len = password_arg->len;
+   }
+
+   if( salt_usage == USE_GIVEN_INPUT )
+   {
+      salt = salt_arg->x;
+      salt_len = salt_arg->len;
+   }
+   else if( salt_usage == USE_NULL_INPUT_WITH_SIZE )
+   {
+      salt_len = salt_arg->len;
+   }
+
+   ASSERT_ALLOC( output_data, key_size );
+
+   ret = mbedtls_pkcs12_derivation( output_data,
+                                    key_size,
+                                    password,
+                                    password_len,
+                                    salt,
+                                    salt_len,
+                                    md_type,
+                                    MBEDTLS_PKCS12_DERIVE_KEY,
+                                    iterations );
+
+   TEST_EQUAL( ret, expected_status );
+
+exit:
+   mbedtls_free( output_data );
+
+}
+/* END_CASE */
