x509v3.h #1

  • //
  • guest/
  • perforce_software/
  • p4/
  • 2014-2/
  • sslstub/
  • openssl/
  • x509v3.h
  • View
  • Commits
  • Open Download .zip Download (4 KB)
/**
 * @file x509v3.h
 *
 * @brief Perforce's API stubbed out version of openssl/x509v3.h
 *
 * Threading: 
 *
 * @date   November 18, 2011
 * @author Wendy Heffner (wheffner)
 *
 * Copyright (c) 2011 Perforce Software  
 * Confidential.  All Rights Reserved.
 */

#ifndef HEADER_X509V3_H
#define HEADER_X509V3_H

# include <stdio.h>
# include <sys/types.h>


////////////////////////////////////////////////////////////////////////////
//			       DEFINES                                    //
////////////////////////////////////////////////////////////////////////////

# define ASN1_INTEGER int
# define ASN1_TIME void
# define ENGINE void
# define EVP_CIPHER  void
# define EVP_MD void
# define ASN1_INTEGER			int
# define ASN1_TIME			void
# define ENGINE				void
# define EVP_CIPHER			void
# define EVP_MD				void
# define RSA				void
# define pem_password_cb		void

# ifndef BIO
# define BIO void
# endif //BIO

# define X509_NAME			void
# define X509_PUBKEY			void
# define RSA_F4				0x10001L
# define EVP_MAX_MD_SIZE		64
# define EVP_PKEY_RSA			6
# define EVP_PKEY_assign_RSA(pkey,rsa)	0
# define X509_get_notBefore(x)		0
# define X509_get_notAfter(x)		0
# define MBSTRING_ASC			0
# define CRYPTO_LOCK			0x01
# define CRYPTO_UNLOCK			0x02
# define CRYPTO_READ			0x04
# define CRYPTO_WRITE			0x08

# ifndef X509
typedef struct x509_cinf_st
{
	X509_PUBKEY *key;
} X509_CINF;
struct x509_st
{
	X509_CINF *cert_info;
};
# define X509				struct x509_st
# endif //X509

# define X509_get_X509_PUBKEY(x)	((x)->cert_info->key)

typedef struct evp_pkey_st
{
	int type;
	void *data;
} EVP_PKEY;

////////////////////////////////////////////////////////////////////////////
//			       METHOD STUBS                               //
////////////////////////////////////////////////////////////////////////////
int ASN1_INTEGER_set (ASN1_INTEGER *a, long v); 
int EVP_PKEY_assign (EVP_PKEY *pkey,int type,void *key);
void EVP_PKEY_free (EVP_PKEY *pkey);
int	EVP_Digest(const void *data, size_t count,
		unsigned char *md, unsigned int *size, const EVP_MD *type, ENGINE *impl);
EVP_PKEY * EVP_PKEY_new (void);
EVP_PKEY * X509_get_pubkey(X509 *a);

EVP_MD * EVP_sha1 (void);
const char *	OBJ_nid2sn(int n);

RSA * RSA_generate_key (int bits, unsigned long e,
                        void (*callback)(int,int,void *),void *cb_arg);
int X509_cmp_time(const ASN1_TIME *ctm, time_t *cmp_time);
void X509_free (X509 *a);
X509_NAME * X509_get_issuer_name (X509 *a);
ASN1_INTEGER * X509_get_serialNumber (X509 *a);
X509_NAME * X509_get_subject_name (X509 *a);
ASN1_TIME * X509_gmtime_adj (ASN1_TIME *s, long adj);
int ASN1_TIME_print(BIO *bp, const ASN1_TIME *tm);
int X509_NAME_add_entry_by_txt (X509_NAME *name, const char *field, 
                                int type, const unsigned char *bytes, 
                                int len, int loc, int set);
char * X509_NAME_oneline (X509_NAME *a,char *buf,int size);
X509 * X509_new (void);
int X509_digest(const X509 *data, const EVP_MD *type,
        unsigned char *md, unsigned int *len);
int X509_pubkey_digest(const X509 *data, const EVP_MD *type,
	unsigned char *md, unsigned int *len);
int X509_set_issuer_name (X509 *x, X509_NAME *name);
int X509_set_pubkey (X509 *x, EVP_PKEY *pkey);
int X509_set_version (X509 *x,long version);
int X509_sign (X509 *x, EVP_PKEY *pkey, const EVP_MD *md);
EVP_PKEY *PEM_read_PrivateKey(FILE *fp, EVP_PKEY **x,
                              pem_password_cb *cb, void *u);
X509 *PEM_read_bio_X509(BIO *bp, X509 **x, pem_password_cb *cb, void *u);
X509 *PEM_read_X509(FILE *fp, X509 **x, pem_password_cb *cb, void *u);
int PEM_write_PrivateKey(FILE *fp, EVP_PKEY *x, const EVP_CIPHER *enc,
                                        unsigned char *kstr, int klen,
                                        pem_password_cb *cb, void *u);
int PEM_write_X509(FILE *fp, X509 *x);
int i2d_X509_PUBKEY(X509_PUBKEY *a, unsigned char **out);

#endif // HEADER_X509V3_H
# Change User Description Committed
#1 15903 Matt Attaway Everything should be happy now between the Workshop and the depot paths
//guest/perforce_software/p4/2014_2/sslstub/openssl/x509v3.h
#1 15901 Matt Attaway Clean up code to fit modern Workshop naming standards
//guest/perforce_software/p4/2014.2/sslstub/openssl/x509v3.h
#1 12189 Matt Attaway Initial (and much belated) drop of 2014.2 p4 source code