Home | History | Annotate | Download | only in lib

Lines Matching refs:elem

111 const char *Curl_getASN1Element(curl_asn1Element *elem,
118 /* Get a single ASN.1 element into `elem', parse ASN.1 string at `beg'
127 elem->header = beg;
129 elem->constructed = (b & 0x20) != 0;
130 elem->class = (b >> 6) & 3;
134 elem->tag = b;
145 if(!elem->constructed)
147 elem->beg = beg;
155 elem->end = beg;
171 elem->beg = beg;
172 elem->end = beg + len;
173 return elem->end;
549 const char *Curl_ASN1tostr(curl_asn1Element *elem, int type)
554 if(elem->constructed)
558 type = elem->tag; /* Type not forced: use element tag as type. */
562 return bool2str(elem->beg, elem->end);
565 return int2str(elem->beg, elem->end);
567 return bit2str(elem->beg, elem->end);
569 return octet2str(elem->beg, elem
573 return OID2str(elem->beg, elem->end, TRUE);
575 return UTime2str(elem->beg, elem->end);
577 return GTime2str(elem->beg, elem->end);
586 return string2str(type, elem->beg, elem->end);
683 curl_asn1Element elem;
697 if(!Curl_getASN1Element(&elem, beg, end))
699 beg = elem.beg;
700 end = elem.end;
716 beg = Curl_getASN1Element(&elem, beg, end);
717 if(elem.tag == 0) {
718 Curl_getASN1Element(&cert->version, elem.beg, elem.end);
719 beg = Curl_getASN1Element(&elem, beg, end);
721 cert->serialNumber = elem;
727 beg = Curl_getASN1Element(&elem, beg, end);
728 ccp = Curl_getASN1Element(&cert->notBefore, elem.beg, elem.end);
729 Curl_getASN1Element(&cert->notAfter, ccp, elem.end);
741 cert->extensions.tag = elem.tag = 0;
748 beg = Curl_getASN1Element(&elem, beg, end);
749 if(elem.tag == 1) {
750 cert->issuerUniqueID = elem;
752 beg = Curl_getASN1Element(&elem, beg, end);
754 if(elem.tag == 2) {
755 cert->subjectUniqueID = elem;
757 beg = Curl_getASN1Element(&elem, beg, end);
759 if(elem.tag == 3)
760 Curl_getASN1Element(&cert->extensions, elem.beg, elem.end);
798 const char *label, curl_asn1Element *elem)
804 output = Curl_ASN1tostr(elem, 0);
818 curl_asn1Element elem;
831 p = Curl_getASN1Element(&elem, pk.beg, pk.end);
833 for(q = elem.beg; !*q && q < elem.end; q++)
835 len = (unsigned long)((elem.end - q) * 8);
840 elem.beg = q; /* Strip leading zero bytes. */
851 do_pubkey_field(data, certnum, "rsa(n)", &elem);
852 Curl_getASN1Element(&elem, p, pk.end);
853 do_pubkey_field(data, certnum, "rsa(e)", &elem);
856 p = Curl_getASN1Element(&elem, param->beg, param->end);
857 do_pubkey_field(data, certnum, "dsa(p)", &elem);
858 p = Curl_getASN1Element(&elem, p, param->end);
859 do_pubkey_field(data, certnum, "dsa(q)", &elem);
860 Curl_getASN1Element(&elem, p, param->end);
861 do_pubkey_field(data, certnum, "dsa(g)", &elem);
865 p = Curl_getASN1Element(&elem, param->beg, param->end);
866 do_pubkey_field(data, certnum, "dh(p)", &elem);
867 Curl_getASN1Element(&elem, param->beg, param->end);
868 do_pubkey_field(data, certnum, "dh(g)", &elem);
1073 curl_asn1Element elem;
1117 ext.beg = Curl_getASN1Element(&elem, ext.beg, ext.end);
1119 if(elem.tag == CURL_ASN1_BOOLEAN)
1120 ext.beg = Curl_getASN1Element(&elem, ext.beg, ext.end);
1122 elem, elem.beg, elem.end);
1124 for(q = elem.beg; matched != 1 && q < elem.end;) {
1125 q = Curl_getASN1Element(&name, q, elem.end);
1167 p = Curl_getASN1Element(&elem, p, dn.end);
1169 elem.beg = checkOID(elem.beg, elem.end, cnOID);
1170 if(elem.beg)
1171 name = elem; /* Latch CN. */
1176 if(!Curl_getASN1Element(&elem, name.beg, name.end))
1179 len = utf8asn1str(&dnsname, elem.tag, elem.beg, elem.end);