diff options
author | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-08-05 09:53:08 +0000 |
---|---|---|
committer | Nikos Mavrogiannopoulos <nmav@gnutls.org> | 2001-08-05 09:53:08 +0000 |
commit | a9153107a4c890199ee1672a7397ea3615d77516 (patch) | |
tree | 6b4bc0cc09d5c0867d0afee93296e23135fafbe6 | |
parent | eb3a0595d557f00e3956e75ea0abc268f9bc4533 (diff) | |
download | gnutls-a9153107a4c890199ee1672a7397ea3615d77516.tar.gz |
fixes for the new files
-rw-r--r-- | src/CertificateExample.c | 33 | ||||
-rw-r--r-- | src/CrlExample.c | 32 | ||||
-rw-r--r-- | src/Makefile.am | 4 | ||||
-rw-r--r-- | src/asn1c.c | 4 | ||||
-rw-r--r-- | src/prime.c | 2 |
5 files changed, 67 insertions, 8 deletions
diff --git a/src/CertificateExample.c b/src/CertificateExample.c index 60321eb235..368ed0100f 100644 --- a/src/CertificateExample.c +++ b/src/CertificateExample.c @@ -27,8 +27,8 @@ #include <stdio.h> #include <string.h> -#include "../lib/cert_asn1.h" -#include "../lib/cert_der.h" +#include "../lib/x509_asn1.h" +#include "../lib/x509_der.h" extern static_asn pkix_asn1_tab[]; @@ -54,6 +54,7 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) strcat(name,".rdnSequence.?"); _asn1_ltostr(k,counter); strcat(name,counter); + len = sizeof(str) - 1; result=asn1_read_value(cert,name,str,&len); if(result==ASN_ELEMENT_NOT_FOUND) break; k2=1; @@ -62,25 +63,31 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) strcat(name2,".?"); _asn1_ltostr(k2,counter); strcat(name2,counter); + len = sizeof(str) - 1; result=asn1_read_value(cert,name2,str,&len); if(result==ASN_ELEMENT_NOT_FOUND) break; strcpy(name3,name2); strcat(name3,".type"); + len = sizeof(str) - 1; result=asn1_read_value(cert,name3,str,&len); strcpy(name3,name2); strcat(name3,".value"); if(result==ASN_OK){ + len = sizeof(str2) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-countryName", str2,&len); if(!strcmp(str,str2)){ asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName", &value,"certificate2-subject-C"); + len = sizeof(str) - 1; asn1_read_value(cert,name3,str,&len); asn1_get_der(value,str,len); strcpy(name3,"certificate2-subject-C"); + len = sizeof(str) - 1; asn1_read_value(value,name3,str,&len); /* CHOICE */ strcat(name3,"."); strcat(name3,str); + len = sizeof(str) - 1; asn1_read_value(value,name3,str,&len); str[len]=0; strcat(answer," C="); @@ -88,17 +95,21 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) asn1_delete_structure(value); } else{ + len = sizeof(str2) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationName" ,str2,&len); if(!strcmp(str,str2)){ asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName" ,&value,"certificate2-subject-O"); + len = sizeof(str) - 1; asn1_read_value(cert,name3,str,&len); asn1_get_der(value,str,len); strcpy(name3,"certificate2-subject-O"); + len = sizeof(str) - 1; asn1_read_value(value,name3,str,&len); /* CHOICE */ strcat(name3,"."); strcat(name3,str); + len = sizeof(str) - 1; asn1_read_value(value,name3,str,&len); str[len]=0; strcat(answer," O="); @@ -106,15 +117,19 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) asn1_delete_structure(value); } else{ + len = sizeof(str2) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationalUnitName",str2,&len); if(!strcmp(str,str2)){ asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationalUnitName",&value,"certificate2-subject-OU"); + len = sizeof(str) - 1; asn1_read_value(cert,name3,str,&len); asn1_get_der(value,str,len); strcpy(name3,"certificate2-subject-OU"); + len = sizeof(str) - 1; asn1_read_value(value,name3,str,&len); /* CHOICE */ strcat(name3,"."); strcat(name3,str); + len = sizeof(str) - 1; asn1_read_value(value,name3,str,&len); str[len]=0; strcat(answer," OU="); @@ -161,6 +176,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.serialNumber","17",0); /* signature: dsa-with-sha1 */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa-with-sha1",str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.signature.algorithm", str,1); @@ -175,6 +191,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence","NEW",1); result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence.?LAST","NEW",1); /* C */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-countryName",str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence.?LAST.?LAST.type",str,1); result=asn1_create_structure(cert_def,"PKIX1Implicit88.X520countryName", @@ -188,6 +205,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence","NEW",1); result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence.?LAST","NEW",1); /* O */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationName",str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence.?LAST.?LAST.type",str,1); result=asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName", @@ -203,6 +221,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence.?LAST","NEW",1); /* OU */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationalUnitName", str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.issuer.rdnSequence.?LAST.?LAST.type",str,1); @@ -229,6 +248,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence","NEW",1); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence.?LAST","NEW",1); /* C */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-countryName",str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence.?LAST.?LAST.type",str,1); result=asn1_create_structure(cert_def,"PKIX1Implicit88.X520countryName", @@ -242,6 +262,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence","NEW",4); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence.?LAST","NEW",4); /* O */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationName",str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence.?LAST.?LAST.type",str,1); result=asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName", @@ -256,6 +277,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence","NEW",4); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence.?LAST","NEW",4); /* OU */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationalUnitName", str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subject.rdnSequence.?LAST.?LAST.type",str,1); @@ -268,6 +290,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) /* subjectPublicKeyInfo: dsa with parameters=Dss-Parms */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa",str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.subjectPublicKeyInfo.algorithm.algorithm",str,1); result=asn1_create_structure(cert_def,"PKIX1Implicit88.Dss-Parms",¶m,"parameters"); @@ -291,6 +314,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) /* extensions */ result=asn1_write_value(cert1,"certificate1.tbsCertificate.extensions","NEW",1); + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-ce-basicConstraints", str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.extensions.?LAST.extnID",str,1); /* basicConstraints */ @@ -305,6 +329,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) result=asn1_write_value(cert1,"certificate1.tbsCertificate.extensions","NEW",1); + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-ce-subjectKeyIdentifier", str,&len); result=asn1_write_value(cert1,"certificate1.tbsCertificate.extensions.?LAST.extnID",str,1); /* subjectKeyIdentifier */ @@ -314,6 +339,7 @@ create_certificate(node_asn *cert_def,unsigned char *der,int *der_len) /* signatureAlgorithm: dsa-with-sha */ + len = sizeof(str) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa-with-sha1",str,&len); result=asn1_write_value(cert1,"certificate1.signatureAlgorithm.algorithm",str,1); result=asn1_write_value(cert1,"certificate1.signatureAlgorithm.parameters",NULL,0); /* NO OPTION */ @@ -387,9 +413,11 @@ get_certificate(node_asn *cert_def,unsigned char *der,int der_len) /* Verify sign */ + len = sizeof(str) - 1; result=asn1_read_value(cert2,"certificate2.signatureAlgorithm.algorithm" ,str,&len); + len = sizeof(str2) - 1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa-with-sha1",str2,&len); if(!strcmp(str,str2)){ /* dsa-with-sha */ @@ -398,6 +426,7 @@ get_certificate(node_asn *cert_def,unsigned char *der,int der_len) /* add the lines to calculate the sha on der[start]..der[end] */ + len = sizeof(str) - 1; result=asn1_read_value(cert2,"certificate2.signature",str,&len); /* compare the previous value to signature ( with issuer public key) */ diff --git a/src/CrlExample.c b/src/CrlExample.c index d0b3538ffc..2fcce98a34 100644 --- a/src/CrlExample.c +++ b/src/CrlExample.c @@ -27,8 +27,8 @@ #include <stdio.h> #include <string.h> -#include "../lib/cert_asn1.h" -#include "../lib/cert_der.h" +#include "../lib/x509_asn1.h" +#include "../lib/x509_der.h" extern static_asn pkix_asn1_tab[]; @@ -54,6 +54,8 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) strcat(name,".rdnSequence.?"); _asn1_ltostr(k,counter); strcat(name,counter); + + len = sizeof(str)-1; result=asn1_read_value(cert,name,str,&len); if(result==ASN_ELEMENT_NOT_FOUND) break; k2=1; @@ -62,25 +64,35 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) strcat(name2,".?"); _asn1_ltostr(k2,counter); strcat(name2,counter); + + len = sizeof(str)-1; result=asn1_read_value(cert,name2,str,&len); if(result==ASN_ELEMENT_NOT_FOUND) break; strcpy(name3,name2); strcat(name3,".type"); + + len = sizeof(str)-1; result=asn1_read_value(cert,name3,str,&len); strcpy(name3,name2); strcat(name3,".value"); if(result==ASN_OK){ + len = sizeof(str2); result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-countryName", str2,&len); if(!strcmp(str,str2)){ asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName", &value,"certificate2-subject-C"); + len = sizeof(str)-1; asn1_read_value(cert,name3,str,&len); asn1_get_der(value,str,len); strcpy(name3,"certificate2-subject-C"); + + len = sizeof(str)-1; asn1_read_value(value,name3,str,&len); /* CHOICE */ strcat(name3,"."); strcat(name3,str); + + len = sizeof(str)-1; asn1_read_value(value,name3,str,&len); str[len]=0; strcat(answer," C="); @@ -88,17 +100,22 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) asn1_delete_structure(value); } else{ + len = sizeof(str2); result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationName" ,str2,&len); if(!strcmp(str,str2)){ asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName" ,&value,"certificate2-subject-O"); + + len = sizeof(str)-1; asn1_read_value(cert,name3,str,&len); asn1_get_der(value,str,len); strcpy(name3,"certificate2-subject-O"); + len = sizeof(str)-1; asn1_read_value(value,name3,str,&len); /* CHOICE */ strcat(name3,"."); strcat(name3,str); + len = sizeof(str)-1; asn1_read_value(value,name3,str,&len); str[len]=0; strcat(answer," O="); @@ -106,15 +123,19 @@ get_Name_type(node_asn *cert_def,node_asn *cert,char *root, char *answer) asn1_delete_structure(value); } else{ + len = sizeof(str2); result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationalUnitName",str2,&len); if(!strcmp(str,str2)){ asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationalUnitName",&value,"certificate2-subject-OU"); + len = sizeof(str)-1; asn1_read_value(cert,name3,str,&len); asn1_get_der(value,str,len); strcpy(name3,"certificate2-subject-OU"); + len = sizeof(str)-1; asn1_read_value(value,name3,str,&len); /* CHOICE */ strcat(name3,"."); strcat(name3,str); + len = sizeof(str)-1; asn1_read_value(value,name3,str,&len); str[len]=0; strcat(answer," OU="); @@ -159,6 +180,7 @@ create_CRL(node_asn *cert_def, unsigned char *der,int *der_len) result=asn1_write_value(crl,"crl1.tbsCertList.version","v2",0); /* signature: dsa-with-sha */ + len = sizeof(str)-1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa-with-sha1",str,&len); result=asn1_write_value(crl,"crl1.tbsCertList.signature.algorithm",str,1); @@ -171,6 +193,7 @@ create_CRL(node_asn *cert_def, unsigned char *der,int *der_len) result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence","NEW",1); result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence.?LAST","NEW",1); /* C */ + len = sizeof(str)-1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-countryName",str,&len); result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence.?LAST.?LAST.type",str,1); result=asn1_create_structure(cert_def,"PKIX1Implicit88.X520countryName", @@ -184,6 +207,7 @@ create_CRL(node_asn *cert_def, unsigned char *der,int *der_len) result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence","NEW",4); result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence.?LAST","NEW",4); /* O */ + len = sizeof(str)-1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationName",str,&len); result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence.?LAST.?LAST.type",str,8); result=asn1_create_structure(cert_def,"PKIX1Implicit88.X520OrganizationName", @@ -198,6 +222,7 @@ create_CRL(node_asn *cert_def, unsigned char *der,int *der_len) result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence","NEW",1); result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence.?LAST","NEW",1); /* OU */ + len = sizeof(str)-1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-at-organizationalUnitName", str,&len); result=asn1_write_value(crl,"crl1.tbsCertList.issuer.rdnSequence.?LAST.?LAST.type",str,1); @@ -225,6 +250,7 @@ create_CRL(node_asn *cert_def, unsigned char *der,int *der_len) result=asn1_write_value(crl,"crl1.tbsCertList.revokedCertificates.?LAST.revocationDate.utcTime","970731000000Z",1); result=asn1_write_value(crl,"crl1.tbsCertList.revokedCertificates.?LAST.crlEntryExtensions","NEW",1); + len = sizeof(str)-1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-ce-cRLReasons", str,&len); result=asn1_write_value(crl,"crl1.tbsCertList.revokedCertificates.?LAST.crlEntryExtensions.?LAST.extnID",str,1); /* reasonCode */ @@ -238,6 +264,7 @@ create_CRL(node_asn *cert_def, unsigned char *der,int *der_len) /* signatureAlgorithm: dsa-with-sha */ + len = sizeof(str)-1; result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa-with-sha1",str,&len); result=asn1_write_value(crl,"crl1.signatureAlgorithm.algorithm",str,1); result=asn1_write_value(crl,"crl1.signatureAlgorithm.parameters",NULL,0); /* NO OPTION */ @@ -309,6 +336,7 @@ get_CRL(node_asn *cert_def,unsigned char *der,int der_len) /* Verify sign */ + len = sizeof(str)-1; result=asn1_read_value(crl2,"crl2.signatureAlgorithm.algorithm",str,&len); result=asn1_read_value(cert_def,"PKIX1Implicit88.id-dsa-with-sha1",str2,&len); diff --git a/src/Makefile.am b/src/Makefile.am index da384da816..7811453e6b 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -4,7 +4,7 @@ SUBDIRS = srp x509 INCLUDES = -I../lib -noinst_PROGRAMS = serv cli crypt prime asn1c CertificateExample +noinst_PROGRAMS = serv cli crypt prime asn1c CertificateExample CrlExample serv_SOURCES = serv.c serv_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) crypt_SOURCES = crypt-gaa.c crypt.c @@ -16,6 +16,8 @@ cli_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) CertificateExample_SOURCES = CertificateExample.c CertificateExample_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) +CrlExample_SOURCES = CrlExample.c +CrlExample_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) asn1c_SOURCES = asn1c.c asn1c_LDADD = ../lib/libgnutls.la $(LIBGCRYPT_LIBS) diff --git a/src/asn1c.c b/src/asn1c.c index 508d145c3d..91245dcbdd 100644 --- a/src/asn1c.c +++ b/src/asn1c.c @@ -27,8 +27,8 @@ #include <stdio.h> #include <string.h> -#include "../lib/cert_asn1.h" -#include "../lib/cert_der.h" +#include "../lib/x509_asn1.h" +#include "../lib/x509_der.h" int main(int argc,char *argv[]) diff --git a/src/prime.c b/src/prime.c index 91e14eb10d..7232174885 100644 --- a/src/prime.c +++ b/src/prime.c @@ -26,7 +26,7 @@ #include "../lib/gnutls_int.h" #include "../lib/gnutls_srp.h" #include "../lib/crypt.h" -#include "../lib/cert_b64.h" +#include "../lib/x509_b64.h" #include "prime-gaa.h" MPI _gcry_generate_elg_prime( int mode, unsigned pbits, unsigned qbits, |