]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
*** empty log message ***
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 8 Jan 2003 23:27:41 +0000 (23:27 +0000)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Wed, 8 Jan 2003 23:27:41 +0000 (23:27 +0000)
lib/gnutls_x509.c
lib/x509_extensions.c

index 12fa8af75342e65876808b988b7419138c276088..b6e1e8934f66f46b638a514a3173d436b08cd1ea 100644 (file)
@@ -710,13 +710,17 @@ int gnutls_x509_extract_certificate_ca_status(const gnutls_datum * cert)
 
        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
@@ -730,6 +734,7 @@ int gnutls_x509_extract_certificate_ca_status(const gnutls_datum * cert)
        result = asn1_der_decoding(&c2, basicConstraints.data, basicConstraints.size, NULL);
        _gnutls_free_datum( &basicConstraints);
 
+
        if (result != ASN1_SUCCESS) {
                /* couldn't decode DER */
 
index 3f4638b11f3bd451c56f7fef9bf7a76aa20d0f85..5393a799cf22ad999bfeb35d1fd9981683e7e2a6 100644 (file)
@@ -284,7 +284,7 @@ int _gnutls_get_extension( const gnutls_datum * cert, const char* extension_id,
        
        if ((result=_gnutls_asn1_create_element
            (_gnutls_get_pkix(), "PKIX1.Certificate", &rasn,
-            "certificate2"))
+            "c2"))
            != ASN1_SUCCESS) {
                gnutls_assert();
                return _gnutls_asn2err(result);
@@ -306,7 +306,7 @@ int _gnutls_get_extension( const gnutls_datum * cert, const char* extension_id,
        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);