]> git.ipfire.org Git - thirdparty/gnutls.git/commitdiff
updated sig_check()
authorNikos Mavrogiannopoulos <nmav@gnutls.org>
Thu, 26 Jul 2001 15:26:33 +0000 (15:26 +0000)
committerNikos Mavrogiannopoulos <nmav@gnutls.org>
Thu, 26 Jul 2001 15:26:33 +0000 (15:26 +0000)
doc/TODO
lib/gnutls_sig_check.c

index e935ccf72b27ab81ebf3ff440e49af405de3489c..64b80f4ca424c028c036cdd2b79ba000e4610d87 100644 (file)
--- a/doc/TODO
+++ b/doc/TODO
@@ -4,4 +4,5 @@
 * Tools for processing/generating certificates
 * Add certificate extensions support (x509v3)
 * Documentation (of existing functions + Manual)
-* Added DHE_* ciphersuites
+* Add DHE_* ciphersuites
+* Add Client Certificate support in X509 authentication
index 6ad87802132afb1f5e1d1f848ab12a9c4677e541..de1b89e6c3c38d70d767b2432b5ed37ccc177efa 100644 (file)
@@ -35,8 +35,9 @@
 static gnutls_datum* _gnutls_get_tbs( gnutls_cert* cert) {
 node_asn *c2;
 gnutls_datum * ret;
-opaque str[MAX_X509_CERT_SIZE];
+opaque *str;
 int result, len;
+int start, end;
 
        if (asn1_create_structure( _gnutls_get_pkix(), "PKIX1Implicit88.Certificate", &c2, "certificate")!=ASN_OK) {
                gnutls_assert();
@@ -50,23 +51,19 @@ int result, len;
                return NULL;
        }
        
-       len = sizeof(str)-1;
-       result =
-           asn1_create_der( c2, "certificate.tbsCertificate", str, &len);
+       result = asn1_get_start_end_der( c2, cert->raw.data, cert->raw.size, 
+               "certificate.tbsCertificate", &start, &end);
+       asn1_delete_structure(c2);
+               
        if (result != ASN_OK) {
                gnutls_assert();
-               asn1_delete_structure(c2);
                return NULL;
        }
-{
-FILE* fd;
-fd = fopen("/tmp/der", "w");
-fwrite( str, len, 1, fd);
-fclose(fd);
-}
-       asn1_delete_structure(c2);
 
-       ret = gnutls_malloc(sizeof(gnutls_cert));
+       len = end - start + 1;
+       str = &cert->raw.data[start];
+
+       ret = gnutls_malloc(sizeof(gnutls_datum));
        if (ret==NULL) {
                gnutls_assert();
                return NULL;