if ((result =
_gnutls_get_extension(cert, "2 5 29 19", &basicConstraints)) < 0) {
+ if (result == GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE) {
+ /* The extension does not exist so it's not a CA */
+ return 0;
+ }
gnutls_assert();
return result;
}
if (basicConstraints.size == 0 || basicConstraints.data==NULL) {
gnutls_assert();
- return GNUTLS_E_REQUESTED_DATA_NOT_AVAILABLE;
+ return 0;
}
if ((result=_gnutls_asn1_create_element
result = asn1_der_decoding(&c2, basicConstraints.data, basicConstraints.size, NULL);
_gnutls_free_datum( &basicConstraints);
+
if (result != ASN1_SUCCESS) {
/* couldn't decode DER */
if ((result=_gnutls_asn1_create_element
(_gnutls_get_pkix(), "PKIX1.Certificate", &rasn,
- "certificate2"))
+ "c2"))
!= ASN1_SUCCESS) {
gnutls_assert();
return _gnutls_asn2err(result);
do {
k++;
- _gnutls_str_cpy(name, sizeof(name), "certificate2.tbsCertificate.extensions.?");
+ _gnutls_str_cpy(name, sizeof(name), "c2.tbsCertificate.extensions.?");
_gnutls_int2str(k, counter);
_gnutls_str_cat(name, sizeof(name), counter);