The field defaults to FALSE. It sucks that libtasn1 doesn't
fill this in for us.
https://bugs.freedesktop.org/show_bug.cgi?id=61975
len = sizeof (buffer);
ret = asn1_read_value (ext, "cA", buffer, &len);
- return_val_if_fail (ret == ASN1_SUCCESS, false);
- *is_ca = (strcmp (buffer, "TRUE") == 0);
+ /* Default value for cA is FALSE */
+ if (ret == ASN1_ELEMENT_NOT_FOUND) {
+ *is_ca = false;
+
+ } else {
+ return_val_if_fail (ret == ASN1_SUCCESS, false);
+ *is_ca = (strcmp (buffer, "TRUE") == 0);
+ }
+
asn1_delete_structure (&ext);
return true;