all files ending in '-' are the origional

*******************
CertListContents.h:

/* ANDROS: moved struct Member definition outside of parameter */
struct C_Member {
        CertificateSerialNumber_t        userCertificate;
        UTCTime_t        revocationDate;

        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
};


CertListContents.c: 
 changed struct Member references to struct C_Member.
 changed all names with _Member to _C_Member to avoid conflict with 
 AuthorizationData.c names.

*******************
AuthorizationData.h

/* ANDROS: moved struct Member definition outside of parameter */
struct A_Member {
        INTEGER_t        adtype;
        OCTET_STRING_t   addata;

        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
};

AuthorizationData.c: 
 changed struct Member references to struct A_Member.
 changed all names with _Member to _A_Member to avoid conflict with 
 CertListContents.c names.

*******************

created spkm3_asn1.h to hold #includes of all the .h files



Certificates

1) rfc2025 says SPKM - version 2 certificates, no extensions.
2) version and serial number recast as INTEGER - asn1c creates
   Version_t and CertificateSerialNumber_t which ber_decode() can't parse. 
3) ANY_t parsing - ber_decode barfs, change to OCTET STRING


typedef struct x509_cinf_st
        {
        ASN1_INTEGER *version;          /* [ 0 ] default of v1 */
        ASN1_INTEGER *serialNumber;
        X509_ALGOR *signature;
        X509_NAME *issuer;
        X509_VAL *validity;
        X509_NAME *subject;
        X509_PUBKEY *key;
        ASN1_BIT_STRING *issuerUID;             /* [ 1 ] optional in v2 */
        ASN1_BIT_STRING *subjectUID;            /* [ 2 ] optional in v2 */
        STACK_OF(X509_EXTENSION) *extensions;   /* [ 3 ] optional in v3 */
        } X509_CINF;


/* CertContents */
typedef struct CertContents {
        Version_t       *version        /* DEFAULT 0 */;
        CertificateSerialNumber_t        serialNumber;
        AlgorithmIdentifier_t    signature;
        Name_t   issuer;
        Validity_t       validity;
        Name_t   subject;
        SubjectPublicKeyInfo_t   subjectPublicKeyInfo;
        UID_t   *issuerUID      /* OPTIONAL */;
        UID_t   *subjectUID     /* OPTIONAL */;

        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
} CertContents_t;

NOTE!:  



struct X509_algor_st
        {
        ASN1_OBJECT *algorithm;
        ASN1_TYPE *parameter;
        } /* X509_ALGOR */;

/* AlgorithmIdentifier */
typedef struct AlgorithmIdentifier {
        OBJECT_IDENTIFIER_t      algorithm;
        ANY_t   *parameter      /* OPTIONAL */;

        /* Context for parsing across buffer boundaries */
        asn_struct_ctx_t _asn_ctx;
} AlgorithmIdentifier_t;

