Remove references to o_time.h
[openssl.git] / crypto / asn1 / x_spki.c
index 5600d305a3eed874b8fdb0de1085a9296d395f4a..2aece077c53aa4281e26fedd104ffbde1f239d61 100644 (file)
  */
 
  /* This module was send to me my Pat Richards <patr@x509.com> who
-  * wrote it.  It is under my Copyright with his permision
+  * wrote it.  It is under my Copyright with his permission
   */
 
 #include <stdio.h>
 #include "cryptlib.h"
-#include "x509.h"
-#include "asn1_mac.h"
+#include <openssl/x509.h>
+#include <openssl/asn1t.h>
 
-/*
- * ASN1err(ASN1_F_D2I_NETSCAPE_SPKAC,ERR_R_ASN1_LENGTH_MISMATCH);
- * ASN1err(ASN1_F_NETSCAPE_SPKAC_NEW,ERR_R_ASN1_LENGTH_MISMATCH);
- * ASN1err(ASN1_F_D2I_NETSCAPE_SPKI,ERR_R_ASN1_LENGTH_MISMATCH);
- * ASN1err(ASN1_F_NETSCAPE_SPKI_NEW,ERR_R_ASN1_LENGTH_MISMATCH);
- */
-
-int i2d_NETSCAPE_SPKAC(a,pp)
-NETSCAPE_SPKAC *a;
-unsigned char **pp;
-       {
-       M_ASN1_I2D_vars(a);
-
-       M_ASN1_I2D_len(a->pubkey,       i2d_X509_PUBKEY);
-       M_ASN1_I2D_len(a->challenge,    i2d_ASN1_IA5STRING);
-
-       M_ASN1_I2D_seq_total();
-
-       M_ASN1_I2D_put(a->pubkey,       i2d_X509_PUBKEY);
-       M_ASN1_I2D_put(a->challenge,    i2d_ASN1_IA5STRING);
-
-       M_ASN1_I2D_finish();
-       }
-
-NETSCAPE_SPKAC *d2i_NETSCAPE_SPKAC(a,pp,length)
-NETSCAPE_SPKAC **a;
-unsigned char **pp;
-long length;
-       {
-       M_ASN1_D2I_vars(a,NETSCAPE_SPKAC *,NETSCAPE_SPKAC_new);
-
-       M_ASN1_D2I_Init();
-       M_ASN1_D2I_start_sequence();
-       M_ASN1_D2I_get(ret->pubkey,d2i_X509_PUBKEY);
-       M_ASN1_D2I_get(ret->challenge,d2i_ASN1_IA5STRING);
-       M_ASN1_D2I_Finish(a,NETSCAPE_SPKAC_free,ASN1_F_D2I_NETSCAPE_SPKAC);
-       }
-
-NETSCAPE_SPKAC *NETSCAPE_SPKAC_new()
-       {
-       NETSCAPE_SPKAC *ret=NULL;
-       ASN1_CTX c;
-
-       M_ASN1_New_Malloc(ret,NETSCAPE_SPKAC);
-       M_ASN1_New(ret->pubkey,X509_PUBKEY_new);
-       M_ASN1_New(ret->challenge,ASN1_IA5STRING_new);
-       return(ret);
-       M_ASN1_New_Error(ASN1_F_NETSCAPE_SPKAC_NEW);
-       }
-
-void NETSCAPE_SPKAC_free(a)
-NETSCAPE_SPKAC *a;
-       {
-       if (a == NULL) return;
-       X509_PUBKEY_free(a->pubkey);
-       ASN1_IA5STRING_free(a->challenge);
-       Free((char *)a);
-       }
-
-int i2d_NETSCAPE_SPKI(a,pp)
-NETSCAPE_SPKI *a;
-unsigned char **pp;
-       {
-       M_ASN1_I2D_vars(a);
-
-       M_ASN1_I2D_len(a->spkac,        i2d_NETSCAPE_SPKAC);
-       M_ASN1_I2D_len(a->sig_algor,    i2d_X509_ALGOR);
-       M_ASN1_I2D_len(a->signature,    i2d_ASN1_BIT_STRING);
-
-       M_ASN1_I2D_seq_total();
-
-       M_ASN1_I2D_put(a->spkac,        i2d_NETSCAPE_SPKAC);
-       M_ASN1_I2D_put(a->sig_algor,    i2d_X509_ALGOR);
-       M_ASN1_I2D_put(a->signature,    i2d_ASN1_BIT_STRING);
-
-       M_ASN1_I2D_finish();
-       }
-
-NETSCAPE_SPKI *d2i_NETSCAPE_SPKI(a,pp,length)
-NETSCAPE_SPKI **a;
-unsigned char **pp;
-long length;
-       {
-       M_ASN1_D2I_vars(a,NETSCAPE_SPKI *,NETSCAPE_SPKI_new);
-
-       M_ASN1_D2I_Init();
-       M_ASN1_D2I_start_sequence();
-       M_ASN1_D2I_get(ret->spkac,d2i_NETSCAPE_SPKAC);
-       M_ASN1_D2I_get(ret->sig_algor,d2i_X509_ALGOR);
-       M_ASN1_D2I_get(ret->signature,d2i_ASN1_BIT_STRING);
-       M_ASN1_D2I_Finish(a,NETSCAPE_SPKI_free,ASN1_F_D2I_NETSCAPE_SPKI);
-       }
-
-NETSCAPE_SPKI *NETSCAPE_SPKI_new()
-       {
-       NETSCAPE_SPKI *ret=NULL;
-       ASN1_CTX c;
+ASN1_SEQUENCE(NETSCAPE_SPKAC) = {
+       ASN1_SIMPLE(NETSCAPE_SPKAC, pubkey, X509_PUBKEY),
+       ASN1_SIMPLE(NETSCAPE_SPKAC, challenge, ASN1_IA5STRING)
+} ASN1_SEQUENCE_END(NETSCAPE_SPKAC)
 
-       M_ASN1_New_Malloc(ret,NETSCAPE_SPKI);
-       M_ASN1_New(ret->spkac,NETSCAPE_SPKAC_new);
-       M_ASN1_New(ret->sig_algor,X509_ALGOR_new);
-       M_ASN1_New(ret->signature,ASN1_BIT_STRING_new);
-       return(ret);
-       M_ASN1_New_Error(ASN1_F_NETSCAPE_SPKI_NEW);
-       }
+IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKAC)
 
-void NETSCAPE_SPKI_free(a)
-NETSCAPE_SPKI *a;
-       {
-       if (a == NULL) return;
-       NETSCAPE_SPKAC_free(a->spkac);
-       X509_ALGOR_free(a->sig_algor);
-       ASN1_BIT_STRING_free(a->signature);
-       Free((char *)a);
-       }
+ASN1_SEQUENCE(NETSCAPE_SPKI) = {
+       ASN1_SIMPLE(NETSCAPE_SPKI, spkac, NETSCAPE_SPKAC),
+       ASN1_SIMPLE(NETSCAPE_SPKI, sig_algor, X509_ALGOR),
+       ASN1_SIMPLE(NETSCAPE_SPKI, signature, ASN1_BIT_STRING)
+} ASN1_SEQUENCE_END(NETSCAPE_SPKI)
 
+IMPLEMENT_ASN1_FUNCTIONS(NETSCAPE_SPKI)