aboutsummaryrefslogtreecommitdiffstats
path: root/contrib/python/cryptography/_cffi_src/openssl/asn1.py
blob: 8b25c86279b34f4e113215ae57804674cf59e10d (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# This file is dual licensed under the terms of the Apache License, Version 
# 2.0, and the BSD License. See the LICENSE file in the root of this repository 
# for complete details. 
 
from __future__ import absolute_import, division, print_function 
 
INCLUDES = """ 
#include <openssl/asn1.h> 
""" 
 
TYPES = """ 
typedef int... time_t; 
 
typedef ... ASN1_INTEGER; 
 
struct asn1_string_st { 
    int length; 
    int type; 
    unsigned char *data; 
    long flags; 
}; 
 
typedef struct asn1_string_st ASN1_OCTET_STRING; 
typedef struct asn1_string_st ASN1_IA5STRING; 
typedef struct asn1_string_st ASN1_BIT_STRING; 
typedef struct asn1_string_st ASN1_TIME; 
typedef ... ASN1_OBJECT; 
typedef struct asn1_string_st ASN1_STRING; 
typedef struct asn1_string_st ASN1_UTF8STRING; 
typedef struct {
    int type;
    ...;
} ASN1_TYPE;
typedef ... ASN1_GENERALIZEDTIME; 
typedef ... ASN1_ENUMERATED; 
typedef ... ASN1_NULL;
 
static const int V_ASN1_GENERALIZEDTIME; 
 
static const int MBSTRING_UTF8; 
""" 
 
FUNCTIONS = """ 
void ASN1_OBJECT_free(ASN1_OBJECT *); 
 
/*  ASN1 STRING */ 
unsigned char *ASN1_STRING_data(ASN1_STRING *); 
int ASN1_STRING_set(ASN1_STRING *, const void *, int); 
 
/*  ASN1 OCTET STRING */ 
ASN1_OCTET_STRING *ASN1_OCTET_STRING_new(void); 
void ASN1_OCTET_STRING_free(ASN1_OCTET_STRING *); 
int ASN1_OCTET_STRING_set(ASN1_OCTET_STRING *, const unsigned char *, int); 
 
/* ASN1 IA5STRING */ 
ASN1_IA5STRING *ASN1_IA5STRING_new(void); 
 
/*  ASN1 INTEGER */ 
void ASN1_INTEGER_free(ASN1_INTEGER *); 
int ASN1_INTEGER_set(ASN1_INTEGER *, long); 
 
/*  ASN1 TIME */ 
ASN1_TIME *ASN1_TIME_new(void); 
void ASN1_TIME_free(ASN1_TIME *); 
int ASN1_TIME_set_string(ASN1_TIME *, const char *);
 
/*  ASN1 GENERALIZEDTIME */ 
ASN1_GENERALIZEDTIME *ASN1_GENERALIZEDTIME_set(ASN1_GENERALIZEDTIME *, time_t); 
void ASN1_GENERALIZEDTIME_free(ASN1_GENERALIZEDTIME *); 
 
/*  ASN1 ENUMERATED */ 
ASN1_ENUMERATED *ASN1_ENUMERATED_new(void); 
void ASN1_ENUMERATED_free(ASN1_ENUMERATED *); 
int ASN1_ENUMERATED_set(ASN1_ENUMERATED *, long); 
 
int ASN1_BIT_STRING_set_bit(ASN1_BIT_STRING *, int, int); 
/* These became const ASN1_* in 1.1.0 */ 
int ASN1_STRING_type(ASN1_STRING *); 
int ASN1_STRING_to_UTF8(unsigned char **, ASN1_STRING *); 
long ASN1_ENUMERATED_get(ASN1_ENUMERATED *); 
int i2a_ASN1_INTEGER(BIO *, ASN1_INTEGER *); 
 
/* This became const ASN1_TIME in 1.1.0f */
ASN1_GENERALIZEDTIME *ASN1_TIME_to_generalizedtime(ASN1_TIME *,
                                                   ASN1_GENERALIZEDTIME **);

ASN1_UTF8STRING *ASN1_UTF8STRING_new(void); 
void ASN1_UTF8STRING_free(ASN1_UTF8STRING *); 
 
ASN1_BIT_STRING *ASN1_BIT_STRING_new(void); 
void ASN1_BIT_STRING_free(ASN1_BIT_STRING *); 
/* This is not a macro, but is const on some versions of OpenSSL */ 
int ASN1_BIT_STRING_get_bit(ASN1_BIT_STRING *, int); 
 
int ASN1_STRING_length(ASN1_STRING *); 
int ASN1_STRING_set_default_mask_asc(char *);
 
BIGNUM *ASN1_INTEGER_to_BN(ASN1_INTEGER *, BIGNUM *); 
ASN1_INTEGER *BN_to_ASN1_INTEGER(BIGNUM *, ASN1_INTEGER *); 
 
int i2d_ASN1_TYPE(ASN1_TYPE *, unsigned char **); 
ASN1_TYPE *d2i_ASN1_TYPE(ASN1_TYPE **, const unsigned char **, long); 

ASN1_NULL *ASN1_NULL_new(void);
""" 
 
CUSTOMIZATIONS = """ 
"""