those functions without having a parameter list declaration.
(There are various similar cases left ...)
#endif
+typedef int pem_password_cb(char *buf, int size, int rwflag);
+/* "size" should be size_t, obviously, but it was always used
+ * without a parameter list declaration, which makes it "int" */
+
int PEM_get_EVP_CIPHER_INFO(char *header, EVP_CIPHER_INFO *cipher);
int PEM_do_header (EVP_CIPHER_INFO *cipher, unsigned char *data,long *len,
- int (*callback)());
+ pem_password_cb *);
#ifdef HEADER_BIO_H
int PEM_read_bio(BIO *bp, char **name, char **header,
int PEM_write_bio(BIO *bp,const char *name,char *hdr,unsigned char *data,
long len);
char * PEM_ASN1_read_bio(char *(*d2i)(),const char *name,BIO *bp,char **x,
- int (*cb)());
+ pem_password_cb *);
int PEM_ASN1_write_bio(int (*i2d)(),const char *name,BIO *bp,char *x,
const EVP_CIPHER *enc,unsigned char *kstr,int klen,
- int (*callback)());
-STACK_OF(X509_INFO) * PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, int (*cb)());
+ pem_password_cb *);
+STACK_OF(X509_INFO) * PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, pem_password_cb *);
int PEM_X509_INFO_write_bio(BIO *bp,X509_INFO *xi, EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)());
+ unsigned char *kstr, int klen, pem_password_cb *);
#endif
#ifndef WIN16
unsigned char **data,long *len);
int PEM_write(FILE *fp,char *name,char *hdr,unsigned char *data,long len);
char * PEM_ASN1_read(char *(*d2i)(),const char *name,FILE *fp,char **x,
- int (*cb)());
+ pem_password_cb *);
int PEM_ASN1_write(int (*i2d)(),const char *name,FILE *fp,char *x,
const EVP_CIPHER *enc,unsigned char *kstr,int klen,
- int (*callback)());
-STACK_OF(X509_INFO) * PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, int (*cb)());
+ pem_password_cb *);
+STACK_OF(X509_INFO) * PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk,
+ pem_password_cb *);
#endif
int PEM_SealInit(PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type,
#endif
#ifndef WIN16
-X509 *PEM_read_X509(FILE *fp,X509 **x,int (*cb)());
-X509_REQ *PEM_read_X509_REQ(FILE *fp,X509_REQ **x,int (*cb)());
-X509_CRL *PEM_read_X509_CRL(FILE *fp,X509_CRL **x,int (*cb)());
+X509 *PEM_read_X509(FILE *fp,X509 **x, pem_password_cb *);
+X509_REQ *PEM_read_X509_REQ(FILE *fp,X509_REQ **x, pem_password_cb *);
+X509_CRL *PEM_read_X509_CRL(FILE *fp,X509_CRL **x, pem_password_cb *);
#ifndef NO_RSA
-RSA *PEM_read_RSAPrivateKey(FILE *fp,RSA **x,int (*cb)());
-RSA *PEM_read_RSAPublicKey(FILE *fp,RSA **x,int (*cb)());
+RSA *PEM_read_RSAPrivateKey(FILE *fp,RSA **x, pem_password_cb *);
+RSA *PEM_read_RSAPublicKey(FILE *fp,RSA **x, pem_password_cb *);
#endif
#ifndef NO_DSA
-DSA *PEM_read_DSAPrivateKey(FILE *fp,DSA **x,int (*cb)());
-DSA *PEM_read_DSAparams(FILE *fp,DSA **x,int (*cb)());
+DSA *PEM_read_DSAPrivateKey(FILE *fp,DSA **x, pem_password_cb *);
+DSA *PEM_read_DSAparams(FILE *fp,DSA **x, pem_password_cb *);
#endif
#ifndef NO_DH
-DH *PEM_read_DHparams(FILE *fp,DH **x,int (*cb)());
+DH *PEM_read_DHparams(FILE *fp,DH **x, pem_password_cb *);
#endif
-EVP_PKEY *PEM_read_PrivateKey(FILE *fp,EVP_PKEY **x,int (*cb)());
-PKCS7 *PEM_read_PKCS7(FILE *fp,PKCS7 **x,int (*cb)());
-NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp,NETSCAPE_CERT_SEQUENCE **x,int (*cb)());
+EVP_PKEY *PEM_read_PrivateKey(FILE *fp,EVP_PKEY **x, pem_password_cb *);
+PKCS7 *PEM_read_PKCS7(FILE *fp,PKCS7 **x, pem_password_cb *);
+NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp,NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *);
int PEM_write_X509(FILE *fp,X509 *x);
int PEM_write_X509_REQ(FILE *fp,X509_REQ *x);
int PEM_write_X509_CRL(FILE *fp,X509_CRL *x);
#ifndef NO_RSA
int PEM_write_RSAPrivateKey(FILE *fp,RSA *x,EVP_CIPHER *enc,unsigned char *kstr,
- int klen,int (*cb)());
+ int klen, pem_password_cb *);
int PEM_write_RSAPublicKey(FILE *fp,RSA *x);
#endif
#ifndef NO_DSA
int PEM_write_DSAPrivateKey(FILE *fp,DSA *x,const EVP_CIPHER *enc,
unsigned char *kstr,
- int klen,int (*cb)());
+ int klen, pem_password_cb *);
#endif
int PEM_write_PrivateKey(FILE *fp,EVP_PKEY *x,EVP_CIPHER *enc,
- unsigned char *kstr,int klen,int (*cb)());
+ unsigned char *kstr,int klen, pem_password_cb *);
int PEM_write_PKCS7(FILE *fp,PKCS7 *x);
#ifndef NO_DH
int PEM_write_DHparams(FILE *fp,DH *x);
#endif
#ifdef HEADER_BIO_H
-X509 *PEM_read_bio_X509(BIO *bp,X509 **x,int (*cb)());
-X509_REQ *PEM_read_bio_X509_REQ(BIO *bp,X509_REQ **x,int (*cb)());
-X509_CRL *PEM_read_bio_X509_CRL(BIO *bp,X509_CRL **x,int (*cb)());
+X509 *PEM_read_bio_X509(BIO *bp,X509 **x, pem_password_cb *);
+X509_REQ *PEM_read_bio_X509_REQ(BIO *bp,X509_REQ **x, pem_password_cb *);
+X509_CRL *PEM_read_bio_X509_CRL(BIO *bp,X509_CRL **x, pem_password_cb *);
#ifndef NO_RSA
-RSA *PEM_read_bio_RSAPrivateKey(BIO *bp,RSA **x,int (*cb)());
-RSA *PEM_read_bio_RSAPublicKey(BIO *bp,RSA **x,int (*cb)());
+RSA *PEM_read_bio_RSAPrivateKey(BIO *bp,RSA **x, pem_password_cb *);
+RSA *PEM_read_bio_RSAPublicKey(BIO *bp,RSA **x, pem_password_cb *);
#endif
#ifndef NO_DSA
-DSA *PEM_read_bio_DSAPrivateKey(BIO *bp,DSA **x,int (*cb)());
+DSA *PEM_read_bio_DSAPrivateKey(BIO *bp,DSA **x, pem_password_cb *);
#endif
-EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp,EVP_PKEY **x,int (*cb)());
-PKCS7 *PEM_read_bio_PKCS7(BIO *bp,PKCS7 **x,int (*cb)());
+EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp,EVP_PKEY **x, pem_password_cb *);
+PKCS7 *PEM_read_bio_PKCS7(BIO *bp,PKCS7 **x, pem_password_cb *);
#ifndef NO_DH
-DH *PEM_read_bio_DHparams(BIO *bp,DH **x,int (*cb)());
+DH *PEM_read_bio_DHparams(BIO *bp,DH **x, pem_password_cb *);
#endif
-NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,NETSCAPE_CERT_SEQUENCE **x,int (*cb)());
+NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *);
#ifndef NO_DSA
-DSA *PEM_read_bio_DSAparams(BIO *bp,DSA **x,int (*cb)());
+DSA *PEM_read_bio_DSAparams(BIO *bp,DSA **x, pem_password_cb *);
#endif
int PEM_write_bio_X509(BIO *bp,X509 *x);
int PEM_write_bio_X509_REQ(BIO *bp,X509_REQ *x);
int PEM_write_bio_X509_CRL(BIO *bp,X509_CRL *x);
#ifndef NO_RSA
int PEM_write_bio_RSAPrivateKey(BIO *fp,RSA *x,const EVP_CIPHER *enc,
- unsigned char *kstr,int klen,int (*cb)());
+ unsigned char *kstr,int klen, pem_password_cb *);
int PEM_write_bio_RSAPublicKey(BIO *fp,RSA *x);
#endif
#ifndef NO_DSA
int PEM_write_bio_DSAPrivateKey(BIO *fp,DSA *x,const EVP_CIPHER *enc,
- unsigned char *kstr,int klen,int (*cb)());
+ unsigned char *kstr,int klen, pem_password_cb *);
#endif
int PEM_write_bio_PrivateKey(BIO *fp,EVP_PKEY *x,EVP_CIPHER *enc,
- unsigned char *kstr,int klen,int (*cb)());
+ unsigned char *kstr,int klen, pem_password_cb *);
int PEM_write_bio_PKCS7(BIO *bp,PKCS7 *x);
#ifndef NO_DH
int PEM_write_bio_DHparams(BIO *bp,DH *x);
#ifndef NO_FP_API
/* The X509 functions */
-X509 *PEM_read_X509(FILE *fp, X509 **x, int (*cb)())
+X509 *PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb)
{
return((X509 *)PEM_ASN1_read((char *(*)())d2i_X509,
PEM_STRING_X509,fp,(char **)x,cb));
}
#endif
-X509 *PEM_read_bio_X509(BIO *bp, X509 **x, int (*cb)())
+X509 *PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb)
{
return((X509 *)PEM_ASN1_read_bio((char *(*)())d2i_X509,
PEM_STRING_X509,bp,(char **)x,cb));
#ifndef NO_FP_API
/* The X509_REQ functions */
-X509_REQ *PEM_read_X509_REQ(FILE *fp, X509_REQ **x, int (*cb)())
+X509_REQ *PEM_read_X509_REQ(FILE *fp, X509_REQ **x, pem_password_cb *cb)
{
return((X509_REQ *)PEM_ASN1_read((char *(*)())d2i_X509_REQ,
PEM_STRING_X509_REQ,fp,(char **)x,cb));
}
#endif
-X509_REQ *PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, int (*cb)())
+X509_REQ *PEM_read_bio_X509_REQ(BIO *bp, X509_REQ **x, pem_password_cb *cb)
{
return((X509_REQ *)PEM_ASN1_read_bio((char *(*)())d2i_X509_REQ,
PEM_STRING_X509_REQ,bp,(char **)x,cb));
#ifndef NO_FP_API
/* The X509_CRL functions */
-X509_CRL *PEM_read_X509_CRL(FILE *fp, X509_CRL **x, int (*cb)())
+X509_CRL *PEM_read_X509_CRL(FILE *fp, X509_CRL **x, pem_password_cb *cb)
{
return((X509_CRL *)PEM_ASN1_read((char *(*)())d2i_X509_CRL,
PEM_STRING_X509_CRL,fp,(char **)x,cb));
}
#endif
-X509_CRL *PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, int (*cb)())
+X509_CRL *PEM_read_bio_X509_CRL(BIO *bp, X509_CRL **x, pem_password_cb *cb)
{
return((X509_CRL *)PEM_ASN1_read_bio((char *(*)())d2i_X509_CRL,
PEM_STRING_X509_CRL,bp,(char **)x,cb));
#ifndef NO_RSA
#ifndef NO_FP_API
/* The RSAPrivateKey functions */
-RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **x, int (*cb)())
+RSA *PEM_read_RSAPrivateKey(FILE *fp, RSA **x, pem_password_cb *cb)
{
return((RSA *)PEM_ASN1_read((char *(*)())d2i_RSAPrivateKey,
PEM_STRING_RSA,fp,(char **)x,cb));
}
-RSA *PEM_read_RSAPublicKey(FILE *fp, RSA **x, int (*cb)())
+RSA *PEM_read_RSAPublicKey(FILE *fp, RSA **x, pem_password_cb *cb)
{
return((RSA *)PEM_ASN1_read((char *(*)())d2i_RSAPublicKey,
PEM_STRING_RSA_PUBLIC,fp,(char **)x,cb));
}
#endif
-RSA *PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **x, int (*cb)())
+RSA *PEM_read_bio_RSAPrivateKey(BIO *bp, RSA **x, pem_password_cb *cb)
{
return((RSA *)PEM_ASN1_read_bio((char *(*)())d2i_RSAPrivateKey,
PEM_STRING_RSA,bp,(char **)x,cb));
}
-RSA *PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, int (*cb)())
+RSA *PEM_read_bio_RSAPublicKey(BIO *bp, RSA **x, pem_password_cb *cb)
{
return((RSA *)PEM_ASN1_read_bio((char *(*)())d2i_RSAPublicKey,
PEM_STRING_RSA_PUBLIC,bp,(char **)x,cb));
#ifndef NO_FP_API
int PEM_write_RSAPrivateKey(FILE *fp, RSA *x, EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
return(PEM_ASN1_write((int (*)())i2d_RSAPrivateKey,PEM_STRING_RSA,fp,
(char *)x,enc,kstr,klen,cb));
#endif
int PEM_write_bio_RSAPrivateKey(BIO *bp, RSA *x, const EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
return(PEM_ASN1_write_bio((int (*)())i2d_RSAPrivateKey,PEM_STRING_RSA,
bp,(char *)x,enc,kstr,klen,cb));
#ifndef NO_DSA
#ifndef NO_FP_API
/* The DSAPrivateKey functions */
-DSA *PEM_read_DSAPrivateKey(FILE *fp, DSA **x, int (*cb)())
+DSA *PEM_read_DSAPrivateKey(FILE *fp, DSA **x, pem_password_cb *cb)
{
return((DSA *)PEM_ASN1_read((char *(*)())d2i_DSAPrivateKey,
PEM_STRING_DSA,fp,(char **)x,cb));
}
#endif
-DSA *PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **x, int (*cb)())
+DSA *PEM_read_bio_DSAPrivateKey(BIO *bp, DSA **x, pem_password_cb *cb)
{
return((DSA *)PEM_ASN1_read_bio((char *(*)())d2i_DSAPrivateKey,
PEM_STRING_DSA,bp,(char **)x,cb));
#ifndef NO_FP_API
int PEM_write_DSAPrivateKey(FILE *fp, DSA *x, const EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
return(PEM_ASN1_write((int (*)())i2d_DSAPrivateKey,PEM_STRING_DSA,fp,
(char *)x,enc,kstr,klen,cb));
#endif
int PEM_write_bio_DSAPrivateKey(BIO *bp, DSA *x, const EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
return(PEM_ASN1_write_bio((int (*)())i2d_DSAPrivateKey,PEM_STRING_DSA,
bp,(char *)x,enc,kstr,klen,cb));
#ifndef NO_FP_API
/* The PrivateKey functions */
-EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, int (*cb)())
+EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x, pem_password_cb *cb)
{
return((EVP_PKEY *)PEM_ASN1_read((char *(*)())d2i_PrivateKey,
PEM_STRING_EVP_PKEY,fp,(char **)x,cb));
}
#endif
-EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, int (*cb)())
+EVP_PKEY *PEM_read_bio_PrivateKey(BIO *bp, EVP_PKEY **x, pem_password_cb *cb)
{
return((EVP_PKEY *)PEM_ASN1_read_bio((char *(*)())d2i_PrivateKey,
PEM_STRING_EVP_PKEY,bp,(char **)x,cb));
#ifndef NO_FP_API
int PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
return(PEM_ASN1_write((int (*)())i2d_PrivateKey,
((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA),
#endif
int PEM_write_bio_PrivateKey(BIO *bp, EVP_PKEY *x, EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
return(PEM_ASN1_write_bio((int (*)())i2d_PrivateKey,
((x->type == EVP_PKEY_DSA)?PEM_STRING_DSA:PEM_STRING_RSA),
#ifndef NO_FP_API
/* The PKCS7 functions */
-PKCS7 *PEM_read_PKCS7(FILE *fp, PKCS7 **x, int (*cb)())
+PKCS7 *PEM_read_PKCS7(FILE *fp, PKCS7 **x, pem_password_cb *cb)
{
return((PKCS7 *)PEM_ASN1_read((char *(*)())d2i_PKCS7,
PEM_STRING_PKCS7,fp,(char **)x,cb));
}
#endif
-PKCS7 *PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, int (*cb)())
+PKCS7 *PEM_read_bio_PKCS7(BIO *bp, PKCS7 **x, pem_password_cb *cb)
{
return((PKCS7 *)PEM_ASN1_read_bio((char *(*)())d2i_PKCS7,
PEM_STRING_PKCS7,bp,(char **)x,cb));
#ifndef NO_DH
#ifndef NO_FP_API
/* The DHparams functions */
-DH *PEM_read_DHparams(FILE *fp, DH **x, int (*cb)())
+DH *PEM_read_DHparams(FILE *fp, DH **x, pem_password_cb *cb)
{
return((DH *)PEM_ASN1_read((char *(*)())d2i_DHparams,
PEM_STRING_DHPARAMS,fp,(char **)x,cb));
}
#endif
-DH *PEM_read_bio_DHparams(BIO *bp, DH **x, int (*cb)())
+DH *PEM_read_bio_DHparams(BIO *bp, DH **x, pem_password_cb *cb)
{
return((DH *)PEM_ASN1_read_bio((char *(*)())d2i_DHparams,
PEM_STRING_DHPARAMS,bp,(char **)x,cb));
#ifndef NO_DSA
#ifndef NO_FP_API
/* The DSAparams functions */
-DSA *PEM_read_DSAparams(FILE *fp, DSA **x, int (*cb)())
+DSA *PEM_read_DSAparams(FILE *fp, DSA **x, pem_password_cb *cb)
{
return((DSA *)PEM_ASN1_read((char *(*)())d2i_DSAparams,
PEM_STRING_DSAPARAMS,fp,(char **)x,cb));
}
#endif
-DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, int (*cb)())
+DSA *PEM_read_bio_DSAparams(BIO *bp, DSA **x, pem_password_cb *cb)
{
return((DSA *)PEM_ASN1_read_bio((char *(*)())d2i_DSAparams,
PEM_STRING_DSAPARAMS,bp,(char **)x,cb));
#ifndef NO_FP_API
NETSCAPE_CERT_SEQUENCE *PEM_read_NETSCAPE_CERT_SEQUENCE(FILE *fp,
- NETSCAPE_CERT_SEQUENCE **x, int (*cb)())
+ NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb)
{
return((NETSCAPE_CERT_SEQUENCE *)
PEM_ASN1_read((char *(*)())d2i_NETSCAPE_CERT_SEQUENCE,
#endif
NETSCAPE_CERT_SEQUENCE *PEM_read_bio_NETSCAPE_CERT_SEQUENCE(BIO *bp,
- NETSCAPE_CERT_SEQUENCE **x, int (*cb)())
+ NETSCAPE_CERT_SEQUENCE **x, pem_password_cb *cb)
{
return((NETSCAPE_CERT_SEQUENCE *)
PEM_ASN1_read_bio((char *(*)())d2i_NETSCAPE_CERT_SEQUENCE,
#include <openssl/pem.h>
#ifndef NO_FP_API
-STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, int (*cb)())
+STACK_OF(X509_INFO) *PEM_X509_INFO_read(FILE *fp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb)
{
BIO *b;
STACK_OF(X509_INFO) *ret;
}
#endif
-STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, int (*cb)())
+STACK_OF(X509_INFO) *PEM_X509_INFO_read_bio(BIO *bp, STACK_OF(X509_INFO) *sk, pem_password_cb *cb)
{
X509_INFO *xi=NULL;
char *name=NULL,*header=NULL,**pp;
/* A TJH addition */
int PEM_X509_INFO_write_bio(BIO *bp, X509_INFO *xi, EVP_CIPHER *enc,
- unsigned char *kstr, int klen, int (*cb)())
+ unsigned char *kstr, int klen, pem_password_cb *cb)
{
EVP_CIPHER_CTX ctx;
int i,ret=0;
#ifndef NO_FP_API
char *PEM_ASN1_read(char *(*d2i)(), const char *name, FILE *fp, char **x,
- int (*cb)())
+ pem_password_cb *cb)
{
BIO *b;
char *ret;
#endif
char *PEM_ASN1_read_bio(char *(*d2i)(), const char *name, BIO *bp, char **x,
- int (*cb)())
+ pem_password_cb *cb)
{
EVP_CIPHER_INFO cipher;
char *nm=NULL,*header=NULL;
int PEM_ASN1_write_bio(int (*i2d)(), const char *name, BIO *bp, char *x,
const EVP_CIPHER *enc, unsigned char *kstr, int klen,
- int (*callback)())
+ pem_password_cb *callback)
{
EVP_CIPHER_CTX ctx;
int dsize=0,i,j,ret=0;
#include <openssl/lhash.h>
#include <openssl/buffer.h>
#include <openssl/bio.h>
+#include <openssl/pem.h>
#include <openssl/x509.h>
#define SSL_FILETYPE_ASN1 X509_FILETYPE_ASN1
/**/ int (*default_verify_callback)(int ok,X509_STORE_CTX *ctx);
/* Default password callback. */
-/**/ int (*default_passwd_callback)();
+/**/ pem_password_cb *default_passwd_callback;
/* get client cert callback */
/**/ int (*client_cert_cb)(/* SSL *ssl, X509 **x509, EVP_PKEY **pkey */);
int SSL_CTX_use_certificate(SSL_CTX *ctx, X509 *x);
int SSL_CTX_use_certificate_ASN1(SSL_CTX *ctx, int len, unsigned char *d);
-void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx,int (*cb)());
+void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *);
int SSL_CTX_check_private_key(SSL_CTX *ctx);
int SSL_check_private_key(SSL *ctx);
Free((char *)a);
}
-void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx,int (*cb)())
+void SSL_CTX_set_default_passwd_cb(SSL_CTX *ctx, pem_password_cb *cb)
{
ctx->default_passwd_callback=cb;
}