Fix for bug in pkcs12 program and typo in ASN1_tag2str().
[openssl.git] / apps / pkcs12.c
index 351f131fe170d925d03897c6b975a2b3af35bb27..f6b444b5f6ac8fc02a880d77f22d24d25e2949e0 100644 (file)
@@ -1,4 +1,6 @@
 /* pkcs12.c */
+#if !defined(NO_DES) && !defined(NO_SHA1)
+
 /* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
  * project 1999.
  */
@@ -279,13 +281,13 @@ int MAIN(int argc, char **argv)
                }
     }
 
-if (export_cert) {
+    if (export_cert) {
        EVP_PKEY *key;
        STACK *bags, *safes;
        PKCS12_SAFEBAG *bag;
        PKCS8_PRIV_KEY_INFO *p8;
        PKCS7 *authsafe;
-       X509 *cert = NULL, *ucert = NULL;
+       X509 *ucert = NULL;
        STACK_OF(X509) *certs;
        char *catmp;
        int i;
@@ -311,7 +313,7 @@ if (export_cert) {
        for(i = 0; i < sk_X509_num(certs); i++) {
                ucert = sk_X509_value(certs, i);
                if(X509_check_private_key(ucert, key)) {
-                       X509_digest(cert, EVP_sha1(), keyid, &keyidlen);
+                       X509_digest(ucert, EVP_sha1(), keyid, &keyidlen);
                        break;
                }
        }
@@ -352,6 +354,7 @@ if (export_cert) {
 
        /* We now have loads of certificates: include them all */
        for(i = 0; i < sk_X509_num(certs); i++) {
+               X509 *cert = NULL;
                cert = sk_X509_value(certs, i);
                bag = M_PKCS12_x5092certbag(cert);
                /* If it matches private key set id */
@@ -697,3 +700,5 @@ void hex_prin(BIO *out, unsigned char *buf, int len)
        int i;
        for (i = 0; i < len; i++) BIO_printf (out, "%02X ", buf[i]);
 }
+
+#endif