Go to the documentation of this file.
69 #if defined(__cplusplus)
92 #define V_ASN1_UNIVERSAL 0x00
93 #define V_ASN1_APPLICATION 0x40
94 #define V_ASN1_CONTEXT_SPECIFIC 0x80
95 #define V_ASN1_PRIVATE 0xc0
99 #define V_ASN1_CONSTRUCTED 0x20
106 #define V_ASN1_PRIMITIVE_TAG 0x1f
112 #define V_ASN1_MAX_UNIVERSAL 0xff
115 #define V_ASN1_UNDEF (-1)
118 #define V_ASN1_OTHER (-3)
121 #define V_ASN1_ANY (-4)
125 #define V_ASN1_BOOLEAN 1
126 #define V_ASN1_INTEGER 2
127 #define V_ASN1_BIT_STRING 3
128 #define V_ASN1_OCTET_STRING 4
129 #define V_ASN1_NULL 5
130 #define V_ASN1_OBJECT 6
131 #define V_ASN1_OBJECT_DESCRIPTOR 7
132 #define V_ASN1_EXTERNAL 8
133 #define V_ASN1_REAL 9
134 #define V_ASN1_ENUMERATED 10
135 #define V_ASN1_UTF8STRING 12
136 #define V_ASN1_SEQUENCE 16
137 #define V_ASN1_SET 17
138 #define V_ASN1_NUMERICSTRING 18
139 #define V_ASN1_PRINTABLESTRING 19
140 #define V_ASN1_T61STRING 20
141 #define V_ASN1_TELETEXSTRING 20
142 #define V_ASN1_VIDEOTEXSTRING 21
143 #define V_ASN1_IA5STRING 22
144 #define V_ASN1_UTCTIME 23
145 #define V_ASN1_GENERALIZEDTIME 24
146 #define V_ASN1_GRAPHICSTRING 25
147 #define V_ASN1_ISO64STRING 26
148 #define V_ASN1_VISIBLESTRING 26
149 #define V_ASN1_GENERALSTRING 27
150 #define V_ASN1_UNIVERSALSTRING 28
151 #define V_ASN1_BMPSTRING 30
155 #define V_ASN1_NEG 0x100
156 #define V_ASN1_NEG_INTEGER (V_ASN1_INTEGER | V_ASN1_NEG)
157 #define V_ASN1_NEG_ENUMERATED (V_ASN1_ENUMERATED | V_ASN1_NEG)
160 #define B_ASN1_NUMERICSTRING 0x0001
161 #define B_ASN1_PRINTABLESTRING 0x0002
162 #define B_ASN1_T61STRING 0x0004
163 #define B_ASN1_TELETEXSTRING 0x0004
164 #define B_ASN1_VIDEOTEXSTRING 0x0008
165 #define B_ASN1_IA5STRING 0x0010
166 #define B_ASN1_GRAPHICSTRING 0x0020
167 #define B_ASN1_ISO64STRING 0x0040
168 #define B_ASN1_VISIBLESTRING 0x0040
169 #define B_ASN1_GENERALSTRING 0x0080
170 #define B_ASN1_UNIVERSALSTRING 0x0100
171 #define B_ASN1_OCTET_STRING 0x0200
172 #define B_ASN1_BIT_STRING 0x0400
173 #define B_ASN1_BMPSTRING 0x0800
174 #define B_ASN1_UNKNOWN 0x1000
175 #define B_ASN1_UTF8STRING 0x2000
176 #define B_ASN1_UTCTIME 0x4000
177 #define B_ASN1_GENERALIZEDTIME 0x8000
178 #define B_ASN1_SEQUENCE 0x10000
201 #if 0 // Sample functions
266 int i2d_SAMPLE(
const SAMPLE *
in,
uint8_t **outp);
268 #endif // Sample functions
299 #define DECLARE_ASN1_ITEM(name) extern OPENSSL_EXPORT const ASN1_ITEM name##_it;
302 #define ASN1_ITEM_rptr(name) (&(name##_it))
312 #define ASN1_ITEM_ref(name) (&(name##_it))
316 #define ASN1_ITEM_ptr(iptr) (iptr)
367 const unsigned char **
inp,
long len,
466 const unsigned char **
inp,
554 #define ASN1_STRING_FLAG_BITS_LEFT 0x08
710 const unsigned char *
data,
int len);
721 #define MBSTRING_FLAG 0x1000
722 #define MBSTRING_UTF8 (MBSTRING_FLAG)
723 #define MBSTRING_ASC (MBSTRING_FLAG | 1)
724 #define MBSTRING_BMP (MBSTRING_FLAG | 2)
725 #define MBSTRING_UNIV (MBSTRING_FLAG | 4)
728 #define DIRSTRING_TYPE \
729 (B_ASN1_PRINTABLESTRING | B_ASN1_T61STRING | B_ASN1_BMPSTRING | \
733 #define PKCS9STRING_TYPE (DIRSTRING_TYPE | B_ASN1_IA5STRING)
754 int len,
int inform,
unsigned long mask);
761 int len,
int inform,
unsigned long mask,
787 const unsigned char *
in,
793 #define STABLE_NO_MASK 0x02
806 unsigned long flags);
820 #define B_ASN1_DIRECTORYSTRING \
821 (B_ASN1_PRINTABLESTRING | B_ASN1_TELETEXSTRING | B_ASN1_BMPSTRING | \
822 B_ASN1_UNIVERSALSTRING | B_ASN1_UTF8STRING)
853 #define B_ASN1_DISPLAYTEXT \
854 (B_ASN1_IA5STRING | B_ASN1_VISIBLESTRING | B_ASN1_BMPSTRING | \
986 const unsigned char *
d,
int length);
1005 const unsigned char *
flags,
1207 int offset_day,
long offset_sec);
1276 #define B_ASN1_TIME (B_ASN1_UTCTIME | B_ASN1_GENERALIZEDTIME)
1408 int len,
const char *sn,
1625 #define ASN1_STRFLGS_ESC_2253 1
1628 #define ASN1_STRFLGS_ESC_CTRL 2
1631 #define ASN1_STRFLGS_ESC_MSB 4
1636 #define ASN1_STRFLGS_ESC_QUOTE 8
1644 #define ASN1_STRFLGS_UTF8_CONVERT 0x10
1648 #define ASN1_STRFLGS_IGNORE_TYPE 0x20
1651 #define ASN1_STRFLGS_SHOW_TYPE 0x40
1655 #define ASN1_STRFLGS_DUMP_ALL 0x80
1660 #define ASN1_STRFLGS_DUMP_UNKNOWN 0x100
1666 #define ASN1_STRFLGS_DUMP_DER 0x200
1670 #define ASN1_STRFLGS_RFC2253 \
1671 (ASN1_STRFLGS_ESC_2253 | ASN1_STRFLGS_ESC_CTRL | ASN1_STRFLGS_ESC_MSB | \
1672 ASN1_STRFLGS_UTF8_CONVERT | ASN1_STRFLGS_DUMP_UNKNOWN | \
1673 ASN1_STRFLGS_DUMP_DER)
1684 unsigned long flags);
1689 unsigned long flags);
1738 int *out_tag,
int *out_class,
long max_len);
1776 #define DECLARE_ASN1_FUNCTIONS(type) DECLARE_ASN1_FUNCTIONS_name(type, type)
1778 #define DECLARE_ASN1_ALLOC_FUNCTIONS(type) \
1779 DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, type)
1781 #define DECLARE_ASN1_FUNCTIONS_name(type, name) \
1782 DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \
1783 DECLARE_ASN1_ENCODE_FUNCTIONS(type, name, name)
1785 #define DECLARE_ASN1_FUNCTIONS_fname(type, itname, name) \
1786 DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \
1787 DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name)
1789 #define DECLARE_ASN1_ENCODE_FUNCTIONS(type, itname, name) \
1790 OPENSSL_EXPORT type *d2i_##name(type **a, const unsigned char **in, \
1792 OPENSSL_EXPORT int i2d_##name(type *a, unsigned char **out); \
1793 DECLARE_ASN1_ITEM(itname)
1795 #define DECLARE_ASN1_ENCODE_FUNCTIONS_const(type, name) \
1796 OPENSSL_EXPORT type *d2i_##name(type **a, const unsigned char **in, \
1798 OPENSSL_EXPORT int i2d_##name(const type *a, unsigned char **out); \
1799 DECLARE_ASN1_ITEM(name)
1801 #define DECLARE_ASN1_FUNCTIONS_const(name) \
1802 DECLARE_ASN1_ALLOC_FUNCTIONS(name) \
1803 DECLARE_ASN1_ENCODE_FUNCTIONS_const(name, name)
1805 #define DECLARE_ASN1_ALLOC_FUNCTIONS_name(type, name) \
1806 OPENSSL_EXPORT type *name##_new(void); \
1807 OPENSSL_EXPORT void name##_free(type *a);
1835 #define M_ASN1_STRING_length(x) ASN1_STRING_length(x)
1836 #define M_ASN1_STRING_type(x) ASN1_STRING_type(x)
1837 #define M_ASN1_STRING_data(x) ASN1_STRING_data(x)
1838 #define M_ASN1_BIT_STRING_new() ASN1_BIT_STRING_new()
1839 #define M_ASN1_BIT_STRING_free(a) ASN1_BIT_STRING_free(a)
1840 #define M_ASN1_BIT_STRING_dup(a) ASN1_STRING_dup(a)
1841 #define M_ASN1_BIT_STRING_cmp(a, b) ASN1_STRING_cmp(a, b)
1842 #define M_ASN1_BIT_STRING_set(a, b, c) ASN1_BIT_STRING_set(a, b, c)
1843 #define M_ASN1_INTEGER_new() ASN1_INTEGER_new()
1844 #define M_ASN1_INTEGER_free(a) ASN1_INTEGER_free(a)
1845 #define M_ASN1_INTEGER_dup(a) ASN1_INTEGER_dup(a)
1846 #define M_ASN1_INTEGER_cmp(a, b) ASN1_INTEGER_cmp(a, b)
1847 #define M_ASN1_ENUMERATED_new() ASN1_ENUMERATED_new()
1848 #define M_ASN1_ENUMERATED_free(a) ASN1_ENUMERATED_free(a)
1849 #define M_ASN1_ENUMERATED_dup(a) ASN1_STRING_dup(a)
1850 #define M_ASN1_ENUMERATED_cmp(a, b) ASN1_STRING_cmp(a, b)
1851 #define M_ASN1_OCTET_STRING_new() ASN1_OCTET_STRING_new()
1852 #define M_ASN1_OCTET_STRING_free(a) ASN1_OCTET_STRING_free()
1853 #define M_ASN1_OCTET_STRING_dup(a) ASN1_OCTET_STRING_dup(a)
1854 #define M_ASN1_OCTET_STRING_cmp(a, b) ASN1_OCTET_STRING_cmp(a, b)
1855 #define M_ASN1_OCTET_STRING_set(a, b, c) ASN1_OCTET_STRING_set(a, b, c)
1856 #define M_ASN1_OCTET_STRING_print(a, b) ASN1_STRING_print(a, b)
1857 #define M_ASN1_PRINTABLESTRING_new() ASN1_PRINTABLESTRING_new()
1858 #define M_ASN1_PRINTABLESTRING_free(a) ASN1_PRINTABLESTRING_free(a)
1859 #define M_ASN1_IA5STRING_new() ASN1_IA5STRING_new()
1860 #define M_ASN1_IA5STRING_free(a) ASN1_IA5STRING_free(a)
1861 #define M_ASN1_IA5STRING_dup(a) ASN1_STRING_dup(a)
1862 #define M_ASN1_UTCTIME_new() ASN1_UTCTIME_new()
1863 #define M_ASN1_UTCTIME_free(a) ASN1_UTCTIME_free(a)
1864 #define M_ASN1_UTCTIME_dup(a) ASN1_STRING_dup(a)
1865 #define M_ASN1_T61STRING_new() ASN1_T61STRING_new()
1866 #define M_ASN1_T61STRING_free(a) ASN1_T61STRING_free(a)
1867 #define M_ASN1_GENERALIZEDTIME_new() ASN1_GENERALIZEDTIME_new()
1868 #define M_ASN1_GENERALIZEDTIME_free(a) ASN1_GENERALIZEDTIME_free(a)
1869 #define M_ASN1_GENERALIZEDTIME_dup(a) ASN1_STRING_dup(a)
1870 #define M_ASN1_GENERALSTRING_new() ASN1_GENERALSTRING_new()
1871 #define M_ASN1_GENERALSTRING_free(a) ASN1_GENERALSTRING_free(a)
1872 #define M_ASN1_UNIVERSALSTRING_new() ASN1_UNIVERSALSTRING_new()
1873 #define M_ASN1_UNIVERSALSTRING_free(a) ASN1_UNIVERSALSTRING_free(a)
1874 #define M_ASN1_BMPSTRING_new() ASN1_BMPSTRING_new()
1875 #define M_ASN1_BMPSTRING_free(a) ASN1_BMPSTRING_free(a)
1876 #define M_ASN1_VISIBLESTRING_new() ASN1_VISIBLESTRING_new()
1877 #define M_ASN1_VISIBLESTRING_free(a) ASN1_VISIBLESTRING_free(a)
1878 #define M_ASN1_UTF8STRING_new() ASN1_UTF8STRING_new()
1879 #define M_ASN1_UTF8STRING_free(a) ASN1_UTF8STRING_free(a)
1887 #define B_ASN1_PRINTABLE \
1888 (B_ASN1_NUMERICSTRING | B_ASN1_PRINTABLESTRING | B_ASN1_T61STRING | \
1889 B_ASN1_IA5STRING | B_ASN1_BIT_STRING | B_ASN1_UNIVERSALSTRING | \
1890 B_ASN1_BMPSTRING | B_ASN1_UTF8STRING | B_ASN1_SEQUENCE | B_ASN1_UNKNOWN)
1926 #if defined(__cplusplus)
1943 #define ASN1_R_ASN1_LENGTH_MISMATCH 100
1944 #define ASN1_R_AUX_ERROR 101
1945 #define ASN1_R_BAD_GET_ASN1_OBJECT_CALL 102
1946 #define ASN1_R_BAD_OBJECT_HEADER 103
1947 #define ASN1_R_BMPSTRING_IS_WRONG_LENGTH 104
1948 #define ASN1_R_BN_LIB 105
1949 #define ASN1_R_BOOLEAN_IS_WRONG_LENGTH 106
1950 #define ASN1_R_BUFFER_TOO_SMALL 107
1951 #define ASN1_R_CONTEXT_NOT_INITIALISED 108
1952 #define ASN1_R_DECODE_ERROR 109
1953 #define ASN1_R_DEPTH_EXCEEDED 110
1954 #define ASN1_R_DIGEST_AND_KEY_TYPE_NOT_SUPPORTED 111
1955 #define ASN1_R_ENCODE_ERROR 112
1956 #define ASN1_R_ERROR_GETTING_TIME 113
1957 #define ASN1_R_EXPECTING_AN_ASN1_SEQUENCE 114
1958 #define ASN1_R_EXPECTING_AN_INTEGER 115
1959 #define ASN1_R_EXPECTING_AN_OBJECT 116
1960 #define ASN1_R_EXPECTING_A_BOOLEAN 117
1961 #define ASN1_R_EXPECTING_A_TIME 118
1962 #define ASN1_R_EXPLICIT_LENGTH_MISMATCH 119
1963 #define ASN1_R_EXPLICIT_TAG_NOT_CONSTRUCTED 120
1964 #define ASN1_R_FIELD_MISSING 121
1965 #define ASN1_R_FIRST_NUM_TOO_LARGE 122
1966 #define ASN1_R_HEADER_TOO_LONG 123
1967 #define ASN1_R_ILLEGAL_BITSTRING_FORMAT 124
1968 #define ASN1_R_ILLEGAL_BOOLEAN 125
1969 #define ASN1_R_ILLEGAL_CHARACTERS 126
1970 #define ASN1_R_ILLEGAL_FORMAT 127
1971 #define ASN1_R_ILLEGAL_HEX 128
1972 #define ASN1_R_ILLEGAL_IMPLICIT_TAG 129
1973 #define ASN1_R_ILLEGAL_INTEGER 130
1974 #define ASN1_R_ILLEGAL_NESTED_TAGGING 131
1975 #define ASN1_R_ILLEGAL_NULL 132
1976 #define ASN1_R_ILLEGAL_NULL_VALUE 133
1977 #define ASN1_R_ILLEGAL_OBJECT 134
1978 #define ASN1_R_ILLEGAL_OPTIONAL_ANY 135
1979 #define ASN1_R_ILLEGAL_OPTIONS_ON_ITEM_TEMPLATE 136
1980 #define ASN1_R_ILLEGAL_TAGGED_ANY 137
1981 #define ASN1_R_ILLEGAL_TIME_VALUE 138
1982 #define ASN1_R_INTEGER_NOT_ASCII_FORMAT 139
1983 #define ASN1_R_INTEGER_TOO_LARGE_FOR_LONG 140
1984 #define ASN1_R_INVALID_BIT_STRING_BITS_LEFT 141
1985 #define ASN1_R_INVALID_BMPSTRING 142
1986 #define ASN1_R_INVALID_DIGIT 143
1987 #define ASN1_R_INVALID_MODIFIER 144
1988 #define ASN1_R_INVALID_NUMBER 145
1989 #define ASN1_R_INVALID_OBJECT_ENCODING 146
1990 #define ASN1_R_INVALID_SEPARATOR 147
1991 #define ASN1_R_INVALID_TIME_FORMAT 148
1992 #define ASN1_R_INVALID_UNIVERSALSTRING 149
1993 #define ASN1_R_INVALID_UTF8STRING 150
1994 #define ASN1_R_LIST_ERROR 151
1995 #define ASN1_R_MISSING_ASN1_EOS 152
1996 #define ASN1_R_MISSING_EOC 153
1997 #define ASN1_R_MISSING_SECOND_NUMBER 154
1998 #define ASN1_R_MISSING_VALUE 155
1999 #define ASN1_R_MSTRING_NOT_UNIVERSAL 156
2000 #define ASN1_R_MSTRING_WRONG_TAG 157
2001 #define ASN1_R_NESTED_ASN1_ERROR 158
2002 #define ASN1_R_NESTED_ASN1_STRING 159
2003 #define ASN1_R_NON_HEX_CHARACTERS 160
2004 #define ASN1_R_NOT_ASCII_FORMAT 161
2005 #define ASN1_R_NOT_ENOUGH_DATA 162
2006 #define ASN1_R_NO_MATCHING_CHOICE_TYPE 163
2007 #define ASN1_R_NULL_IS_WRONG_LENGTH 164
2008 #define ASN1_R_OBJECT_NOT_ASCII_FORMAT 165
2009 #define ASN1_R_ODD_NUMBER_OF_CHARS 166
2010 #define ASN1_R_SECOND_NUMBER_TOO_LARGE 167
2011 #define ASN1_R_SEQUENCE_LENGTH_MISMATCH 168
2012 #define ASN1_R_SEQUENCE_NOT_CONSTRUCTED 169
2013 #define ASN1_R_SEQUENCE_OR_SET_NEEDS_CONFIG 170
2014 #define ASN1_R_SHORT_LINE 171
2015 #define ASN1_R_STREAMING_NOT_SUPPORTED 172
2016 #define ASN1_R_STRING_TOO_LONG 173
2017 #define ASN1_R_STRING_TOO_SHORT 174
2018 #define ASN1_R_TAG_VALUE_TOO_HIGH 175
2019 #define ASN1_R_TIME_NOT_ASCII_FORMAT 176
2020 #define ASN1_R_TOO_LONG 177
2021 #define ASN1_R_TYPE_NOT_CONSTRUCTED 178
2022 #define ASN1_R_TYPE_NOT_PRIMITIVE 179
2023 #define ASN1_R_UNEXPECTED_EOC 180
2024 #define ASN1_R_UNIVERSALSTRING_IS_WRONG_LENGTH 181
2025 #define ASN1_R_UNKNOWN_FORMAT 182
2026 #define ASN1_R_UNKNOWN_MESSAGE_DIGEST_ALGORITHM 183
2027 #define ASN1_R_UNKNOWN_SIGNATURE_ALGORITHM 184
2028 #define ASN1_R_UNKNOWN_TAG 185
2029 #define ASN1_R_UNSUPPORTED_ANY_DEFINED_BY_TYPE 186
2030 #define ASN1_R_UNSUPPORTED_PUBLIC_KEY_TYPE 187
2031 #define ASN1_R_UNSUPPORTED_TYPE 188
2032 #define ASN1_R_WRONG_PUBLIC_KEY_TYPE 189
2033 #define ASN1_R_WRONG_TAG 190
2034 #define ASN1_R_WRONG_TYPE 191
2035 #define ASN1_R_NESTED_TOO_DEEP 192
2036 #define ASN1_R_BAD_TEMPLATE 193
2037 #define ASN1_R_INVALID_BIT_STRING_PADDING 194
OPENSSL_EXPORT int ASN1_BIT_STRING_set(ASN1_BIT_STRING *str, const unsigned char *d, int length)
ASN1_STRING * asn1_string
OPENSSL_EXPORT ASN1_STRING * ASN1_item_pack(void *obj, const ASN1_ITEM *it, ASN1_STRING **out)
OPENSSL_EXPORT const ASN1_OBJECT * obj
OPENSSL_EXPORT ASN1_STRING * d2i_DISPLAYTEXT(ASN1_STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int ASN1_UTCTIME_check(const ASN1_UTCTIME *a)
OPENSSL_EXPORT int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *str, const unsigned char *data, int len)
OPENSSL_EXPORT ASN1_INTEGER * d2i_ASN1_INTEGER(ASN1_INTEGER **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int ASN1_STRING_set_default_mask_asc(const char *p)
OPENSSL_EXPORT void ASN1_OBJECT_free(ASN1_OBJECT *a)
OPENSSL_EXPORT void ASN1_IA5STRING_free(ASN1_IA5STRING *str)
ASN1_BMPSTRING * bmpstring
OPENSSL_EXPORT ASN1_STRING * d2i_ASN1_PRINTABLE(ASN1_STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_UNIVERSALSTRING * d2i_ASN1_UNIVERSALSTRING(ASN1_UNIVERSALSTRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int ASN1_UTCTIME_set_string(ASN1_UTCTIME *s, const char *str)
OPENSSL_EXPORT ASN1_VISIBLESTRING * ASN1_VISIBLESTRING_new(void)
OPENSSL_EXPORT int ASN1_TIME_check(const ASN1_TIME *t)
OPENSSL_EXPORT int i2d_ASN1_TYPE(const ASN1_TYPE *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_UTCTIME * ASN1_UTCTIME_new(void)
OPENSSL_EXPORT ASN1_TIME * ASN1_TIME_new(void)
OPENSSL_EXPORT ASN1_IA5STRING * d2i_ASN1_IA5STRING(ASN1_IA5STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_STRING * ASN1_STRING_dup(const ASN1_STRING *str)
OPENSSL_EXPORT BIGNUM * ASN1_INTEGER_to_BN(const ASN1_INTEGER *ai, BIGNUM *bn)
OPENSSL_EXPORT int ASN1_GENERALIZEDTIME_check(const ASN1_GENERALIZEDTIME *a)
OPENSSL_EXPORT ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *s, time_t t)
OPENSSL_EXPORT int ASN1_get_object(const unsigned char **inp, long *out_length, int *out_tag, int *out_class, long max_len)
OPENSSL_EXPORT ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_adj(ASN1_GENERALIZEDTIME *s, time_t t, int offset_day, long offset_sec)
OPENSSL_EXPORT void ASN1_STRING_set0(ASN1_STRING *str, void *data, int len)
OPENSSL_EXPORT ASN1_OCTET_STRING * d2i_ASN1_OCTET_STRING(ASN1_OCTET_STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_VISIBLESTRING * d2i_ASN1_VISIBLESTRING(ASN1_VISIBLESTRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_SEQUENCE_ANY * d2i_ASN1_SET_ANY(ASN1_SEQUENCE_ANY **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int i2d_ASN1_VISIBLESTRING(const ASN1_VISIBLESTRING *in, uint8_t **outp)
OPENSSL_EXPORT void DIRECTORYSTRING_free(ASN1_STRING *str)
OPENSSL_EXPORT int ASN1_BIT_STRING_num_bytes(const ASN1_BIT_STRING *str, size_t *out)
OPENSSL_EXPORT ASN1_GENERALIZEDTIME * ASN1_GENERALIZEDTIME_new(void)
OPENSSL_EXPORT int i2a_ASN1_OBJECT(BIO *bp, const ASN1_OBJECT *a)
OPENSSL_EXPORT int i2d_ASN1_GENERALSTRING(const ASN1_GENERALSTRING *in, uint8_t **outp)
OPENSSL_EXPORT int ASN1_STRING_print(BIO *out, const ASN1_STRING *str)
OPENSSL_EXPORT void * ASN1_item_dup(const ASN1_ITEM *it, void *x)
OPENSSL_EXPORT void ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *str)
OPENSSL_EXPORT ASN1_SEQUENCE_ANY * d2i_ASN1_SEQUENCE_ANY(ASN1_SEQUENCE_ANY **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int i2c_ASN1_BIT_STRING(const ASN1_BIT_STRING *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_OBJECT * d2i_ASN1_OBJECT(ASN1_OBJECT **out, const uint8_t **inp, long len)
ASN1_UNIVERSALSTRING * universalstring
OPENSSL_EXPORT void ASN1_PRINTABLE_free(ASN1_STRING *str)
OPENSSL_EXPORT int ASN1_OCTET_STRING_cmp(const ASN1_OCTET_STRING *a, const ASN1_OCTET_STRING *b)
OPENSSL_EXPORT int ASN1_put_eoc(unsigned char **outp)
OPENSSL_EXPORT int ASN1_STRING_set(ASN1_STRING *str, const void *data, int len)
OPENSSL_EXPORT void ASN1_TIME_free(ASN1_TIME *str)
OPENSSL_EXPORT void ASN1_UTCTIME_free(ASN1_UTCTIME *str)
OPENSSL_EXPORT ASN1_BMPSTRING * ASN1_BMPSTRING_new(void)
ASN1_T61STRING * t61string
OPENSSL_EXPORT int i2d_ASN1_OBJECT(const ASN1_OBJECT *a, uint8_t **outp)
const OPENSSL_EXPORT char * ASN1_tag2str(int tag)
OPENSSL_EXPORT int ASN1_PRINTABLE_type(const unsigned char *s, int len)
ASN1_VISIBLESTRING * visiblestring
OPENSSL_EXPORT ASN1_INTEGER * ASN1_INTEGER_new(void)
OPENSSL_EXPORT ASN1_NULL * ASN1_NULL_new(void)
OPENSSL_EXPORT ASN1_BMPSTRING * d2i_ASN1_BMPSTRING(ASN1_BMPSTRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_OBJECT * ASN1_OBJECT_create(int nid, const uint8_t *data, int len, const char *sn, const char *ln)
OPENSSL_EXPORT ASN1_UNIVERSALSTRING * ASN1_UNIVERSALSTRING_new(void)
OPENSSL_EXPORT int ASN1_ENUMERATED_set(ASN1_ENUMERATED *a, long v)
OPENSSL_EXPORT ASN1_OCTET_STRING * ASN1_OCTET_STRING_new(void)
OPENSSL_EXPORT long ASN1_ENUMERATED_get(const ASN1_ENUMERATED *a)
OPENSSL_EXPORT int i2a_ASN1_INTEGER(BIO *bp, const ASN1_INTEGER *a)
OPENSSL_EXPORT ASN1_ENUMERATED * ASN1_ENUMERATED_new(void)
OPENSSL_EXPORT void DISPLAYTEXT_free(ASN1_STRING *str)
OPENSSL_EXPORT int ASN1_BIT_STRING_check(const ASN1_BIT_STRING *str, const unsigned char *flags, int flags_len)
OPENSSL_EXPORT ASN1_GENERALIZEDTIME * ASN1_TIME_to_generalizedtime(const ASN1_TIME *t, ASN1_GENERALIZEDTIME **out)
OPENSSL_EXPORT void ASN1_TYPE_set(ASN1_TYPE *a, int type, void *value)
OPENSSL_EXPORT int i2t_ASN1_OBJECT(char *buf, int buf_len, const ASN1_OBJECT *a)
OPENSSL_EXPORT ASN1_BIT_STRING * ASN1_BIT_STRING_new(void)
int i2d_of_void(const void *, unsigned char **)
OPENSSL_EXPORT long ASN1_INTEGER_get(const ASN1_INTEGER *a)
OPENSSL_EXPORT ASN1_STRING * ASN1_STRING_type_new(int type)
OPENSSL_EXPORT int ASN1_TIME_diff(int *out_days, int *out_seconds, const ASN1_TIME *from, const ASN1_TIME *to)
OPENSSL_EXPORT int ASN1_BIT_STRING_get_bit(const ASN1_BIT_STRING *str, int n)
OPENSSL_EXPORT unsigned long ASN1_tag2bit(int tag)
OPENSSL_EXPORT int ASN1_TYPE_set1(ASN1_TYPE *a, int type, const void *value)
OPENSSL_EXPORT void ASN1_NULL_free(ASN1_NULL *null)
OPENSSL_EXPORT int ASN1_item_i2d_bio(const ASN1_ITEM *it, BIO *out, void *in)
OPENSSL_EXPORT int i2d_ASN1_UNIVERSALSTRING(const ASN1_UNIVERSALSTRING *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_INTEGER * ASN1_INTEGER_dup(const ASN1_INTEGER *x)
ASN1_PRINTABLESTRING * printablestring
OPENSSL_EXPORT int ASN1_INTEGER_cmp(const ASN1_INTEGER *x, const ASN1_INTEGER *y)
ASN1_UTF8STRING * utf8string
OPENSSL_EXPORT void * ASN1_item_d2i_fp(const ASN1_ITEM *it, FILE *in, void *out)
OPENSSL_EXPORT int ASN1_TIME_print(BIO *out, const ASN1_TIME *a)
OPENSSL_EXPORT ASN1_INTEGER * BN_to_ASN1_INTEGER(const BIGNUM *bn, ASN1_INTEGER *ai)
OPENSSL_EXPORT int ASN1_STRING_type(const ASN1_STRING *str)
ASN1_BIT_STRING * bit_string
OPENSSL_EXPORT ASN1_T61STRING * ASN1_T61STRING_new(void)
OPENSSL_EXPORT int ASN1_STRING_TABLE_add(int nid, long minsize, long maxsize, unsigned long mask, unsigned long flags)
OPENSSL_EXPORT ASN1_GENERALSTRING * ASN1_GENERALSTRING_new(void)
OPENSSL_EXPORT void ASN1_STRING_free(ASN1_STRING *str)
static void * tag(intptr_t t)
OPENSSL_EXPORT ASN1_STRING * d2i_DIRECTORYSTRING(ASN1_STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_PRINTABLESTRING * d2i_ASN1_PRINTABLESTRING(ASN1_PRINTABLESTRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_TIME * d2i_ASN1_TIME(ASN1_TIME **out, const uint8_t **inp, long len)
OPENSSL_EXPORT void ASN1_T61STRING_free(ASN1_T61STRING *str)
OPENSSL_EXPORT void ASN1_TYPE_free(ASN1_TYPE *a)
OPENSSL_EXPORT int ASN1_item_i2d(ASN1_VALUE *val, unsigned char **outp, const ASN1_ITEM *it)
OPENSSL_EXPORT ASN1_STRING * DIRECTORYSTRING_new(void)
OPENSSL_EXPORT BIGNUM * ASN1_ENUMERATED_to_BN(const ASN1_ENUMERATED *ai, BIGNUM *bn)
const OPENSSL_EXPORT unsigned char * ASN1_STRING_get0_data(const ASN1_STRING *str)
OPENSSL_EXPORT int ASN1_STRING_print_ex_fp(FILE *fp, const ASN1_STRING *str, unsigned long flags)
unsigned __int64 uint64_t
OPENSSL_EXPORT void ASN1_BMPSTRING_free(ASN1_BMPSTRING *str)
OPENSSL_EXPORT ASN1_STRING * ASN1_STRING_set_by_NID(ASN1_STRING **out, const unsigned char *in, int len, int inform, int nid)
#define BSSL_NAMESPACE_END
OPENSSL_EXPORT ASN1_VALUE * ASN1_item_d2i(ASN1_VALUE **out, const unsigned char **inp, long len, const ASN1_ITEM *it)
OPENSSL_EXPORT int i2d_DIRECTORYSTRING(const ASN1_STRING *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_TYPE * d2i_ASN1_TYPE(ASN1_TYPE **out, const uint8_t **inp, long len)
OPENSSL_EXPORT void ASN1_UTF8STRING_free(ASN1_UTF8STRING *str)
OPENSSL_EXPORT ASN1_UTCTIME * ASN1_UTCTIME_adj(ASN1_UTCTIME *s, time_t t, int offset_day, long offset_sec)
OPENSSL_EXPORT ASN1_ENUMERATED * BN_to_ASN1_ENUMERATED(const BIGNUM *bn, ASN1_ENUMERATED *ai)
OPENSSL_EXPORT int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *str, int n, int value)
OPENSSL_EXPORT int i2d_ASN1_PRINTABLE(const ASN1_STRING *in, uint8_t **outp)
OPENSSL_EXPORT unsigned long ASN1_STRING_get_default_mask(void)
OPENSSL_EXPORT int ASN1_INTEGER_set_uint64(ASN1_INTEGER *out, uint64_t v)
OPENSSL_EXPORT ASN1_T61STRING * d2i_ASN1_T61STRING(ASN1_T61STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_TIME * ASN1_TIME_adj(ASN1_TIME *s, time_t t, int offset_day, long offset_sec)
OPENSSL_EXPORT int i2d_ASN1_GENERALIZEDTIME(const ASN1_GENERALIZEDTIME *in, uint8_t **outp)
OPENSSL_EXPORT void ASN1_PRINTABLESTRING_free(ASN1_PRINTABLESTRING *str)
OPENSSL_EXPORT void ASN1_INTEGER_free(ASN1_INTEGER *str)
OPENSSL_EXPORT void ASN1_UNIVERSALSTRING_free(ASN1_UNIVERSALSTRING *str)
OPENSSL_EXPORT int ASN1_UTCTIME_cmp_time_t(const ASN1_UTCTIME *s, time_t t)
OPENSSL_EXPORT int i2a_ASN1_ENUMERATED(BIO *bp, const ASN1_ENUMERATED *a)
const typedef ASN1_ITEM ASN1_ITEM_EXP
#define DEFINE_STACK_OF(type)
ASN1_IA5STRING * ia5string
OPENSSL_EXPORT ASN1_UTCTIME * ASN1_UTCTIME_set(ASN1_UTCTIME *s, time_t t)
OPENSSL_EXPORT ASN1_NULL * d2i_ASN1_NULL(ASN1_NULL **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int i2d_ASN1_INTEGER(const ASN1_INTEGER *in, uint8_t **outp)
OPENSSL_EXPORT int ASN1_mbstring_ncopy(ASN1_STRING **out, const uint8_t *in, int len, int inform, unsigned long mask, long minsize, long maxsize)
OPENSSL_EXPORT void * ASN1_item_unpack(const ASN1_STRING *oct, const ASN1_ITEM *it)
typedef STACK_OF(ASN1_TYPE) ASN1_SEQUENCE_ANY
OPENSSL_EXPORT void ASN1_GENERALSTRING_free(ASN1_GENERALSTRING *str)
ASN1_OCTET_STRING * octet_string
OPENSSL_EXPORT int i2d_ASN1_UTCTIME(const ASN1_UTCTIME *in, uint8_t **outp)
OPENSSL_EXPORT int ASN1_GENERALIZEDTIME_set_string(ASN1_GENERALIZEDTIME *s, const char *str)
OPENSSL_EXPORT int ASN1_STRING_length(const ASN1_STRING *str)
OPENSSL_EXPORT void * ASN1_item_d2i_bio(const ASN1_ITEM *it, BIO *in, void *out)
OPENSSL_EXPORT ASN1_INTEGER * c2i_ASN1_INTEGER(ASN1_INTEGER **in, const uint8_t **outp, long len)
OPENSSL_EXPORT int i2a_ASN1_STRING(BIO *bp, const ASN1_STRING *a, int type)
OPENSSL_EXPORT ASN1_UTF8STRING * d2i_ASN1_UTF8STRING(ASN1_UTF8STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int ASN1_STRING_copy(ASN1_STRING *dst, const ASN1_STRING *str)
OPENSSL_EXPORT int i2d_ASN1_PRINTABLESTRING(const ASN1_PRINTABLESTRING *in, uint8_t **outp)
OPENSSL_EXPORT void ASN1_ENUMERATED_free(ASN1_ENUMERATED *str)
OPENSSL_EXPORT ASN1_OCTET_STRING * ASN1_OCTET_STRING_dup(const ASN1_OCTET_STRING *a)
OPENSSL_EXPORT int ASN1_item_i2d_fp(const ASN1_ITEM *it, FILE *out, void *in)
OPENSSL_EXPORT ASN1_STRING * ASN1_PRINTABLE_new(void)
OPENSSL_EXPORT ASN1_GENERALIZEDTIME * d2i_ASN1_GENERALIZEDTIME(ASN1_GENERALIZEDTIME **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_STRING * DISPLAYTEXT_new(void)
OPENSSL_EXPORT ASN1_STRING * ASN1_STRING_new(void)
OPENSSL_EXPORT int ASN1_STRING_print_ex(BIO *out, const ASN1_STRING *str, unsigned long flags)
OPENSSL_EXPORT int ASN1_mbstring_copy(ASN1_STRING **out, const uint8_t *in, int len, int inform, unsigned long mask)
#define BORINGSSL_MAKE_DELETER(type, deleter)
struct ASN1_VALUE_st ASN1_VALUE
OPENSSL_EXPORT ASN1_UTCTIME * d2i_ASN1_UTCTIME(ASN1_UTCTIME **out, const uint8_t **inp, long len)
#define DECLARE_ASN1_ITEM(name)
OPENSSL_EXPORT ASN1_UTF8STRING * ASN1_UTF8STRING_new(void)
OPENSSL_EXPORT int ASN1_UTCTIME_print(BIO *out, const ASN1_UTCTIME *a)
OPENSSL_EXPORT ASN1_TYPE * ASN1_TYPE_new(void)
OPENSSL_EXPORT int ASN1_STRING_to_UTF8(unsigned char **out, const ASN1_STRING *in)
OPENSSL_EXPORT int i2c_ASN1_INTEGER(const ASN1_INTEGER *in, uint8_t **outp)
OPENSSL_EXPORT void ASN1_STRING_TABLE_cleanup(void)
OPENSSL_EXPORT int i2d_ASN1_BOOLEAN(ASN1_BOOLEAN a, unsigned char **outp)
ASN1_GENERALIZEDTIME * generalizedtime
OPENSSL_EXPORT ASN1_ENUMERATED * d2i_ASN1_ENUMERATED(ASN1_ENUMERATED **out, const uint8_t **inp, long len)
void * d2i_of_void(void **, const unsigned char **, long)
OPENSSL_EXPORT int i2d_ASN1_SET_ANY(const ASN1_SEQUENCE_ANY *in, uint8_t **outp)
OPENSSL_EXPORT int ASN1_STRING_cmp(const ASN1_STRING *a, const ASN1_STRING *b)
OPENSSL_EXPORT int ASN1_object_size(int constructed, int length, int tag)
OPENSSL_EXPORT int i2d_ASN1_OCTET_STRING(const ASN1_OCTET_STRING *in, uint8_t **outp)
OPENSSL_EXPORT int i2d_ASN1_ENUMERATED(const ASN1_ENUMERATED *in, uint8_t **outp)
OPENSSL_EXPORT void ASN1_item_free(ASN1_VALUE *val, const ASN1_ITEM *it)
OPENSSL_EXPORT ASN1_TIME * ASN1_TIME_set(ASN1_TIME *s, time_t t)
OPENSSL_EXPORT int ASN1_TYPE_cmp(const ASN1_TYPE *a, const ASN1_TYPE *b)
ASN1_ENUMERATED * enumerated
OPENSSL_EXPORT int ASN1_GENERALIZEDTIME_print(BIO *out, const ASN1_GENERALIZEDTIME *a)
OPENSSL_EXPORT void ASN1_BIT_STRING_free(ASN1_BIT_STRING *str)
OPENSSL_EXPORT ASN1_IA5STRING * ASN1_IA5STRING_new(void)
OPENSSL_EXPORT int i2d_ASN1_BMPSTRING(const ASN1_BMPSTRING *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_PRINTABLESTRING * ASN1_PRINTABLESTRING_new(void)
OPENSSL_EXPORT unsigned char * ASN1_STRING_data(ASN1_STRING *str)
OPENSSL_EXPORT ASN1_BOOLEAN d2i_ASN1_BOOLEAN(ASN1_BOOLEAN *out, const unsigned char **inp, long len)
OPENSSL_EXPORT ASN1_BIT_STRING * d2i_ASN1_BIT_STRING(ASN1_BIT_STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT ASN1_GENERALSTRING * d2i_ASN1_GENERALSTRING(ASN1_GENERALSTRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT void ASN1_STRING_set_default_mask(unsigned long mask)
OPENSSL_EXPORT void ASN1_put_object(unsigned char **outp, int constructed, int length, int tag, int xclass)
OPENSSL_EXPORT void ASN1_VISIBLESTRING_free(ASN1_VISIBLESTRING *str)
OPENSSL_EXPORT int i2d_ASN1_NULL(const ASN1_NULL *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_BIT_STRING * c2i_ASN1_BIT_STRING(ASN1_BIT_STRING **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int i2d_ASN1_BIT_STRING(const ASN1_BIT_STRING *in, uint8_t **outp)
OPENSSL_EXPORT int ASN1_TIME_set_string(ASN1_TIME *s, const char *str)
OPENSSL_EXPORT int i2d_ASN1_TIME(const ASN1_TIME *in, uint8_t **outp)
OPENSSL_EXPORT void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *str)
OPENSSL_EXPORT int i2d_ASN1_IA5STRING(const ASN1_IA5STRING *in, uint8_t **outp)
OPENSSL_EXPORT int i2d_ASN1_SEQUENCE_ANY(const ASN1_SEQUENCE_ANY *in, uint8_t **outp)
OPENSSL_EXPORT int i2d_DISPLAYTEXT(const ASN1_STRING *in, uint8_t **outp)
OPENSSL_EXPORT int i2d_ASN1_T61STRING(const ASN1_T61STRING *in, uint8_t **outp)
OPENSSL_EXPORT int i2d_ASN1_UTF8STRING(const ASN1_UTF8STRING *in, uint8_t **outp)
OPENSSL_EXPORT ASN1_VALUE * ASN1_item_new(const ASN1_ITEM *it)
OPENSSL_EXPORT ASN1_OBJECT * c2i_ASN1_OBJECT(ASN1_OBJECT **out, const uint8_t **inp, long len)
OPENSSL_EXPORT int ASN1_INTEGER_set(ASN1_INTEGER *a, long v)
OPENSSL_EXPORT int ASN1_TYPE_get(const ASN1_TYPE *a)
ASN1_GENERALSTRING * generalstring
struct asn1_null_st ASN1_NULL
grpc
Author(s):
autogenerated on Thu Mar 13 2025 02:58:34