Get rid of more non-ANSI declarations.
[openssl.git] / crypto / pkcs12 / p12_crt.c
index f7592a57673338109f2e9f096218d0901ea9c131..a60b128a3bde260a6b09a314504898fb5942f1fa 100644 (file)
 
 #include <stdio.h>
 #include "cryptlib.h"
-#include "pkcs12.h"
+#include <openssl/pkcs12.h>
 
 PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
-            STACK *ca, int nid_key, int nid_cert, int iter, int mac_iter,
+            STACK_OF(X509) *ca, int nid_key, int nid_cert, int iter, int mac_iter,
             int keytype)
 {
        PKCS12 *p12;
@@ -72,12 +72,12 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
        X509 *tcert;
        int i;
        unsigned char keyid[EVP_MAX_MD_SIZE];
-       int keyidlen;
+       unsigned int keyidlen;
 
        /* Set defaults */
        if(!nid_cert) nid_cert = NID_pbe_WithSHA1And40BitRC2_CBC;
        if(!nid_key) nid_key = NID_pbe_WithSHA1And3_Key_TripleDES_CBC;
-       if(!iter) iter = 1000;
+       if(!iter) iter = PKCS12_DEFAULT_ITER;
        if(!mac_iter) mac_iter = 1;
 
        if(!pkey || !cert) {
@@ -103,8 +103,8 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
        
        /* Add all other certificates */
        if(ca) {
-               for(i = 0; i < sk_num(ca); i++) {
-                       tcert = (X509 *)sk_value(ca, i);
+               for(i = 0; i < sk_X509_num(ca); i++) {
+                       tcert = sk_X509_value(ca, i);
                        if(!(bag = M_PKCS12_x5092certbag(tcert))) return NULL;
                        if(!sk_push(bags, (char *)bag)) {
                                PKCS12err(PKCS12_F_PKCS12_CREATE,ERR_R_MALLOC_FAILURE);
@@ -115,8 +115,8 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
 
        /* Turn certbags into encrypted authsafe */
        authsafe = PKCS12_pack_p7encdata (nid_cert, pass, -1, NULL, 0,
-                                                                iter, bags);
-       sk_pop_free(bags, PKCS12_SAFEBAG_free);
+                                         iter, bags);
+       sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
 
        if (!authsafe) return NULL;
 
@@ -139,7 +139,7 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
        }
        /* Turn it into unencrypted safe bag */
        if(!(authsafe = PKCS12_pack_p7data (bags))) return NULL;
-       sk_pop_free(bags, PKCS12_SAFEBAG_free);
+       sk_pop_free(bags, (void(*)(void *)) PKCS12_SAFEBAG_free);
        if(!sk_push(safes, (char *)authsafe)) {
                PKCS12err(PKCS12_F_PKCS12_CREATE,ERR_R_MALLOC_FAILURE);
                return NULL;
@@ -149,9 +149,10 @@ PKCS12 *PKCS12_create(char *pass, char *name, EVP_PKEY *pkey, X509 *cert,
 
        if(!M_PKCS12_pack_authsafes (p12, safes)) return NULL;
 
-       sk_pop_free(safes, PKCS7_free);
+       sk_pop_free(safes, (void(*)(void *)) PKCS7_free);
 
-       if(!PKCS12_set_mac (p12, pass, -1, NULL, 0, mac_iter, NULL)) return NULL;
+       if(!PKCS12_set_mac (p12, pass, -1, NULL, 0, mac_iter, NULL))
+           return NULL;
 
        return p12;