• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7800-V1.0.2.28/package/px5g/src/library/

Lines Matching refs:node

53 static int x509write_realloc_node(x509_node *node, size_t larger);
54 static int x509write_file(x509_node *node, char *path, int format, const char* pem_prolog, const char* pem_epilog);
73 static int asn1_add_len(unsigned int size, x509_node *node)
81 *(node->p) = (0x80 | byte) & 0xFF;
82 ++node->p;
86 *(node->p) = (size >> ((i - 1) * 8)) & 0xFF;
87 ++node->p;
93 *(node->p) = size & 0xFF;
95 ++node->p;
105 x509_node *node)
113 x509write_realloc_node(node, (size_t) size + tl +
116 x509write_realloc_node(node, (size_t) size + tl);
118 if (node->data == NULL)
122 *(node->p) = tag & 0xFF;
123 ++node->p;
127 asn1_add_len((unsigned int) size + 1, node);
128 *(node->p) = 0x00;
129 ++node->p;
131 asn1_add_len((unsigned int) size, node);
137 memcpy(node->p, value, (size_t) size);
138 if ((node->p += size -1) != node->end)
150 static int asn1_add_int(signed int value, x509_node *node)
172 if (x509write_realloc_node(node, (size_t) byte + 2) != 0)
176 *(node->p) = ASN1_INTEGER;
177 ++node->p;
180 asn1_add_len(byte, node);
187 *(node->p) = tmp_val;
189 *(node->p) = ~tmp_val;
192 ++node->p;
195 if (node->p != node->end)
204 static int asn1_add_mpi(mpi *value, int tag, x509_node *node)
214 x509write_realloc_node(node, size + (size_t) tl +
217 x509write_realloc_node(node, size + (size_t) tl);
219 if (node->data == NULL)
227 *(node->p) = tag & 0xFF;
228 ++node->p;
232 asn1_add_len((unsigned int) size + 1, node);
233 *(node->p) = 0x00;
234 ++node->p;
236 asn1_add_len((unsigned int) size, node);
240 memcpy(node->p, buf, size);
243 if ((node->p += (int) size -1) != node->end)
250 * write a node into asn.1 conform object
252 static int asn1_append_tag(x509_node *node, int tag)
262 if (node->len > 127)
263 x509write_realloc_node(&tmp, node->len + (size_t) tl +
264 asn1_eval_octet((unsigned int)node->len));
266 x509write_realloc_node(&tmp, node->len + (size_t) tl);
279 asn1_add_len((unsigned int) node->len + 1, &tmp);
283 asn1_add_len((unsigned int) node->len, &tmp);
287 memcpy(tmp.p, node->data, node->len);
290 if ((tmp.p += (int) node->len -1) != tmp.end) {
295 free(node->data);
296 node->data = tmp.data;
297 node->p = tmp.p;
298 node->end = tmp.end;
299 node->len = tmp.len;
307 static int asn1_append_nodes(x509_node *node, int tag, int anz, ...)
325 if (x509write_realloc_node(node, size + (size_t) 2 +
329 if (x509write_realloc_node(node, size + (size_t) 2) != 0)
334 *(node->p) = tag & 0xFF;
335 ++node->p;
338 asn1_add_len(size, node);
349 memcpy(node->p, tmp->data, tmp->len);
350 if ((node->p += (int) tmp->len -1) != node->end)
351 ++node->p;
362 static int asn1_add_oid(x509_node *node, unsigned char *oid, size_t len,
383 if ((ret = asn1_append_nodes(node, tag, 1, &tmp)) != 0) {
395 static int asn1_add_date_utc(unsigned char *time, x509_node *node)
420 if ((ret = asn1_add_obj(date, 13, ASN1_UTC_TIME, node)) != 0)
430 int x509write_serialize_key(rsa_context *rsa, x509_node *node)
433 x509write_init_node(node);
436 if ((ret = asn1_add_int(rsa->ver, node)) != 0)
438 if ((ret = asn1_add_mpi(&rsa->N, ASN1_INTEGER, node)) != 0)
440 if ((ret = asn1_add_mpi(&rsa->E, ASN1_INTEGER, node)) != 0)
442 if ((ret = asn1_add_mpi(&rsa->D, ASN1_INTEGER, node)) != 0)
444 if ((ret = asn1_add_mpi(&rsa->P, ASN1_INTEGER, node)) != 0)
446 if ((ret = asn1_add_mpi(&rsa->Q, ASN1_INTEGER, node)) != 0)
448 if ((ret = asn1_add_mpi(&rsa->DP, ASN1_INTEGER, node)) != 0)
450 if ((ret = asn1_add_mpi(&rsa->DQ, ASN1_INTEGER, node)) != 0)
452 if ((ret = asn1_add_mpi(&rsa->QP, ASN1_INTEGER, node)) != 0)
454 if ((ret = asn1_append_tag(node, ASN1_CONSTRUCTED | ASN1_SEQUENCE)) != 0)
468 x509_node node;
470 x509write_init_node(&node);
471 if ((ret = x509write_serialize_key(rsa,&node)) != 0) {
472 x509write_free_node(&node);
476 ret = x509write_file(&node,path,out_flag,key_beg,key_end);
477 x509write_free_node(&node);
484 * reasize the memory for node
486 static int x509write_realloc_node(x509_node *node, size_t larger)
489 if (node->data == NULL) {
490 node->len = 0;
491 node->data = malloc(larger);
492 if(node->data == NULL)
496 if ((node->data = realloc(node->data, node->len + larger)) == NULL)
501 node->p = &node->data[node->len];
502 node->len += larger;
503 node->end = &node->data[node->len -1];
509 * init node
511 void x509write_init_node(x509_node *node)
513 memset(node, 0, sizeof(x509_node));
519 void x509write_free_node(x509_node *node)
521 if (node->data != NULL)
522 free(node->data);
523 node->p = NULL;
524 node->end = NULL;
525 node->len = 0;
553 static int x509write_file(x509_node *node, char *path, int format,
567 if (fwrite(node->data, 1, node->len, ofstream)
568 != node->len)
578 buf_len = node->len << 1;
581 if (base64_encode(base_buf, &buf_len, node->data,
582 (int) node->len) != 0) {
614 x509_node n_tmp, n_tmp2, *node;
617 node = &chain->subpubkey;
663 if ((ret = asn1_append_nodes(node, ASN1_CONSTRUCTED | ASN1_SEQUENCE, 2,
683 static int x509write_add_name(x509_node *node, unsigned char *oid,
698 if ((asn1_append_nodes(node, ASN1_CONSTRUCTED | ASN1_SET, 1, &n_tmp))
709 * Parse the name string and add to node
711 static int x509write_parse_names(x509_node *node, unsigned char *names)
812 if ((ret = x509write_add_name(node, oid, 3, C, C_len,
820 if ((ret = x509write_add_name(node, oid, 3, ST, ST_len,
828 if ((ret = x509write_add_name(node, oid, 3, L, L_len,
836 if ((ret = x509write_add_name(node, oid, 3, O, O_len,
844 if ((ret = x509write_add_name(node, oid, 3, OU, OU_len,
852 if ((ret = x509write_add_name(node, oid, 3, CN, CN_len,
859 if ((ret = x509write_add_name(node, (unsigned char*)OID_PKCS9_EMAIL,
864 if ((asn1_append_tag(node, ASN1_CONSTRUCTED | ASN1_SEQUENCE)) != 0)
871 * Copy raw data from orginal ca to node
873 static int x509write_copy_from_raw(x509_node *node, x509_buf *raw)
875 if (x509write_realloc_node(node, raw->len) != 0)
878 memcpy(node->p, raw->p, (size_t)raw->len);
879 if ((node->p += raw->len -1) != node->end)
951 x509_node *node = &chain->validity;
954 if ((ret = asn1_add_date_utc(befor, node)) != 0)
958 if ((ret = asn1_add_date_utc(after, node)) != 0)
961 if ((ret = asn1_append_tag(node, ASN1_CONSTRUCTED | ASN1_SEQUENCE)) != 0)