[gmime] Started working on fixing pkcs7 tests



commit 871ce6e7d5e1f38fc8b0d247513334c0919cdcca
Author: Jeffrey Stedfast <fejj gnome org>
Date:   Fri Feb 24 10:06:11 2017 -0500

    Started working on fixing pkcs7 tests

 tests/data/pkcs7/smime.crt |   37 +++++++++++++++++++++++++++
 tests/data/pkcs7/smime.csr |   28 +++++++++++++++++++++
 tests/data/pkcs7/smime.key |   54 ++++++++++++++++++++++++++++++++++++++++
 tests/data/pkcs7/smime.p12 |  Bin 0 -> 4173 bytes
 tests/test-pkcs7.c         |   59 ++++++++++---------------------------------
 5 files changed, 133 insertions(+), 45 deletions(-)
---
diff --git a/tests/data/pkcs7/smime.crt b/tests/data/pkcs7/smime.crt
new file mode 100644
index 0000000..4632293
--- /dev/null
+++ b/tests/data/pkcs7/smime.crt
@@ -0,0 +1,37 @@
+Issuer ...: /CN=Bruce Wayne/O=Example Authority Inc./L=Boston/ST=Massachusetts/C=US/EMail=bruce wayne 
example com
+Serial ...: 01
+Subject ..: /CN=MimeKit UnitTests/L=Boston/ST=Massachusetts/C=US/EMail=mimekit example com
+Keygrip ..: DEB0A1803CF021C6AD8C3DFDA7385615AE020A6C
+
+-----BEGIN CERTIFICATE-----
+MIIFgDCCA2gCAQEwDQYJKoZIhvcNAQEFBQAwgZUxCzAJBgNVBAYTAlVTMRYwFAYD
+VQQIEw1NYXNzYWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24xHzAdBgNVBAoTFkV4
+YW1wbGUgQXV0aG9yaXR5IEluYy4xFDASBgNVBAMTC0JydWNlIFdheW5lMSYwJAYJ
+KoZIhvcNAQkBFhdicnVjZS53YXluZUBleGFtcGxlLmNvbTAeFw0xNzAxMjgxNDU4
+NDZaFw0xODAxMjgxNDU4NDZaMHYxCzAJBgNVBAYTAlVTMRYwFAYDVQQIEw1NYXNz
+YWNodXNldHRzMQ8wDQYDVQQHEwZCb3N0b24xGjAYBgNVBAMTEU1pbWVLaXQgVW5p
+dFRlc3RzMSIwIAYJKoZIhvcNAQkBFhNtaW1la2l0QGV4YW1wbGUuY29tMIICIjAN
+BgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEA4i/30hO3nbYBRuB5dGJtHyUdQq98
+nYW0dntnmcsGe1a8mY51EofcG4dTtA5UrVKtbMWuxlzjbVijrITS1kV35rz/RUSg
+gTPH2sDwHc7dQXoU9laiu12yNvVv8zuBwT9ezg0Z2KrGMLcPjROyvkG+nTg/S29w
+xP70ojQE48s/+SePI/9AeWnRuffGuXuyDhUaElmIqfLjKlb1s+0p+IvnuHVt69Xn
+9jJ7PBYrONKahh6GuGV24A12eW/vh2zmVyz7SzTFgzRTI0QSkIqZUuxdZ7ttRrQy
+kxTAYaC68fG7ikRdrWVQHTqhF5aJWm1H7vQbmKJnIPA4mcpoCNZct/EcZRoDBL9t
+4fm/qGJiyNXlNVdUpywVBRQuM2MbpX6mfIGsbsEDJhKWdiCwDc3XYXJk5MukXu00
+0h4RcM5O5uIq+8AB2LVMXOyctTdr06I6zyRyJM++S0Y4HClOP/4By+74xG0Yal1H
+FLI6UyFgf4u+kS0vHwXqIDotgUdgM2bB2n/itmY2akXz5qzx73n2SZV/FdEZBJF8
+0S3CXVe17OMtGZuog8qEXN/AhweGfeo4KgOCKJdoodLbxtj8RodLk5AglN6Tr2Bq
+1ou8EkI5rv05G25IEBLZIkVBj7vPcN7Dt/ONVK8wP/CqEzUwLbuHMPWvI8XiESOQ
+lkSQbknujxWGJ6UCAwEAATANBgkqhkiG9w0BAQUFAAOCAgEAV2sW6u0ji0rJnlNH
+4G0bysD94MnIwCSiAYEVjVi8Kk+YUmctxl6Z50cb1BZD+ZkjtBmHrzSsi0N2UuTz
+jYJUkUyqZR62rgKtxsPCTEt7QUnZLMZIcXWDoaDdACSBi2DxaXc736ncFtQbXYnP
+3VXkKXY9hcWzYO4TtdMeCtg8ZCt38ALY2DfVVqp9XPzu83k8FMUKWjiEq4Xk2q5O
+3fnEHCwR6fPI0gZ9uHFfiqsZSPHsRexUQnkZGkZgzWN+GP4jIubkoEvoDrWyPHyK
+6sda48GvMyRItRBqp04cT+zyCCWhFMuvgVTLWo6fe+UGU52GXmSY/TgoP02jt9tG
++P3314FyoLMAmPLKDhToVnyM/et52I4/TTPd3kXTO+ISFw3pp6E1R79FcM0HmaGE
+UdFnP55FRoDYw7b6WudXsCbJ+sH8jOXvRSBUW9UovKlA/CmaLKLtqsXFpE3fh3aJ
+2vAZCBMvuItIXKurV7VQiwLEBP4ZYprlAraYAKhjN+gobEO1o5Yuc1b1m5mTojBj
+yO/F5Z6nF4m3b4t8yrQwqNA/A3aqGpoVwO6B+V9Pmy5r+5EJLvXaC1JZM6EZPcXI
+HtIjv0/HbqG8Q8H+RjmoJtm0IoF0e3YhXVVA7VrwrS+0W2ZhnI/EOulIFHU09DXu
+1tXpTv2QE7RHsjaljzhMrj9dQfI=
+-----END CERTIFICATE-----
diff --git a/tests/data/pkcs7/smime.csr b/tests/data/pkcs7/smime.csr
new file mode 100644
index 0000000..8c0c67a
--- /dev/null
+++ b/tests/data/pkcs7/smime.csr
@@ -0,0 +1,28 @@
+-----BEGIN CERTIFICATE REQUEST-----
+MIIEuzCCAqMCAQAwdjELMAkGA1UEBhMCVVMxFjAUBgNVBAgTDU1hc3NhY2h1c2V0
+dHMxDzANBgNVBAcTBkJvc3RvbjEaMBgGA1UEAxMRTWltZUtpdCBVbml0VGVzdHMx
+IjAgBgkqhkiG9w0BCQEWE21pbWVraXRAZXhhbXBsZS5jb20wggIiMA0GCSqGSIb3
+DQEBAQUAA4ICDwAwggIKAoICAQDiL/fSE7edtgFG4Hl0Ym0fJR1Cr3ydhbR2e2eZ
+ywZ7VryZjnUSh9wbh1O0DlStUq1sxa7GXONtWKOshNLWRXfmvP9FRKCBM8fawPAd
+zt1BehT2VqK7XbI29W/zO4HBP17ODRnYqsYwtw+NE7K+Qb6dOD9Lb3DE/vSiNATj
+yz/5J48j/0B5adG598a5e7IOFRoSWYip8uMqVvWz7Sn4i+e4dW3r1ef2Mns8Fis4
+0pqGHoa4ZXbgDXZ5b++HbOZXLPtLNMWDNFMjRBKQiplS7F1nu21GtDKTFMBhoLrx
+8buKRF2tZVAdOqEXlolabUfu9BuYomcg8DiZymgI1ly38RxlGgMEv23h+b+oYmLI
+1eU1V1SnLBUFFC4zYxulfqZ8gaxuwQMmEpZ2ILANzddhcmTky6Re7TTSHhFwzk7m
+4ir7wAHYtUxc7Jy1N2vTojrPJHIkz75LRjgcKU4//gHL7vjEbRhqXUcUsjpTIWB/
+i76RLS8fBeogOi2BR2AzZsHaf+K2ZjZqRfPmrPHvefZJlX8V0RkEkXzRLcJdV7Xs
+4y0Zm6iDyoRc38CHB4Z96jgqA4Iol2ih0tvG2PxGh0uTkCCU3pOvYGrWi7wSQjmu
+/TkbbkgQEtkiRUGPu89w3sO3841UrzA/8KoTNTAtu4cw9a8jxeIRI5CWRJBuSe6P
+FYYnpQIDAQABoAAwDQYJKoZIhvcNAQEFBQADggIBAODwn3Na2aUqGkB3xoszYVcf
+LbA1M+B6Yl9UGzxzEsd6CxAud81uDMiZ3a453VH4MOXe1lO5+/lAhDOIwglpOi0v
+jvpgd4aA0UQaccGgwFGCXAvl1MndojGFK0YnoXguH10ifQOjgH2mPn4q48+vw+yI
+PPi8pcDTEVYm/vQ7zL7pUacUKf6VR5nNce0VqXW8ZVantxwRfVSDhyTi+BTpxAu0
+AysKxpg9swfb2TVqBC8r21b8CiIAgcoEpTY7bfW/780N/jRD18ONrmlWpvvWPNln
+qzsRae7fob0bEkszxWbJ7lrbggnWwQ7EBnKszIkxnDMtyb5CRWLGJ8paCVhWerJR
+5r7iJ9/tWaxqjWB9E08a/YTsmvro9icOXJGGr/+NBPgiVNYO9rzvVlzIL1vlEE4E
+yO0rxkzLMselZx8/jlxPfQ/vKHEavG9MDmN1hWXAOibM2N44Q8PbLLcO4Hiz90m2
+muh+dimtnjTM3SvOO86xzWq8XE/ME6Zlk8zzU/C7Wpf7zIz8rJSzBYdIJZRd1dwl
+kayFX9nHF5E0WppQArTh2bR7I7IPmrPHolNtZ0ZVlH9UYbHcT7b0rMWaLlH9HMfj
+i9lxxOGMpKo1Yjo1PJCIaJBrltmWWz8YQzyHMJ0lfwXqi28XzL8w1hcl+//UnDQU
+ISZ8a4bBphS3h96mSegw
+-----END CERTIFICATE REQUEST-----
diff --git a/tests/data/pkcs7/smime.key b/tests/data/pkcs7/smime.key
new file mode 100644
index 0000000..1656d4a
--- /dev/null
+++ b/tests/data/pkcs7/smime.key
@@ -0,0 +1,54 @@
+-----BEGIN RSA PRIVATE KEY-----
+Proc-Type: 4,ENCRYPTED
+DEK-Info: DES-EDE3-CBC,8C17FBD133F443B3
+
+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
+-----END RSA PRIVATE KEY-----
diff --git a/tests/data/pkcs7/smime.p12 b/tests/data/pkcs7/smime.p12
new file mode 100644
index 0000000..26b7943
Binary files /dev/null and b/tests/data/pkcs7/smime.p12 differ
diff --git a/tests/test-pkcs7.c b/tests/test-pkcs7.c
index 78b0d1c..fcf8829 100644
--- a/tests/test-pkcs7.c
+++ b/tests/test-pkcs7.c
@@ -74,7 +74,7 @@ test_sign (GMimeCryptoContext *ctx, gboolean detached, GMimeStream *cleartext, G
        Exception *ex;
        int rv;
        
-       rv = g_mime_crypto_context_sign (ctx, detached, "alice example net",
+       rv = g_mime_crypto_context_sign (ctx, detached, "mimekit example com",
                                         GMIME_DIGEST_ALGO_SHA256,
                                         cleartext, ciphertext, &err);
        
@@ -170,9 +170,9 @@ test_encrypt (GMimeCryptoContext *ctx, gboolean sign, GMimeStream *cleartext, GM
        Exception *ex;
        
        recipients = g_ptr_array_new ();
-       g_ptr_array_add (recipients, "alice example net");
+       g_ptr_array_add (recipients, "mimekit example com");
        
-       g_mime_crypto_context_encrypt (ctx, sign, "alice example net",
+       g_mime_crypto_context_encrypt (ctx, sign, "mimekit example com",
                                       GMIME_DIGEST_ALGO_SHA256,
                                       GMIME_ENCRYPT_FLAGS_ALWAYS_TRUST,
                                       recipients, cleartext, ciphertext,
@@ -260,7 +260,7 @@ test_export (GMimeCryptoContext *ctx, const char *path)
        g_mime_stream_reset (istream);
        g_object_unref (ostream);
        
-       keys[0] = "alice example net";
+       keys[0] = "mimekit example com";
        keys[1] = NULL;
        
        ostream = g_mime_stream_mem_new ();
@@ -277,24 +277,18 @@ test_export (GMimeCryptoContext *ctx, const char *path)
        
        inbuf = (const char *) GMIME_STREAM_MEM (istream)->buffer->data;
        inlen = GMIME_STREAM_MEM (istream)->buffer->len;
-       if ((inptr = strstr (inbuf, "\n\n"))) {
-               /* skip past the headers which may have different version numbers */
-               inptr += 2;
-               inlen -= (inptr - inbuf);
-               inbuf = inptr;
-       }
        
        outbuf = (const char *) GMIME_STREAM_MEM (ostream)->buffer->data;
        outlen = GMIME_STREAM_MEM (ostream)->buffer->len;
-       if (outbuf && (inptr = strstr (outbuf, "\n\n"))) {
-               /* skip past the headers which may have different version numbers */
-               inptr += 2;
-               outlen -= (inptr - outbuf);
-               outbuf = inptr;
-       }
        
-       if (outlen != inlen || memcmp (outbuf, inbuf, inlen) != 0)
+       if (outlen != inlen || memcmp (outbuf, inbuf, inlen) != 0) {
+               FILE *fp = fopen ("exported.crt", "w");
+               fwrite (outbuf, 1, outlen, fp);
+               fflush (fp);
+               fclose (fp);
+               
                ex = exception_new ("exported key does not match original key");
+       }
        
        g_object_unref (istream);
        g_object_unref (ostream);
@@ -364,12 +358,7 @@ int main (int argc, char **argv)
        
        testsuite_check ("GMimePkcs7Context::import");
        try {
-               key = g_build_filename (datadir, "alice.pem", NULL);
-               //printf ("importing key: %s\n", key);
-               import_key (ctx, key);
-               g_free (key);
-               
-               key = g_build_filename (datadir, "alice.p12", NULL);
+               key = g_build_filename (datadir, "smime.p12", NULL);
                //printf ("importing key: %s\n", key);
                import_key (ctx, key);
                g_free (key);
@@ -380,7 +369,7 @@ int main (int argc, char **argv)
                return EXIT_FAILURE;
        } finally;
        
-       key = g_build_filename (datadir, "alice.pem", NULL);
+       key = g_build_filename (datadir, "smime.crt", NULL);
        testsuite_check ("GMimePkcs7Context::export");
        try {
                test_export (ctx, key);
@@ -427,7 +416,7 @@ int main (int argc, char **argv)
                testsuite_check (what);
                g_mime_stream_reset (istream);
                g_mime_stream_reset (ostream);
-               test_verify_deatched (ctx, istream, ostream);
+               test_verify_detached (ctx, istream, ostream);
                testsuite_check_passed ();
        } catch (ex) {
                testsuite_check_failed ("%s failed: %s", what, ex->message);
@@ -453,26 +442,6 @@ int main (int argc, char **argv)
                testsuite_check_failed ("%s failed: %s", what, ex->message);
        } finally;
        
-       g_object_unref (ostream);
-       g_mime_stream_reset (istream);
-       ostream = g_mime_stream_mem_new ();
-       
-       what = "GMimePkcs7Context::encrypt+sign";
-       testsuite_check (what);
-       try {
-               test_encrypt (ctx, TRUE, istream, ostream);
-               testsuite_check_passed ();
-               
-               what = "GMimePkcs7Context::decrypt+verify";
-               testsuite_check (what);
-               g_mime_stream_reset (istream);
-               g_mime_stream_reset (ostream);
-               test_decrypt (ctx, TRUE, istream, ostream);
-               testsuite_check_passed ();
-       } catch (ex) {
-               testsuite_check_failed ("%s failed: %s", what, ex->message);
-       } finally;
-       
        g_object_unref (istream);
        g_object_unref (ostream);
        g_object_unref (ctx);


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]