pem.h File Reference

#include <openssl/e_os2.h>
#include <openssl/bio.h>
#include <openssl/stack.h>
#include <openssl/evp.h>
#include <openssl/x509.h>
#include <openssl/pem2.h>
#include <openssl/symhacks.h>

Go to the source code of this file.

Data Structures

struct  PEM_Encode_Seal_st
struct  pem_recip_st
struct  pem_ctx_st

Defines

#define PEM_BUFSIZE   1024
#define PEM_OBJ_UNDEF   0
#define PEM_OBJ_X509   1
#define PEM_OBJ_X509_REQ   2
#define PEM_OBJ_CRL   3
#define PEM_OBJ_SSL_SESSION   4
#define PEM_OBJ_PRIV_KEY   10
#define PEM_OBJ_PRIV_RSA   11
#define PEM_OBJ_PRIV_DSA   12
#define PEM_OBJ_PRIV_DH   13
#define PEM_OBJ_PUB_RSA   14
#define PEM_OBJ_PUB_DSA   15
#define PEM_OBJ_PUB_DH   16
#define PEM_OBJ_DHPARAMS   17
#define PEM_OBJ_DSAPARAMS   18
#define PEM_OBJ_PRIV_RSA_PUBLIC   19
#define PEM_OBJ_PRIV_ECDSA   20
#define PEM_OBJ_PUB_ECDSA   21
#define PEM_OBJ_ECPARAMETERS   22
#define PEM_ERROR   30
#define PEM_DEK_DES_CBC   40
#define PEM_DEK_IDEA_CBC   45
#define PEM_DEK_DES_EDE   50
#define PEM_DEK_DES_ECB   60
#define PEM_DEK_RSA   70
#define PEM_DEK_RSA_MD2   80
#define PEM_DEK_RSA_MD5   90
#define PEM_MD_MD2   NID_md2
#define PEM_MD_MD5   NID_md5
#define PEM_MD_SHA   NID_sha
#define PEM_MD_MD2_RSA   NID_md2WithRSAEncryption
#define PEM_MD_MD5_RSA   NID_md5WithRSAEncryption
#define PEM_MD_SHA_RSA   NID_sha1WithRSAEncryption
#define PEM_STRING_X509_OLD   "X509 CERTIFICATE"
#define PEM_STRING_X509   "CERTIFICATE"
#define PEM_STRING_X509_PAIR   "CERTIFICATE PAIR"
#define PEM_STRING_X509_TRUSTED   "TRUSTED CERTIFICATE"
#define PEM_STRING_X509_REQ_OLD   "NEW CERTIFICATE REQUEST"
#define PEM_STRING_X509_REQ   "CERTIFICATE REQUEST"
#define PEM_STRING_X509_CRL   "X509 CRL"
#define PEM_STRING_EVP_PKEY   "ANY PRIVATE KEY"
#define PEM_STRING_PUBLIC   "PUBLIC KEY"
#define PEM_STRING_RSA   "RSA PRIVATE KEY"
#define PEM_STRING_RSA_PUBLIC   "RSA PUBLIC KEY"
#define PEM_STRING_DSA   "DSA PRIVATE KEY"
#define PEM_STRING_DSA_PUBLIC   "DSA PUBLIC KEY"
#define PEM_STRING_PKCS7   "PKCS7"
#define PEM_STRING_PKCS8   "ENCRYPTED PRIVATE KEY"
#define PEM_STRING_PKCS8INF   "PRIVATE KEY"
#define PEM_STRING_DHPARAMS   "DH PARAMETERS"
#define PEM_STRING_SSL_SESSION   "SSL SESSION PARAMETERS"
#define PEM_STRING_DSAPARAMS   "DSA PARAMETERS"
#define PEM_STRING_ECDSA_PUBLIC   "ECDSA PUBLIC KEY"
#define PEM_STRING_ECPARAMETERS   "EC PARAMETERS"
#define PEM_STRING_ECPRIVATEKEY   "EC PRIVATE KEY"
#define PEM_TYPE_ENCRYPTED   10
#define PEM_TYPE_MIC_ONLY   20
#define PEM_TYPE_MIC_CLEAR   30
#define PEM_TYPE_CLEAR   40
#define IMPLEMENT_PEM_read_fp(name, type, str, asn1)
#define IMPLEMENT_PEM_write_fp(name, type, str, asn1)
#define IMPLEMENT_PEM_write_fp_const(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb_fp(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb_fp_const(name, type, str, asn1)
#define IMPLEMENT_PEM_read_bio(name, type, str, asn1)
#define IMPLEMENT_PEM_write_bio(name, type, str, asn1)
#define IMPLEMENT_PEM_write_bio_const(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb_bio(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb_bio_const(name, type, str, asn1)
#define IMPLEMENT_PEM_write(name, type, str, asn1)
#define IMPLEMENT_PEM_write_const(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb(name, type, str, asn1)
#define IMPLEMENT_PEM_write_cb_const(name, type, str, asn1)
#define IMPLEMENT_PEM_read(name, type, str, asn1)
#define IMPLEMENT_PEM_rw(name, type, str, asn1)
#define IMPLEMENT_PEM_rw_const(name, type, str, asn1)
#define IMPLEMENT_PEM_rw_cb(name, type, str, asn1)
#define DECLARE_PEM_read_fp(name, type)   type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u);
#define DECLARE_PEM_write_fp(name, type)   int PEM_write_##name(FILE *fp, type *x);
#define DECLARE_PEM_write_fp_const(name, type)   int PEM_write_##name(FILE *fp, const type *x);
#define DECLARE_PEM_write_cb_fp(name, type)
#define DECLARE_PEM_read_bio(name, type)   type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u);
#define DECLARE_PEM_write_bio(name, type)   int PEM_write_bio_##name(BIO *bp, type *x);
#define DECLARE_PEM_write_bio_const(name, type)   int PEM_write_bio_##name(BIO *bp, const type *x);
#define DECLARE_PEM_write_cb_bio(name, type)
#define DECLARE_PEM_write(name, type)
#define DECLARE_PEM_write_const(name, type)
#define DECLARE_PEM_write_cb(name, type)
#define DECLARE_PEM_read(name, type)
#define DECLARE_PEM_rw(name, type)
#define DECLARE_PEM_rw_const(name, type)
#define DECLARE_PEM_rw_cb(name, type)
#define PEM_ASN1_read_bio_of(type, d2i, name, bp, x, cb, u)   ((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i,name,bp,x,cb,u)
#define PEM_ASN1_write_bio_of(type, i2d, name, bp, x, enc, kstr, klen, cb, u)   ((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d,name,bp,x,enc,kstr,klen,cb,u)
#define PEM_F_D2I_PKCS8PRIVATEKEY_BIO   120
#define PEM_F_D2I_PKCS8PRIVATEKEY_FP   121
#define PEM_F_DO_PK8PKEY   126
#define PEM_F_DO_PK8PKEY_FP   125
#define PEM_F_LOAD_IV   101
#define PEM_F_PEM_ASN1_READ   102
#define PEM_F_PEM_ASN1_READ_BIO   103
#define PEM_F_PEM_ASN1_WRITE   104
#define PEM_F_PEM_ASN1_WRITE_BIO   105
#define PEM_F_PEM_DEF_CALLBACK   100
#define PEM_F_PEM_DO_HEADER   106
#define PEM_F_PEM_F_PEM_WRITE_PKCS8PRIVATEKEY   118
#define PEM_F_PEM_GET_EVP_CIPHER_INFO   107
#define PEM_F_PEM_PK8PKEY   119
#define PEM_F_PEM_READ   108
#define PEM_F_PEM_READ_BIO   109
#define PEM_F_PEM_READ_BIO_PRIVATEKEY   123
#define PEM_F_PEM_READ_PRIVATEKEY   124
#define PEM_F_PEM_SEALFINAL   110
#define PEM_F_PEM_SEALINIT   111
#define PEM_F_PEM_SIGNFINAL   112
#define PEM_F_PEM_WRITE   113
#define PEM_F_PEM_WRITE_BIO   114
#define PEM_F_PEM_X509_INFO_READ   115
#define PEM_F_PEM_X509_INFO_READ_BIO   116
#define PEM_F_PEM_X509_INFO_WRITE_BIO   117
#define PEM_R_BAD_BASE64_DECODE   100
#define PEM_R_BAD_DECRYPT   101
#define PEM_R_BAD_END_LINE   102
#define PEM_R_BAD_IV_CHARS   103
#define PEM_R_BAD_PASSWORD_READ   104
#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY   115
#define PEM_R_NOT_DEK_INFO   105
#define PEM_R_NOT_ENCRYPTED   106
#define PEM_R_NOT_PROC_TYPE   107
#define PEM_R_NO_START_LINE   108
#define PEM_R_PROBLEMS_GETTING_PASSWORD   109
#define PEM_R_PUBLIC_KEY_NO_RSA   110
#define PEM_R_READ_KEY   111
#define PEM_R_SHORT_HEADER   112
#define PEM_R_UNSUPPORTED_CIPHER   113
#define PEM_R_UNSUPPORTED_ENCRYPTION   114

Typedefs

typedef struct PEM_Encode_Seal_st PEM_ENCODE_SEAL_CTX
typedef struct pem_recip_st PEM_USER
typedef struct pem_ctx_st PEM_CTX
typedef int pem_password_cb (char *buf, int size, int rwflag, void *userdata)

Functions

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, pem_password_cb *callback, void *u)
int PEM_read_bio (BIO *bp, char **name, char **header, unsigned char **data, long *len)
int PEM_write_bio (BIO *bp, const char *name, char *hdr, unsigned char *data, long len)
int PEM_bytes_read_bio (unsigned char **pdata, long *plen, char **pnm, const char *name, BIO *bp, pem_password_cb *cb, void *u)
void * PEM_ASN1_read_bio (d2i_of_void *d2i, const char *name, BIO *bp, void **x, pem_password_cb *cb, void *u)
int PEM_ASN1_write_bio (i2d_of_void *i2d, const char *name, BIO *bp, char *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cb, void *u)
 STACK_OF (X509_INFO)*PEM_X509_INFO_read_bio(BIO *bp
int PEM_X509_INFO_write_bio (BIO *bp, X509_INFO *xi, EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *cd, void *u)
int PEM_read (FILE *fp, char **name, char **header, unsigned char **data, long *len)
int PEM_write (FILE *fp, char *name, char *hdr, unsigned char *data, long len)
void * PEM_ASN1_read (d2i_of_void *d2i, const char *name, FILE *fp, void **x, pem_password_cb *cb, void *u)
int PEM_ASN1_write (i2d_of_void *i2d, const char *name, FILE *fp, char *x, const EVP_CIPHER *enc, unsigned char *kstr, int klen, pem_password_cb *callback, void *u)
int PEM_SealInit (PEM_ENCODE_SEAL_CTX *ctx, EVP_CIPHER *type, EVP_MD *md_type, unsigned char **ek, int *ekl, unsigned char *iv, EVP_PKEY **pubk, int npubk)
void PEM_SealUpdate (PEM_ENCODE_SEAL_CTX *ctx, unsigned char *out, int *outl, unsigned char *in, int inl)
int PEM_SealFinal (PEM_ENCODE_SEAL_CTX *ctx, unsigned char *sig, int *sigl, unsigned char *out, int *outl, EVP_PKEY *priv)
void PEM_SignInit (EVP_MD_CTX *ctx, EVP_MD *type)
void PEM_SignUpdate (EVP_MD_CTX *ctx, unsigned char *d, unsigned int cnt)
int PEM_SignFinal (EVP_MD_CTX *ctx, unsigned char *sigret, unsigned int *siglen, EVP_PKEY *pkey)
int PEM_def_callback (char *buf, int num, int w, void *key)
void PEM_proc_type (char *buf, int type)
void PEM_dek_info (char *buf, const char *type, int len, char *str)
 DECLARE_PEM_rw (X509, X509) DECLARE_PEM_rw(X509_AUX
X509 DECLARE_PEM_rw (X509_CERT_PAIR, X509_CERT_PAIR) DECLARE_PEM_rw(X509_REQ
X509 X509_REQ DECLARE_PEM_write (X509_REQ_NEW, X509_REQ) DECLARE_PEM_rw(X509_CRL
X509 X509_REQ X509_CRL DECLARE_PEM_rw (PKCS7, PKCS7) DECLARE_PEM_rw(NETSCAPE_CERT_SEQUENCE
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE 
DECLARE_PEM_rw (PKCS8, X509_SIG) DECLARE_PEM_rw(PKCS8_PRIV_KEY_INFO
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO 
DECLARE_PEM_rw_cb (RSAPrivateKey, RSA) DECLARE_PEM_rw_const(RSAPublicKey
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO RSA 
DECLARE_PEM_rw (RSA_PUBKEY, RSA) DECLARE_PEM_rw_cb(DSAPrivateKey
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO RSA DSA 
DECLARE_PEM_rw (DSA_PUBKEY, DSA) DECLARE_PEM_rw_const(DSAparams
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO RSA DSA
DSA 
DECLARE_PEM_rw_const (ECPKParameters, EC_GROUP) DECLARE_PEM_rw_cb(ECPrivateKey
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO RSA DSA
DSA EC_KEY 
DECLARE_PEM_rw (EC_PUBKEY, EC_KEY) DECLARE_PEM_rw_const(DHparams
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO RSA DSA
DSA EC_KEY DH 
DECLARE_PEM_rw_cb (PrivateKey, EVP_PKEY) DECLARE_PEM_rw(PUBKEY
X509 X509_REQ X509_CRL
NETSCAPE_CERT_SEQUENCE
PKCS8_PRIV_KEY_INFO RSA DSA
DSA EC_KEY DH EVP_PKEY int 
PEM_write_bio_PKCS8PrivateKey_nid (BIO *bp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
int PEM_write_bio_PKCS8PrivateKey (BIO *, EVP_PKEY *, const EVP_CIPHER *, char *, int, pem_password_cb *, void *)
int i2d_PKCS8PrivateKey_bio (BIO *bp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u)
int i2d_PKCS8PrivateKey_nid_bio (BIO *bp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
EVP_PKEYd2i_PKCS8PrivateKey_bio (BIO *bp, EVP_PKEY **x, pem_password_cb *cb, void *u)
int i2d_PKCS8PrivateKey_fp (FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cb, void *u)
int i2d_PKCS8PrivateKey_nid_fp (FILE *fp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
int PEM_write_PKCS8PrivateKey_nid (FILE *fp, EVP_PKEY *x, int nid, char *kstr, int klen, pem_password_cb *cb, void *u)
EVP_PKEYd2i_PKCS8PrivateKey_fp (FILE *fp, EVP_PKEY **x, pem_password_cb *cb, void *u)
int PEM_write_PKCS8PrivateKey (FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc, char *kstr, int klen, pem_password_cb *cd, void *u)
void ERR_load_PEM_strings (void)

Variables

pem_password_cbcb
pem_password_cb void * u


Define Documentation

#define DECLARE_PEM_read ( name,
type   ) 

Value:

Definition at line 379 of file pem.h.

#define DECLARE_PEM_read_bio ( name,
type   )     type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u);

Definition at line 346 of file pem.h.

#define DECLARE_PEM_read_fp ( name,
type   )     type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u);

Definition at line 330 of file pem.h.

#define DECLARE_PEM_rw ( name,
type   ) 

Value:

Definition at line 383 of file pem.h.

#define DECLARE_PEM_rw_cb ( name,
type   ) 

Value:

Definition at line 391 of file pem.h.

#define DECLARE_PEM_rw_const ( name,
type   ) 

Value:

Definition at line 387 of file pem.h.

#define DECLARE_PEM_write ( name,
type   ) 

Value:

Definition at line 367 of file pem.h.

#define DECLARE_PEM_write_bio ( name,
type   )     int PEM_write_bio_##name(BIO *bp, type *x);

Definition at line 349 of file pem.h.

#define DECLARE_PEM_write_bio_const ( name,
type   )     int PEM_write_bio_##name(BIO *bp, const type *x);

Definition at line 352 of file pem.h.

#define DECLARE_PEM_write_cb ( name,
type   ) 

Value:

Definition at line 375 of file pem.h.

#define DECLARE_PEM_write_cb_bio ( name,
type   ) 

Value:

int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
        unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

Definition at line 355 of file pem.h.

#define DECLARE_PEM_write_cb_fp ( name,
type   ) 

Value:

int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \
        unsigned char *kstr, int klen, pem_password_cb *cb, void *u);

Definition at line 339 of file pem.h.

#define DECLARE_PEM_write_const ( name,
type   ) 

#define DECLARE_PEM_write_fp ( name,
type   )     int PEM_write_##name(FILE *fp, type *x);

Definition at line 333 of file pem.h.

#define DECLARE_PEM_write_fp_const ( name,
type   )     int PEM_write_##name(FILE *fp, const type *x);

Definition at line 336 of file pem.h.

#define IMPLEMENT_PEM_read ( name,
type,
str,
asn1   ) 

Value:

Definition at line 304 of file pem.h.

#define IMPLEMENT_PEM_read_bio ( name,
type,
str,
asn1   ) 

Value:

type *PEM_read_bio_##name(BIO *bp, type **x, pem_password_cb *cb, void *u)\
{ \
return(((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i_##asn1, str,bp,x,cb,u)); \
}

Definition at line 256 of file pem.h.

#define IMPLEMENT_PEM_read_fp ( name,
type,
str,
asn1   ) 

Value:

type *PEM_read_##name(FILE *fp, type **x, pem_password_cb *cb, void *u)\
{ \
return(((type *(*)(D2I_OF(type),char *,FILE *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read))(d2i_##asn1, str,fp,x,cb,u)); \
}

Definition at line 220 of file pem.h.

#define IMPLEMENT_PEM_rw ( name,
type,
str,
asn1   ) 

Value:

Definition at line 308 of file pem.h.

#define IMPLEMENT_PEM_rw_cb ( name,
type,
str,
asn1   ) 

Value:

Definition at line 316 of file pem.h.

#define IMPLEMENT_PEM_rw_const ( name,
type,
str,
asn1   ) 

Value:

Definition at line 312 of file pem.h.

#define IMPLEMENT_PEM_write ( name,
type,
str,
asn1   ) 

Value:

Definition at line 288 of file pem.h.

#define IMPLEMENT_PEM_write_bio ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_bio_##name(BIO *bp, type *x) \
{ \
return(((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \
}

Definition at line 262 of file pem.h.

#define IMPLEMENT_PEM_write_bio_const ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_bio_##name(BIO *bp, const type *x) \
{ \
return(((int (*)(I2D_OF_const(type),const char *,BIO *,const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,NULL,NULL,0,NULL,NULL)); \
}

Definition at line 268 of file pem.h.

#define IMPLEMENT_PEM_write_cb ( name,
type,
str,
asn1   ) 

Value:

Definition at line 296 of file pem.h.

#define IMPLEMENT_PEM_write_cb_bio ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
        unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \
   { \
   return(((int (*)(I2D_OF(type),const char *,BIO *,type *,const EVP_CIPHER *,unsigned char *,int,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u)); \
   }

Definition at line 274 of file pem.h.

#define IMPLEMENT_PEM_write_cb_bio_const ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_bio_##name(BIO *bp, type *x, const EVP_CIPHER *enc, \
        unsigned char *kstr, int klen, pem_password_cb *cb, void *u) \
   { \
   return(((int (*)(I2D_OF_const(type),const char *,BIO *,type *,const EVP_CIPHER *,unsigned char *,int,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d_##asn1,str,bp,x,enc,kstr,klen,cb,u)); \
   }

Definition at line 281 of file pem.h.

#define IMPLEMENT_PEM_write_cb_const ( name,
type,
str,
asn1   ) 

Value:

Definition at line 300 of file pem.h.

#define IMPLEMENT_PEM_write_cb_fp ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \
        unsigned char *kstr, int klen, pem_password_cb *cb, \
        void *u) \
   { \
   return(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u)); \
   }

Definition at line 238 of file pem.h.

#define IMPLEMENT_PEM_write_cb_fp_const ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_##name(FILE *fp, type *x, const EVP_CIPHER *enc, \
        unsigned char *kstr, int klen, pem_password_cb *cb, \
        void *u) \
   { \
   return(((int (*)(I2D_OF_const(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,enc,kstr,klen,cb,u)); \
   }

Definition at line 246 of file pem.h.

#define IMPLEMENT_PEM_write_const ( name,
type,
str,
asn1   ) 

Value:

Definition at line 292 of file pem.h.

#define IMPLEMENT_PEM_write_fp ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_##name(FILE *fp, type *x) \
{ \
return(((int (*)(I2D_OF(type),const char *,FILE *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \
}

Definition at line 226 of file pem.h.

#define IMPLEMENT_PEM_write_fp_const ( name,
type,
str,
asn1   ) 

Value:

int PEM_write_##name(FILE *fp, const type *x) \
{ \
return(((int (*)(I2D_OF_const(type),const char *,FILE *, const type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write))(i2d_##asn1,str,fp,x,NULL,NULL,0,NULL,NULL)); \
}

Definition at line 232 of file pem.h.

#define PEM_ASN1_read_bio_of ( type,
d2i,
name,
bp,
x,
cb,
u   )     ((type *(*)(D2I_OF(type),const char *,BIO *,type **,pem_password_cb *,void *))openssl_fcast(PEM_ASN1_read_bio))(d2i,name,bp,x,cb,u)

Definition at line 548 of file pem.h.

#define PEM_ASN1_write_bio_of ( type,
i2d,
name,
bp,
x,
enc,
kstr,
klen,
cb,
u   )     ((int (*)(I2D_OF(type),const char *,BIO *,type *, const EVP_CIPHER *,unsigned char *,int, pem_password_cb *,void *))openssl_fcast(PEM_ASN1_write_bio))(i2d,name,bp,x,enc,kstr,klen,cb,u)

Definition at line 553 of file pem.h.

#define PEM_BUFSIZE   1024

Definition at line 77 of file pem.h.

#define PEM_DEK_DES_CBC   40

Definition at line 99 of file pem.h.

#define PEM_DEK_DES_ECB   60

Definition at line 102 of file pem.h.

#define PEM_DEK_DES_EDE   50

Definition at line 101 of file pem.h.

#define PEM_DEK_IDEA_CBC   45

Definition at line 100 of file pem.h.

#define PEM_DEK_RSA   70

Definition at line 103 of file pem.h.

#define PEM_DEK_RSA_MD2   80

Definition at line 104 of file pem.h.

#define PEM_DEK_RSA_MD5   90

Definition at line 105 of file pem.h.

#define PEM_ERROR   30

Definition at line 98 of file pem.h.

#define PEM_F_D2I_PKCS8PRIVATEKEY_BIO   120

Definition at line 689 of file pem.h.

#define PEM_F_D2I_PKCS8PRIVATEKEY_FP   121

Definition at line 690 of file pem.h.

#define PEM_F_DO_PK8PKEY   126

Definition at line 691 of file pem.h.

#define PEM_F_DO_PK8PKEY_FP   125

Definition at line 692 of file pem.h.

#define PEM_F_LOAD_IV   101

Definition at line 693 of file pem.h.

#define PEM_F_PEM_ASN1_READ   102

Definition at line 694 of file pem.h.

#define PEM_F_PEM_ASN1_READ_BIO   103

Definition at line 695 of file pem.h.

#define PEM_F_PEM_ASN1_WRITE   104

Definition at line 696 of file pem.h.

#define PEM_F_PEM_ASN1_WRITE_BIO   105

Definition at line 697 of file pem.h.

#define PEM_F_PEM_DEF_CALLBACK   100

Definition at line 698 of file pem.h.

#define PEM_F_PEM_DO_HEADER   106

Definition at line 699 of file pem.h.

#define PEM_F_PEM_F_PEM_WRITE_PKCS8PRIVATEKEY   118

Definition at line 700 of file pem.h.

#define PEM_F_PEM_GET_EVP_CIPHER_INFO   107

Definition at line 701 of file pem.h.

#define PEM_F_PEM_PK8PKEY   119

Definition at line 702 of file pem.h.

#define PEM_F_PEM_READ   108

Definition at line 703 of file pem.h.

#define PEM_F_PEM_READ_BIO   109

Definition at line 704 of file pem.h.

#define PEM_F_PEM_READ_BIO_PRIVATEKEY   123

Definition at line 705 of file pem.h.

#define PEM_F_PEM_READ_PRIVATEKEY   124

Definition at line 706 of file pem.h.

#define PEM_F_PEM_SEALFINAL   110

Definition at line 707 of file pem.h.

#define PEM_F_PEM_SEALINIT   111

Definition at line 708 of file pem.h.

#define PEM_F_PEM_SIGNFINAL   112

Definition at line 709 of file pem.h.

#define PEM_F_PEM_WRITE   113

Definition at line 710 of file pem.h.

#define PEM_F_PEM_WRITE_BIO   114

Definition at line 711 of file pem.h.

#define PEM_F_PEM_X509_INFO_READ   115

Definition at line 712 of file pem.h.

#define PEM_F_PEM_X509_INFO_READ_BIO   116

Definition at line 713 of file pem.h.

#define PEM_F_PEM_X509_INFO_WRITE_BIO   117

Definition at line 714 of file pem.h.

#define PEM_MD_MD2   NID_md2

Definition at line 107 of file pem.h.

#define PEM_MD_MD2_RSA   NID_md2WithRSAEncryption

Definition at line 110 of file pem.h.

#define PEM_MD_MD5   NID_md5

Definition at line 108 of file pem.h.

#define PEM_MD_MD5_RSA   NID_md5WithRSAEncryption

Definition at line 111 of file pem.h.

#define PEM_MD_SHA   NID_sha

Definition at line 109 of file pem.h.

#define PEM_MD_SHA_RSA   NID_sha1WithRSAEncryption

Definition at line 112 of file pem.h.

#define PEM_OBJ_CRL   3

Definition at line 82 of file pem.h.

#define PEM_OBJ_DHPARAMS   17

Definition at line 91 of file pem.h.

#define PEM_OBJ_DSAPARAMS   18

Definition at line 92 of file pem.h.

#define PEM_OBJ_ECPARAMETERS   22

Definition at line 96 of file pem.h.

#define PEM_OBJ_PRIV_DH   13

Definition at line 87 of file pem.h.

#define PEM_OBJ_PRIV_DSA   12

Definition at line 86 of file pem.h.

#define PEM_OBJ_PRIV_ECDSA   20

Definition at line 94 of file pem.h.

#define PEM_OBJ_PRIV_KEY   10

Definition at line 84 of file pem.h.

#define PEM_OBJ_PRIV_RSA   11

Definition at line 85 of file pem.h.

#define PEM_OBJ_PRIV_RSA_PUBLIC   19

Definition at line 93 of file pem.h.

#define PEM_OBJ_PUB_DH   16

Definition at line 90 of file pem.h.

#define PEM_OBJ_PUB_DSA   15

Definition at line 89 of file pem.h.

#define PEM_OBJ_PUB_ECDSA   21

Definition at line 95 of file pem.h.

#define PEM_OBJ_PUB_RSA   14

Definition at line 88 of file pem.h.

#define PEM_OBJ_SSL_SESSION   4

Definition at line 83 of file pem.h.

#define PEM_OBJ_UNDEF   0

Definition at line 79 of file pem.h.

#define PEM_OBJ_X509   1

Definition at line 80 of file pem.h.

#define PEM_OBJ_X509_REQ   2

Definition at line 81 of file pem.h.

#define PEM_R_BAD_BASE64_DECODE   100

Definition at line 717 of file pem.h.

#define PEM_R_BAD_DECRYPT   101

Definition at line 718 of file pem.h.

#define PEM_R_BAD_END_LINE   102

Definition at line 719 of file pem.h.

#define PEM_R_BAD_IV_CHARS   103

Definition at line 720 of file pem.h.

#define PEM_R_BAD_PASSWORD_READ   104

Definition at line 721 of file pem.h.

#define PEM_R_ERROR_CONVERTING_PRIVATE_KEY   115

Definition at line 722 of file pem.h.

#define PEM_R_NO_START_LINE   108

Definition at line 726 of file pem.h.

#define PEM_R_NOT_DEK_INFO   105

Definition at line 723 of file pem.h.

#define PEM_R_NOT_ENCRYPTED   106

Definition at line 724 of file pem.h.

#define PEM_R_NOT_PROC_TYPE   107

Definition at line 725 of file pem.h.

#define PEM_R_PROBLEMS_GETTING_PASSWORD   109

Definition at line 727 of file pem.h.

#define PEM_R_PUBLIC_KEY_NO_RSA   110

Definition at line 728 of file pem.h.

#define PEM_R_READ_KEY   111

Definition at line 729 of file pem.h.

#define PEM_R_SHORT_HEADER   112

Definition at line 730 of file pem.h.

#define PEM_R_UNSUPPORTED_CIPHER   113

Definition at line 731 of file pem.h.

#define PEM_R_UNSUPPORTED_ENCRYPTION   114

Definition at line 732 of file pem.h.

#define PEM_STRING_DHPARAMS   "DH PARAMETERS"

Definition at line 130 of file pem.h.

#define PEM_STRING_DSA   "DSA PRIVATE KEY"

Definition at line 125 of file pem.h.

#define PEM_STRING_DSA_PUBLIC   "DSA PUBLIC KEY"

Definition at line 126 of file pem.h.

#define PEM_STRING_DSAPARAMS   "DSA PARAMETERS"

Definition at line 132 of file pem.h.

#define PEM_STRING_ECDSA_PUBLIC   "ECDSA PUBLIC KEY"

Definition at line 133 of file pem.h.

#define PEM_STRING_ECPARAMETERS   "EC PARAMETERS"

Definition at line 134 of file pem.h.

#define PEM_STRING_ECPRIVATEKEY   "EC PRIVATE KEY"

Definition at line 135 of file pem.h.

#define PEM_STRING_EVP_PKEY   "ANY PRIVATE KEY"

Definition at line 121 of file pem.h.

#define PEM_STRING_PKCS7   "PKCS7"

Definition at line 127 of file pem.h.

#define PEM_STRING_PKCS8   "ENCRYPTED PRIVATE KEY"

Definition at line 128 of file pem.h.

#define PEM_STRING_PKCS8INF   "PRIVATE KEY"

Definition at line 129 of file pem.h.

#define PEM_STRING_PUBLIC   "PUBLIC KEY"

Definition at line 122 of file pem.h.

#define PEM_STRING_RSA   "RSA PRIVATE KEY"

Definition at line 123 of file pem.h.

#define PEM_STRING_RSA_PUBLIC   "RSA PUBLIC KEY"

Definition at line 124 of file pem.h.

#define PEM_STRING_SSL_SESSION   "SSL SESSION PARAMETERS"

Definition at line 131 of file pem.h.

#define PEM_STRING_X509   "CERTIFICATE"

Definition at line 115 of file pem.h.

#define PEM_STRING_X509_CRL   "X509 CRL"

Definition at line 120 of file pem.h.

#define PEM_STRING_X509_OLD   "X509 CERTIFICATE"

Definition at line 114 of file pem.h.

#define PEM_STRING_X509_PAIR   "CERTIFICATE PAIR"

Definition at line 116 of file pem.h.

#define PEM_STRING_X509_REQ   "CERTIFICATE REQUEST"

Definition at line 119 of file pem.h.

#define PEM_STRING_X509_REQ_OLD   "NEW CERTIFICATE REQUEST"

Definition at line 118 of file pem.h.

#define PEM_STRING_X509_TRUSTED   "TRUSTED CERTIFICATE"

Definition at line 117 of file pem.h.

#define PEM_TYPE_CLEAR   40

Definition at line 150 of file pem.h.

#define PEM_TYPE_ENCRYPTED   10

Definition at line 147 of file pem.h.

#define PEM_TYPE_MIC_CLEAR   30

Definition at line 149 of file pem.h.

#define PEM_TYPE_MIC_ONLY   20

Definition at line 148 of file pem.h.


Typedef Documentation

typedef struct pem_ctx_st PEM_CTX

typedef int pem_password_cb(char *buf, int size, int rwflag, void *userdata)

Definition at line 529 of file pem.h.

typedef struct pem_recip_st PEM_USER


Function Documentation

EVP_PKEY* d2i_PKCS8PrivateKey_bio ( BIO bp,
EVP_PKEY **  x,
pem_password_cb cb,
void *  u 
)

EVP_PKEY* d2i_PKCS8PrivateKey_fp ( FILE *  fp,
EVP_PKEY **  x,
pem_password_cb cb,
void *  u 
)

X509 X509_REQ X509_CRL NETSCAPE_CERT_SEQUENCE PKCS8_PRIV_KEY_INFO RSA DSA DECLARE_PEM_rw ( DSA_PUBKEY  ,
DSA   
)

X509 X509_REQ X509_CRL NETSCAPE_CERT_SEQUENCE PKCS8_PRIV_KEY_INFO RSA DECLARE_PEM_rw ( RSA_PUBKEY  ,
RSA   
)

X509 X509_REQ X509_CRL NETSCAPE_CERT_SEQUENCE DECLARE_PEM_rw ( PKCS8  ,
X509_SIG   
)

X509 X509_REQ X509_CRL DECLARE_PEM_rw ( PKCS7  ,
PKCS7   
)

X509 DECLARE_PEM_rw ( X509_CERT_PAIR  ,
X509_CERT_PAIR   
)

DECLARE_PEM_rw ( X509  ,
X509   
)

X509 X509_REQ X509_CRL NETSCAPE_CERT_SEQUENCE PKCS8_PRIV_KEY_INFO DECLARE_PEM_rw_cb ( RSAPrivateKey  ,
RSA   
)

X509 X509_REQ X509_CRL NETSCAPE_CERT_SEQUENCE PKCS8_PRIV_KEY_INFO RSA DSA DSA DECLARE_PEM_rw_const ( ECPKParameters  ,
EC_GROUP   
)

X509 X509_REQ DECLARE_PEM_write ( X509_REQ_NEW  ,
X509_REQ   
)

void ERR_load_PEM_strings ( void   ) 

int i2d_PKCS8PrivateKey_bio ( BIO bp,
EVP_PKEY x,
const EVP_CIPHER enc,
char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

int i2d_PKCS8PrivateKey_fp ( FILE *  fp,
EVP_PKEY x,
const EVP_CIPHER enc,
char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

int i2d_PKCS8PrivateKey_nid_bio ( BIO bp,
EVP_PKEY x,
int  nid,
char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

int i2d_PKCS8PrivateKey_nid_fp ( FILE *  fp,
EVP_PKEY x,
int  nid,
char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

void* PEM_ASN1_read ( d2i_of_void *  d2i,
const char *  name,
FILE *  fp,
void **  x,
pem_password_cb cb,
void *  u 
)

void* PEM_ASN1_read_bio ( d2i_of_void *  d2i,
const char *  name,
BIO bp,
void **  x,
pem_password_cb cb,
void *  u 
)

int PEM_ASN1_write ( i2d_of_void *  i2d,
const char *  name,
FILE *  fp,
char *  x,
const EVP_CIPHER enc,
unsigned char *  kstr,
int  klen,
pem_password_cb callback,
void *  u 
)

int PEM_ASN1_write_bio ( i2d_of_void *  i2d,
const char *  name,
BIO bp,
char *  x,
const EVP_CIPHER enc,
unsigned char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

int PEM_bytes_read_bio ( unsigned char **  pdata,
long *  plen,
char **  pnm,
const char *  name,
BIO bp,
pem_password_cb cb,
void *  u 
)

int PEM_def_callback ( char *  buf,
int  num,
int  w,
void *  key 
)

void PEM_dek_info ( char *  buf,
const char *  type,
int  len,
char *  str 
)

int PEM_do_header ( EVP_CIPHER_INFO cipher,
unsigned char *  data,
long *  len,
pem_password_cb callback,
void *  u 
)

int PEM_get_EVP_CIPHER_INFO ( char *  header,
EVP_CIPHER_INFO cipher 
)

void PEM_proc_type ( char *  buf,
int  type 
)

int PEM_read ( FILE *  fp,
char **  name,
char **  header,
unsigned char **  data,
long *  len 
)

int PEM_read_bio ( BIO bp,
char **  name,
char **  header,
unsigned char **  data,
long *  len 
)

int PEM_SealFinal ( PEM_ENCODE_SEAL_CTX ctx,
unsigned char *  sig,
int *  sigl,
unsigned char *  out,
int *  outl,
EVP_PKEY priv 
)

int PEM_SealInit ( PEM_ENCODE_SEAL_CTX ctx,
EVP_CIPHER type,
EVP_MD md_type,
unsigned char **  ek,
int *  ekl,
unsigned char *  iv,
EVP_PKEY **  pubk,
int  npubk 
)

void PEM_SealUpdate ( PEM_ENCODE_SEAL_CTX ctx,
unsigned char *  out,
int *  outl,
unsigned char *  in,
int  inl 
)

int PEM_SignFinal ( EVP_MD_CTX ctx,
unsigned char *  sigret,
unsigned int *  siglen,
EVP_PKEY pkey 
)

void PEM_SignInit ( EVP_MD_CTX ctx,
EVP_MD type 
)

void PEM_SignUpdate ( EVP_MD_CTX ctx,
unsigned char *  d,
unsigned int  cnt 
)

int PEM_write ( FILE *  fp,
char *  name,
char *  hdr,
unsigned char *  data,
long  len 
)

int PEM_write_bio ( BIO bp,
const char *  name,
char *  hdr,
unsigned char *  data,
long  len 
)

int PEM_write_bio_PKCS8PrivateKey ( BIO ,
EVP_PKEY ,
const EVP_CIPHER ,
char *  ,
int  ,
pem_password_cb ,
void *   
)

X509 X509_REQ X509_CRL NETSCAPE_CERT_SEQUENCE PKCS8_PRIV_KEY_INFO RSA DSA DSA EC_KEY DH EVP_PKEY int PEM_write_bio_PKCS8PrivateKey_nid ( BIO bp,
EVP_PKEY x,
int  nid,
char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

int PEM_write_PKCS8PrivateKey ( FILE *  fp,
EVP_PKEY x,
const EVP_CIPHER enc,
char *  kstr,
int  klen,
pem_password_cb cd,
void *  u 
)

int PEM_write_PKCS8PrivateKey_nid ( FILE *  fp,
EVP_PKEY x,
int  nid,
char *  kstr,
int  klen,
pem_password_cb cb,
void *  u 
)

int PEM_X509_INFO_write_bio ( BIO bp,
X509_INFO xi,
EVP_CIPHER enc,
unsigned char *  kstr,
int  klen,
pem_password_cb cd,
void *  u 
)

STACK_OF ( X509_INFO   ) 


Variable Documentation

Definition at line 556 of file pem.h.

Definition at line 556 of file pem.h.


Generated on Thu Aug 20 22:33:06 2009 for OpenXDAS by  doxygen 1.5.6