From c83e523d7f0c095c0fe5851edd5d3c9355e34a3f Mon Sep 17 00:00:00 2001 From: "Dr. Stephen Henson" Date: Sat, 17 Apr 1999 23:55:39 +0000 Subject: Allow asn1parse to print out VISIBLESTRING and some code needed for certificate policies extension. --- crypto/asn1/a_print.c | 22 ++++++++++++++++++++++ crypto/asn1/asn1.h | 33 +++++++++++++++++++++++++++++++++ crypto/asn1/asn1_par.c | 5 +++-- 3 files changed, 58 insertions(+), 2 deletions(-) (limited to 'crypto/asn1') diff --git a/crypto/asn1/a_print.c b/crypto/asn1/a_print.c index 3023361dee..9fa75616ae 100644 --- a/crypto/asn1/a_print.c +++ b/crypto/asn1/a_print.c @@ -159,3 +159,25 @@ ASN1_UNIVERSALSTRING *s; return(1); } + +int i2d_DIRECTORYSTRING(a,pp) +ASN1_STRING *a; +unsigned char **pp; + { return(M_i2d_DIRECTORYSTRING(a,pp)); } + +ASN1_STRING *d2i_DIRECTORYSTRING(a,pp,l) +ASN1_STRING **a; +unsigned char **pp; +long l; + { return(M_d2i_DIRECTORYSTRING(a,pp,l)); } + +int i2d_DISPLAYTEXT(a,pp) +ASN1_STRING *a; +unsigned char **pp; + { return(M_i2d_DISPLAYTEXT(a,pp)); } + +ASN1_STRING *d2i_DISPLAYTEXT(a,pp,l) +ASN1_STRING **a; +unsigned char **pp; +long l; + { return(M_d2i_DISPLAYTEXT(a,pp,l)); } diff --git a/crypto/asn1/asn1.h b/crypto/asn1/asn1.h index 5a2cee1b9a..3dc6edaad1 100644 --- a/crypto/asn1/asn1.h +++ b/crypto/asn1/asn1.h @@ -315,6 +315,28 @@ typedef struct asn1_header_st B_ASN1_BMPSTRING|\ B_ASN1_UNKNOWN) +#define DIRECTORYSTRING_new() ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) +#define DIRECTORYSTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) +#define M_i2d_DIRECTORYSTRING(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +#define M_d2i_DIRECTORYSTRING(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_PRINTABLESTRING| \ + B_ASN1_TELETEXSTRING|\ + B_ASN1_BMPSTRING|\ + B_ASN1_UNIVERSALSTRING|\ + B_ASN1_UTF8STRING) + +#define DISPLAYTEXT_new() ASN1_STRING_type_new(V_ASN1_VISIBLESTRING) +#define DISPLAYTEXT_free(a) ASN1_STRING_free((ASN1_STRING *)a) +#define M_i2d_DISPLAYTEXT(a,pp) i2d_ASN1_bytes((ASN1_STRING *)a,\ + pp,a->type,V_ASN1_UNIVERSAL) +#define M_d2i_DISPLAYTEXT(a,pp,l) \ + d2i_ASN1_type_bytes((ASN1_STRING **)a,pp,l, \ + B_ASN1_VISIBLESTRING| \ + B_ASN1_BMPSTRING|\ + B_ASN1_UTF8STRING) + #define ASN1_PRINTABLESTRING_new() (ASN1_PRINTABLESTRING *)\ ASN1_STRING_type_new(V_ASN1_PRINTABLESTRING) #define ASN1_PRINTABLESTRING_free(a) ASN1_STRING_free((ASN1_STRING *)a) @@ -499,6 +521,13 @@ ASN1_STRING *d2i_ASN1_PRINTABLE(ASN1_STRING **a, ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **a, unsigned char **pp, long l); +int i2d_DIRECTORYSTRING(ASN1_STRING *a,unsigned char **pp); +ASN1_STRING *d2i_DIRECTORYSTRING(ASN1_STRING **a, unsigned char **pp, + long length); + +int i2d_DISPLAYTEXT(ASN1_STRING *a,unsigned char **pp); +ASN1_STRING *d2i_DISPLAYTEXT(ASN1_STRING **a, unsigned char **pp, long length); + ASN1_T61STRING *d2i_ASN1_T61STRING(ASN1_T61STRING **a, unsigned char **pp, long l); int i2d_ASN1_IA5STRING(ASN1_IA5STRING *a,unsigned char **pp); @@ -690,6 +719,10 @@ int i2d_ASN1_UTF8STRING(); ASN1_UTF8STRING *d2i_ASN1_UTF8STRING(); int i2d_ASN1_PRINTABLE(); ASN1_STRING *d2i_ASN1_PRINTABLE(); +int i2d_DIRECTORYSTRING(); +ASN1_STRING *d2i_DIRECTORYSTRING(); +int i2d_DISPLAYTEXT(); +ASN1_STRING *d2i_DISPLAYTEXT(); ASN1_PRINTABLESTRING *d2i_ASN1_PRINTABLESTRING(); ASN1_T61STRING *d2i_ASN1_T61STRING(); int i2d_ASN1_IA5STRING(); diff --git a/crypto/asn1/asn1_par.c b/crypto/asn1/asn1_par.c index 9cddfb497b..d62be7dbe2 100644 --- a/crypto/asn1/asn1_par.c +++ b/crypto/asn1/asn1_par.c @@ -141,8 +141,8 @@ int indent; p="GENERALIZEDTIME"; else if (tag == V_ASN1_GRAPHICSTRING) p="GRAPHICSTRING"; - else if (tag == V_ASN1_ISO64STRING) - p="ISO64STRING"; + else if (tag == V_ASN1_VISIBLESTRING) + p="VISIBLESTRING"; else if (tag == V_ASN1_GENERALSTRING) p="GENERALSTRING"; else if (tag == V_ASN1_UNIVERSALSTRING) @@ -269,6 +269,7 @@ int indent; if ( (tag == V_ASN1_PRINTABLESTRING) || (tag == V_ASN1_T61STRING) || (tag == V_ASN1_IA5STRING) || + (tag == V_ASN1_VISIBLESTRING) || (tag == V_ASN1_UTCTIME) || (tag == V_ASN1_GENERALIZEDTIME)) { -- cgit v1.2.3