#include <stdio.h>
#include "cryptlib.h"
#include <openssl/asn1_mac.h>
+#include <openssl/x509.h>
int i2d_X509_CINF(X509_CINF *a, unsigned char **pp)
{
M_ASN1_I2D_len(a->key, i2d_X509_PUBKEY);
M_ASN1_I2D_len_IMP_opt(a->issuerUID, i2d_ASN1_BIT_STRING);
M_ASN1_I2D_len_IMP_opt(a->subjectUID, i2d_ASN1_BIT_STRING);
- M_ASN1_I2D_len_EXP_SEQUENCE_opt(a->extensions,i2d_X509_EXTENSION,3,V_ASN1_SEQUENCE,v2);
+ M_ASN1_I2D_len_EXP_SEQUENCE_opt_type(X509_EXTENSION,a->extensions,
+ i2d_X509_EXTENSION,3,
+ V_ASN1_SEQUENCE,v2);
M_ASN1_I2D_seq_total();
M_ASN1_I2D_put(a->key, i2d_X509_PUBKEY);
M_ASN1_I2D_put_IMP_opt(a->issuerUID, i2d_ASN1_BIT_STRING,1);
M_ASN1_I2D_put_IMP_opt(a->subjectUID, i2d_ASN1_BIT_STRING,2);
- M_ASN1_I2D_put_EXP_SEQUENCE_opt(a->extensions,i2d_X509_EXTENSION,3,V_ASN1_SEQUENCE,v2);
+ M_ASN1_I2D_put_EXP_SEQUENCE_opt_type(X509_EXTENSION,a->extensions,
+ i2d_X509_EXTENSION,3,
+ V_ASN1_SEQUENCE,v2);
M_ASN1_I2D_finish();
}
{
if (ret->version != NULL)
{
- ASN1_INTEGER_free(ret->version);
+ M_ASN1_INTEGER_free(ret->version);
ret->version=NULL;
}
}
{
if (ret->issuerUID != NULL)
{
- ASN1_BIT_STRING_free(ret->issuerUID);
+ M_ASN1_BIT_STRING_free(ret->issuerUID);
ret->issuerUID=NULL;
}
if (ret->subjectUID != NULL)
{
- ASN1_BIT_STRING_free(ret->subjectUID);
+ M_ASN1_BIT_STRING_free(ret->subjectUID);
ret->subjectUID=NULL;
}
M_ASN1_D2I_get_IMP_opt(ret->issuerUID,d2i_ASN1_BIT_STRING, 1,
#endif
{
if (ret->extensions != NULL)
- while (sk_num(ret->extensions))
- X509_EXTENSION_free((X509_EXTENSION *)
- sk_pop(ret->extensions));
- M_ASN1_D2I_get_EXP_set_opt(ret->extensions,d2i_X509_EXTENSION,
- X509_EXTENSION_free,3,V_ASN1_SEQUENCE);
+ while (sk_X509_EXTENSION_num(ret->extensions))
+ X509_EXTENSION_free(
+ sk_X509_EXTENSION_pop(ret->extensions));
+ M_ASN1_D2I_get_EXP_set_opt_type(X509_EXTENSION,ret->extensions,
+ d2i_X509_EXTENSION,
+ X509_EXTENSION_free,3,
+ V_ASN1_SEQUENCE);
}
M_ASN1_D2I_Finish(a,X509_CINF_free,ASN1_F_D2I_X509_CINF);
}
M_ASN1_New_Malloc(ret,X509_CINF);
ret->version=NULL;
- M_ASN1_New(ret->serialNumber,ASN1_INTEGER_new);
+ M_ASN1_New(ret->serialNumber,M_ASN1_INTEGER_new);
M_ASN1_New(ret->signature,X509_ALGOR_new);
M_ASN1_New(ret->issuer,X509_NAME_new);
M_ASN1_New(ret->validity,X509_VAL_new);
void X509_CINF_free(X509_CINF *a)
{
if (a == NULL) return;
- ASN1_INTEGER_free(a->version);
- ASN1_INTEGER_free(a->serialNumber);
+ M_ASN1_INTEGER_free(a->version);
+ M_ASN1_INTEGER_free(a->serialNumber);
X509_ALGOR_free(a->signature);
X509_NAME_free(a->issuer);
X509_VAL_free(a->validity);
X509_NAME_free(a->subject);
X509_PUBKEY_free(a->key);
- ASN1_BIT_STRING_free(a->issuerUID);
- ASN1_BIT_STRING_free(a->subjectUID);
- sk_pop_free(a->extensions,X509_EXTENSION_free);
- Free((char *)a);
+ M_ASN1_BIT_STRING_free(a->issuerUID);
+ M_ASN1_BIT_STRING_free(a->subjectUID);
+ sk_X509_EXTENSION_pop_free(a->extensions,X509_EXTENSION_free);
+ OPENSSL_free(a);
}