Line | Source | Count |
1 | | - |
2 | | - |
3 | static ASN1_OCTET_STRING *s2i_skey_id(X509V3_EXT_METHOD *method, | - |
4 | X509V3_CTX *ctx, char *str); | - |
5 | | - |
6 | const X509V3_EXT_METHOD v3_skey_id = { | - |
7 | .ext_nid = 82, | - |
8 | .ext_flags = 0, | - |
9 | .it = &ASN1_OCTET_STRING_it, | - |
10 | .ext_new = | - |
11 | ((void *)0) | - |
12 | , | - |
13 | .ext_free = | - |
14 | ((void *)0) | - |
15 | , | - |
16 | .d2i = | - |
17 | ((void *)0) | - |
18 | , | - |
19 | .i2d = | - |
20 | ((void *)0) | - |
21 | , | - |
22 | .i2s = (X509V3_EXT_I2S)i2s_ASN1_OCTET_STRING, | - |
23 | .s2i = (X509V3_EXT_S2I)s2i_skey_id, | - |
24 | .i2v = | - |
25 | ((void *)0) | - |
26 | , | - |
27 | .v2i = | - |
28 | ((void *)0) | - |
29 | , | - |
30 | .i2r = | - |
31 | ((void *)0) | - |
32 | , | - |
33 | .r2i = | - |
34 | ((void *)0) | - |
35 | , | - |
36 | .usr_data = | - |
37 | ((void *)0) | - |
38 | , | - |
39 | }; | - |
40 | | - |
41 | char * | - |
42 | i2s_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, const ASN1_OCTET_STRING *oct) | - |
43 | { | - |
44 | return never executed: return hex_to_string(oct->data, oct->length); hex_to_string(oct->data, oct->length);never executed: return hex_to_string(oct->data, oct->length); | 0 |
45 | } | - |
46 | | - |
47 | ASN1_OCTET_STRING * | - |
48 | s2i_ASN1_OCTET_STRING(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, | - |
49 | const char *str) | - |
50 | { | - |
51 | ASN1_OCTET_STRING *oct; | - |
52 | long length; | - |
53 | | - |
54 | if (!(oct = ASN1_OCTET_STRING_new())TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
55 | ERR_put_error(34,(0xfff),((1|64)),__FILE__,99); | - |
56 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
57 | ((void *)0) never executed: return ((void *)0) ; | 0 |
58 | ; never executed: return ((void *)0) ; | 0 |
59 | } | - |
60 | | - |
61 | if (!(oct->data = string_to_hex(str, &length))TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
62 | ASN1_OCTET_STRING_free(oct); | - |
63 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
64 | ((void *)0) never executed: return ((void *)0) ; | 0 |
65 | ; never executed: return ((void *)0) ; | 0 |
66 | } | - |
67 | | - |
68 | oct->length = length; | - |
69 | | - |
70 | return never executed: return oct; oct;never executed: return oct; | 0 |
71 | } | - |
72 | | - |
73 | static ASN1_OCTET_STRING * | - |
74 | s2i_skey_id(X509V3_EXT_METHOD *method, X509V3_CTX *ctx, char *str) | - |
75 | { | - |
76 | ASN1_OCTET_STRING *oct; | - |
77 | ASN1_BIT_STRING *pk; | - |
78 | unsigned char pkey_dig[64]; | - |
79 | unsigned int diglen; | - |
80 | | - |
81 | if ( | - |
82 | __extension__ ({ size_t __s1_len, __s2_len; (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
83 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
84 | ) && __builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
85 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
86 | ) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
87 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
88 | ), __s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
89 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
90 | ), (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
91 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
92 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
93 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
94 | ) == 1) || __s1_len >= 4) && (!((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
95 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
96 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
97 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
98 | ) == 1) || __s2_len >= 4)) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
99 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
100 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
101 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
102 | ) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
103 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
104 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
105 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
106 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
107 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
108 | ) == 1) && (__s1_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
109 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
110 | ), __s1_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
111 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
112 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
113 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
114 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
115 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
116 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
117 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
118 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
119 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
120 | ) : (__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
121 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
122 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
123 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
124 | ))[0] - __s2[0]); if (__s1_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
125 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
126 | ))[1] - __s2[1]); if (__s1_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
127 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
128 | ))[2] - __s2[2]); if (__s1_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( str ))[3] - __s2[3]); | 0 |
129 | strTRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( str ))[3] - __s2[3]); | 0 |
130 | ))[3] - __s2[3]); } } __result; }))) : (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
131 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
132 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
133 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
134 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
135 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
136 | ) == 1) && (__s2_len = __builtin_strlen (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
137 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
138 | ), __s2_len < 4) ? (__builtin_constant_p (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
139 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
140 | ) && ((size_t)(const void *)((TRUE | never evaluated | FALSE | never evaluated |
| 0 |
141 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
142 | ) + 1) - (size_t)(const void *)(TRUE | never evaluated | FALSE | never evaluated |
| 0 |
143 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
144 | ) == 1) ? __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
145 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
146 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
147 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
148 | ) : -(__extension__ ({ const unsigned char *__s2 = (const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
149 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
150 | ); int __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
151 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
152 | ))[0] - __s2[0]); if (__s2_len > 0TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
153 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
154 | ))[1] - __s2[1]); if (__s2_len > 1TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) { __result = (((const unsigned char *) (const char *) (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
155 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
156 | ))[2] - __s2[2]); if (__s2_len > 2TRUE | never evaluated | FALSE | never evaluated |
&& __result == 0TRUE | never evaluated | FALSE | never evaluated |
) __result = (((const unsigned char *) (const char *) (never executed: __result = (((const unsigned char *) (const char *) ( "hash" ))[3] - __s2[3]); | 0 |
157 | "hash"TRUE | never evaluated | FALSE | never evaluated |
never executed: __result = (((const unsigned char *) (const char *) ( "hash" ))[3] - __s2[3]); | 0 |
158 | ))[3] - __s2[3]); } } __result; }))) : __builtin_strcmp (TRUE | never evaluated | FALSE | never evaluated |
| 0 |
159 | strTRUE | never evaluated | FALSE | never evaluated |
| 0 |
160 | , TRUE | never evaluated | FALSE | never evaluated |
| 0 |
161 | "hash"TRUE | never evaluated | FALSE | never evaluated |
| 0 |
162 | )))); })TRUE | never evaluated | FALSE | never evaluated |
| 0 |
163 | ) | - |
164 | return never executed: return s2i_ASN1_OCTET_STRING(method, ctx, str); s2i_ASN1_OCTET_STRING(method, ctx, str);never executed: return s2i_ASN1_OCTET_STRING(method, ctx, str); | 0 |
165 | | - |
166 | if (!(oct = ASN1_OCTET_STRING_new())TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
167 | ERR_put_error(34,(0xfff),((1|64)),__FILE__,125); | - |
168 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
169 | ((void *)0) never executed: return ((void *)0) ; | 0 |
170 | ; never executed: return ((void *)0) ; | 0 |
171 | } | - |
172 | | - |
173 | if (ctxTRUE | never evaluated | FALSE | never evaluated |
&& (TRUE | never evaluated | FALSE | never evaluated |
ctx->flags == 0x1)TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
174 | return never executed: return oct; oct;never executed: return oct; | 0 |
175 | | - |
176 | if (!ctxTRUE | never evaluated | FALSE | never evaluated |
|| (!ctx->subject_reqTRUE | never evaluated | FALSE | never evaluated |
&& !ctx->subject_certTRUE | never evaluated | FALSE | never evaluated |
)) { | 0 |
177 | ERR_put_error(34,(0xfff),(114),__FILE__,133); | - |
178 | goto never executed: goto err; err;never executed: goto err; | 0 |
179 | } | - |
180 | | - |
181 | if (ctx->subject_reqTRUE | never evaluated | FALSE | never evaluated |
) | 0 |
182 | pk = ctx->subject_req->req_info->pubkey->public_key; never executed: pk = ctx->subject_req->req_info->pubkey->public_key; | 0 |
183 | else | - |
184 | pk = ctx->subject_cert->cert_info->key->public_key; never executed: pk = ctx->subject_cert->cert_info->key->public_key; | 0 |
185 | | - |
186 | if (!pkTRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
187 | ERR_put_error(34,(0xfff),(114),__FILE__,143); | - |
188 | goto never executed: goto err; err;never executed: goto err; | 0 |
189 | } | - |
190 | | - |
191 | if (!EVP_Digest(pk->data, pk->length, pkey_dig, &diglen,TRUE | never evaluated | FALSE | never evaluated |
| 0 |
192 | EVP_sha1(), TRUE | never evaluated | FALSE | never evaluated |
| 0 |
193 | ((void *)0)TRUE | never evaluated | FALSE | never evaluated |
| 0 |
194 | )TRUE | never evaluated | FALSE | never evaluated |
) | 0 |
195 | goto never executed: goto err; err;never executed: goto err; | 0 |
196 | | - |
197 | if (!ASN1_STRING_set(oct, pkey_dig, diglen)TRUE | never evaluated | FALSE | never evaluated |
) { | 0 |
198 | ERR_put_error(34,(0xfff),((1|64)),__FILE__,152); | - |
199 | goto never executed: goto err; err;never executed: goto err; | 0 |
200 | } | - |
201 | | - |
202 | return never executed: return oct; oct;never executed: return oct; | 0 |
203 | | - |
204 | err: | - |
205 | ASN1_OCTET_STRING_free(oct); | - |
206 | return never executed: return ((void *)0) ; never executed: return ((void *)0) ; | 0 |
207 | ((void *)0) never executed: return ((void *)0) ; | 0 |
208 | ; never executed: return ((void *)0) ; | 0 |
209 | } | - |
| | |