Lines Matching refs:elem

177 static const char *getASN1Element(struct Curl_asn1Element *elem,
181 static const char *getASN1Element(struct Curl_asn1Element *elem,
188 /* Get a single ASN.1 element into `elem', parse ASN.1 string at `beg'
197 elem->header = beg;
199 elem->constructed = (b & 0x20) != 0;
200 elem->class = (b >> 6) & 3;
204 elem->tag = b;
215 if(!elem->constructed)
217 elem->beg = beg;
225 elem->end = beg;
241 elem->beg = beg;
242 elem->end = beg + len;
243 return elem->end;
594 struct Curl_asn1Element *elem, int type)
597 if(elem->constructed)
601 type = elem->tag; /* Type not forced: use element tag as type. */
605 result = bool2str(store, elem->beg, elem->end);
609 result = int2str(store, elem->beg, elem->end);
612 result = bit2str(store, elem->beg, elem->end);
615 result = octet2str(store, elem->beg, elem->end);
621 result = OID2str(store, elem->beg, elem->end, TRUE);
624 result = UTime2str(store, elem->beg, elem->end);
627 result = GTime2str(store, elem->beg, elem->end);
637 result = utf8asn1str(store, type, elem->beg, elem->end);
740 struct Curl_asn1Element elem;
750 if(!getASN1Element(&elem, beg, end))
752 beg = elem.beg;
753 end = elem.end;
774 beg = getASN1Element(&elem, beg, end);
777 if(elem.tag == 0) {
778 if(!getASN1Element(&cert->version, elem.beg, elem.end))
780 beg = getASN1Element(&elem, beg, end);
784 cert->serialNumber = elem;
792 beg = getASN1Element(&elem, beg, end);
795 ccp = getASN1Element(&cert->notBefore, elem.beg, elem.end);
798 if(!getASN1Element(&cert->notAfter, ccp, elem.end))
818 cert->extensions.tag = elem.tag = 0;
825 beg = getASN1Element(&elem, beg, end);
829 if(elem.tag == 1) {
830 cert->issuerUniqueID = elem;
832 beg = getASN1Element(&elem, beg, end);
837 if(elem.tag == 2) {
838 cert->subjectUniqueID = elem;
840 beg = getASN1Element(&elem, beg, end);
845 if(elem.tag == 3)
846 if(!getASN1Element(&cert->extensions, elem.beg, elem.end))
916 struct Curl_asn1Element *elem)
925 result = ASN1tostr(&out, elem, 0);
939 struct Curl_asn1Element elem;
970 p = getASN1Element(&elem, pk.beg, pk.end);
975 for(q = elem.beg; !*q && q < elem.end; q++)
977 len = ((elem.end - q) * 8);
984 elem.beg = q; /* Strip leading zero bytes. */
994 if(do_pubkey_field(data, certnum, "rsa(n)", &elem))
996 if(!getASN1Element(&elem, p, pk.end))
998 if(do_pubkey_field(data, certnum, "rsa(e)", &elem))
1002 p = getASN1Element(&elem, param->beg, param->end);
1004 if(do_pubkey_field(data, certnum, "dsa(p)", &elem))
1006 p = getASN1Element(&elem, p, param->end);
1008 if(do_pubkey_field(data, certnum, "dsa(q)", &elem))
1010 if(getASN1Element(&elem, p, param->end)) {
1011 if(do_pubkey_field(data, certnum, "dsa(g)", &elem))
1020 p = getASN1Element(&elem, param->beg, param->end);
1022 if(do_pubkey_field(data, certnum, "dh(p)", &elem))
1024 if(getASN1Element(&elem, param->beg, param->end)) {
1025 if(do_pubkey_field(data, certnum, "dh(g)", &elem))