Add support for CMS structure printing in cms utility.
authorDr. Stephen Henson <steve@openssl.org>
Mon, 24 Mar 2008 21:53:07 +0000 (21:53 +0000)
committerDr. Stephen Henson <steve@openssl.org>
Mon, 24 Mar 2008 21:53:07 +0000 (21:53 +0000)
apps/cms.c

index 70847d90b71f7ec4f41285f570fbe0bc68eb0606..9607ec59207292de6a314986d24647e9f9ab5f0a 100644 (file)
@@ -110,7 +110,7 @@ int MAIN(int argc, char **argv)
        STACK_OF(X509) *encerts = NULL, *other = NULL;
        BIO *in = NULL, *out = NULL, *indata = NULL;
        int badarg = 0;
-       int flags = CMS_DETACHED;
+       int flags = CMS_DETACHED, noout = 0, print = 0;
        char *to = NULL, *from = NULL, *subject = NULL;
        char *CAfile = NULL, *CApath = NULL;
        char *passargin = NULL, *passin = NULL;
@@ -242,6 +242,13 @@ int MAIN(int argc, char **argv)
                                flags |= CMS_NOOLDMIMETYPE;
                else if (!strcmp (*args, "-crlfeol"))
                                flags |= CMS_CRLFEOL;
+               else if (!strcmp (*args, "-noout"))
+                               noout = 1;
+               else if (!strcmp (*args, "-print"))
+                               {
+                               noout = 1;
+                               print = 1;
+                               }
                else if (!strcmp(*args,"-secretkey"))
                        {
                        long ltmp;
@@ -935,7 +942,12 @@ int MAIN(int argc, char **argv)
                }
        else
                {
-               if (outformat == FORMAT_SMIME) 
+               if (noout)
+                       {
+                       if (print)
+                               CMS_ContentInfo_print_ctx(out, cms, 0, NULL);
+                       }
+               else if (outformat == FORMAT_SMIME)
                        {
                        if (to)
                                BIO_printf(out, "To: %s\n", to);