Lines Matching +full:read +full:- +full:1

27 #define CTX   ((br_x509_decoder_context *)(void *)((unsigned char *)t0ctx - offsetof(br_x509_decode…
38 ctx->err = 0;
39 ctx->hbuf = NULL;
40 ctx->hlen = 0;
42 ctx->append_dn = append_dn;
43 ctx->append_dn_ctx = append_dn_ctx;
44 ctx->cpu.dp = &ctx->dp_stack[0];
45 ctx->cpu.rp = &ctx->rp_stack[0];
46 br_x509_decoder_init_main(&ctx->cpu);
47 br_x509_decoder_run(&ctx->cpu);
55 ctx->hbuf = data;
56 ctx->hlen = len;
57 br_x509_decoder_run(&ctx->cpu);
72 cc: read8-low ( -- x ) {
73 if (CTX->hlen == 0) {
74 T0_PUSHi(-1);
76 unsigned char x = *CTX->hbuf ++;
77 if (CTX->copy_dn && CTX->append_dn) {
78 CTX->append_dn(CTX->append_dn_ctx, &x, 1);
80 CTX->hlen --;
85 cc: read-blob-inner ( addr len -- addr len ) {
88 size_t clen = CTX->hlen;
93 memcpy((unsigned char *)CTX + addr, CTX->hbuf, clen);
95 if (CTX->copy_dn && CTX->append_dn) {
96 CTX->append_dn(CTX->append_dn_ctx, CTX->hbuf, clen);
98 CTX->hbuf += clen;
99 CTX->hlen -= clen;
101 T0_PUSH(len - clen);
105 : addr-len-pkey_data ( -- addr len )
110 cc: copy-rsa-pkey ( nlen elen -- ) {
113 CTX->pkey.key_type = BR_KEYTYPE_RSA;
114 CTX->pkey.key.rsa.n = CTX->pkey_data;
115 CTX->pkey.key.rsa.nlen = nlen;
116 CTX->pkey.key.rsa.e = CTX->pkey_data + nlen;
117 CTX->pkey.key.rsa.elen = elen;
121 cc: copy-ec-pkey ( curve qlen -- ) {
124 CTX->pkey.key_type = BR_KEYTYPE_EC;
125 CTX->pkey.key.ec.curve = curve;
126 CTX->pkey.key.ec.q = CTX->pkey_data;
127 CTX->pkey.key.ec.qlen = qlen;
134 : process-basicConstraints ( lim -- lim )
135 read-sequence-open
136 read-tag-or-end dup 0x01 = if
137 read-boolean 1 and addr-isCA set8
141 skip-close-elt
145 : main ( -- ! )
148 0 addr-decoded set8
149 0 addr-copy_dn set8
155 read-sequence-open
158 read-sequence-open
162 read-tag dup 0x20 = if
163 drop check-constructed read-length-open-elt
164 read-tag
165 0x02 check-tag-primitive
166 read-small-int-value
168 close-elt
169 read-tag
173 0x02 check-tag-primitive read-length-skip
176 read-sequence-open skip-close-elt
179 read-sequence-open skip-close-elt
182 read-sequence-open
183 read-date addr-notbefore_seconds set32 addr-notbefore_days set32
184 read-date addr-notafter_seconds set32 addr-notafter_days set32
185 close-elt
188 1 addr-copy_dn set8
189 read-sequence-open skip-close-elt
190 0 addr-copy_dn set8
193 read-sequence-open
197 read-sequence-open
198 read-OID ifnot ERR_X509_UNSUPPORTED fail then
202 skip-close-elt
206 read-bits-open
210 read-sequence-open
211 addr-len-pkey_data
212 read-integer { nlen }
213 addr-len-pkey_data swap nlen + swap nlen -
214 read-integer { elen }
215 close-elt
216 close-elt
217 nlen elen copy-rsa-pkey
221 id-ecPublicKey eqOID uf
225 read-curve-ID { curve }
226 close-elt
227 read-bits-open
229 dup addr-len-pkey_data rot < if
232 read-blob
233 curve qlen copy-ec-pkey
237 close-elt
241 0 addr-isCA set8
248 read-tag-or-end
249 0x21 iftag-skip
250 0x22 iftag-skip
253 check-constructed read-length-open-elt
254 read-sequence-open
256 read-sequence-open
257 read-OID drop
258 read-tag dup 0x01 = if
259 read-boolean drop
260 read-tag
262 0x04 check-tag-primitive read-length-open-elt
266 process-basicConstraints
268 skip-remaining
270 close-elt
271 close-elt
273 close-elt
274 close-elt
276 -1 = ifnot ERR_X509_UNEXPECTED fail then
280 close-elt
283 read-sequence-open
284 read-OID if
292 ecdsa-with-SHA1 eqOID uf 2 KEYTYPE_EC enduf
293 ecdsa-with-SHA224 eqOID uf 3 KEYTYPE_EC enduf
294 ecdsa-with-SHA256 eqOID uf 4 KEYTYPE_EC enduf
295 ecdsa-with-SHA384 eqOID uf 5 KEYTYPE_EC enduf
296 ecdsa-with-SHA512 eqOID uf 6 KEYTYPE_EC enduf
303 addr-signer_key_type set8
304 addr-signer_hash_id set8
305 skip-close-elt
306 \ read-sequence-open skip-close-elt
309 read-bits-open skip-close-elt
312 close-elt
316 1 addr-decoded set8
318 \ Read one byte, then fail: if the read succeeds, then there is
320 read8-nc ERR_X509_EXTRA_ELEMENT fail