Missing declarations, no assembler in PEDANTIC.
[openssl.git] / crypto / asn1 / t_spki.c
index 23ab3b94e0bb03e3d4ce1823444959e3d8fc2020..079c081a81c7b077e9616c617b7eaed54194ed29 100644 (file)
@@ -1,5 +1,5 @@
 /* t_spki.c */
-/* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
+/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
  * project 1999.
  */
 /* ====================================================================
 #include "cryptlib.h"
 #include <openssl/x509.h>
 #include <openssl/asn1.h>
+#ifndef OPENSSL_NO_RSA
 #include <openssl/rsa.h>
+#endif
+#ifndef OPENSSL_NO_DSA
 #include <openssl/dsa.h>
+#endif
 #include <openssl/bn.h>
 
 /* Print out an SPKI */
@@ -78,36 +82,11 @@ int NETSCAPE_SPKI_print(BIO *out, NETSCAPE_SPKI *spki)
                                (i == NID_undef)?"UNKNOWN":OBJ_nid2ln(i));
        pkey = X509_PUBKEY_get(spki->spkac->pubkey);
        if(!pkey) BIO_printf(out, "  Unable to load public key\n");
-       else {
-#ifndef OPENSSL_NO_RSA
-               if (pkey->type == EVP_PKEY_RSA)
-                       {
-                       BIO_printf(out,"  RSA Public Key: (%d bit)\n",
-                               BN_num_bits(pkey->pkey.rsa->n));
-                       RSA_print(out,pkey->pkey.rsa,2);
-                       }
-               else 
-#endif
-#ifndef OPENSSL_NO_DSA
-               if (pkey->type == EVP_PKEY_DSA)
+       else
                {
-               BIO_printf(out,"  DSA Public Key:\n");
-               DSA_print(out,pkey->pkey.dsa,2);
-               }
-               else
-#endif
-#ifndef OPENSSL_NO_EC
-               if (pkey->type == EVP_PKEY_EC)
-               {
-                       BIO_printf(out, "  EC Public Key:\n");
-                       EC_KEY_print(out, pkey->pkey.ec,2);
-               }
-               else
-#endif
-
-                       BIO_printf(out,"  Unknown Public Key:\n");
+               EVP_PKEY_print_public(out, pkey, 4, NULL);
                EVP_PKEY_free(pkey);
-       }
+               }
        chal = spki->spkac->challenge;
        if(chal->length)
                BIO_printf(out, "  Challenge String: %s\n", chal->data);