RT3508: Remove unused variable introduced by b09eb24
[openssl.git] / crypto / asn1 / t_req.c
index 4056cf6ea40918803b9b9848cedbc01f4e11f3a2..5d03db7a119fd3c112c9e0d12f0a8c2bb176b449 100644 (file)
 #include <openssl/objects.h>
 #include <openssl/x509.h>
 #include <openssl/x509v3.h>
+#ifndef OPENSSL_NO_RSA
 #include <openssl/rsa.h>
+#endif
+#ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
+#endif
 
 #ifndef OPENSSL_NO_FP_API
 int X509_REQ_print_fp(FILE *fp, X509_REQ *x)
@@ -86,9 +90,8 @@ int X509_REQ_print_fp(FILE *fp, X509_REQ *x)
 
 int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, unsigned long cflag)
        {
-       unsigned long l;
+       long l;
        int i;
-       const char *neg;
        X509_REQ_INFO *ri;
        EVP_PKEY *pkey;
        STACK_OF(X509_ATTRIBUTE) *sk;
@@ -113,12 +116,8 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, unsigned long
                }
        if(!(cflag & X509_FLAG_NO_VERSION))
                {
-               neg=(ri->version->type == V_ASN1_NEG_INTEGER)?"-":"";
-               l=0;
-               for (i=0; i<ri->version->length; i++)
-                       { l<<=8; l+=ri->version->data[i]; }
-               if(BIO_printf(bp,"%8sVersion: %s%lu (%s0x%lx)\n","",neg,l,neg,
-                             l) <= 0)
+               l = X509_REQ_get_version(x);
+               if(BIO_printf(bp,"%8sVersion: %ld (0x%lx)\n","",l+1, l) <= 0)
                    goto err;
                }
         if(!(cflag & X509_FLAG_NO_SUBJECT))
@@ -145,34 +144,10 @@ int X509_REQ_print_ex(BIO *bp, X509_REQ *x, unsigned long nmflags, unsigned long
                        ERR_print_errors(bp);
                        }
                else
-#ifndef OPENSSL_NO_RSA
-               if (pkey->type == EVP_PKEY_RSA)
                        {
-                       BIO_printf(bp,"%12sRSA Public Key: (%d bit)\n","",
-                       BN_num_bits(pkey->pkey.rsa->n));
-                       RSA_print(bp,pkey->pkey.rsa,16);
+                       EVP_PKEY_print_public(bp, pkey, 16, NULL);
+                       EVP_PKEY_free(pkey);
                        }
-               else
-#endif
-#ifndef OPENSSL_NO_DSA
-               if (pkey->type == EVP_PKEY_DSA)
-                       {
-                       BIO_printf(bp,"%12sDSA Public Key:\n","");
-                       DSA_print(bp,pkey->pkey.dsa,16);
-                       }
-               else
-#endif
-#ifndef OPENSSL_NO_EC
-               if (pkey->type == EVP_PKEY_EC)
-               {
-                       BIO_printf(bp, "%12sEC Public Key: \n","");
-                       EC_KEY_print(bp, pkey->pkey.eckey, 16);
-               }
-       else
-#endif
-                       BIO_printf(bp,"%12sUnknown Public Key:\n","");
-
-               EVP_PKEY_free(pkey);
                }
 
        if(!(cflag & X509_FLAG_NO_ATTRIBUTES))
@@ -240,7 +215,7 @@ get_next:
                                }
                        }
                }
-       if(!(cflag & X509_FLAG_NO_ATTRIBUTES))
+       if(!(cflag & X509_FLAG_NO_EXTENSIONS))
                {
                exts = X509_REQ_get_extensions(x);
                if(exts)
@@ -258,7 +233,7 @@ get_next:
                                j=X509_EXTENSION_get_critical(ex);
                                if (BIO_printf(bp,": %s\n",j?"critical":"") <= 0)
                                        goto err;
-                               if(!X509V3_EXT_print(bp, ex, 0, 16))
+                               if(!X509V3_EXT_print(bp, ex, cflag, 16))
                                        {
                                        BIO_printf(bp, "%16s", "");
                                        M_ASN1_OCTET_STRING_print(bp,ex->value);