summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNikos Mavrogiannopoulos <nmav@gnutls.org>2001-08-05 09:53:08 +0000
committerNikos Mavrogiannopoulos <nmav@gnutls.org>2001-08-05 09:53:08 +0000
commita9153107a4c890199ee1672a7397ea3615d77516 (patch)
tree6b4bc0cc09d5c0867d0afee93296e23135fafbe6
parenteb3a0595d557f00e3956e75ea0abc268f9bc4533 (diff)
downloadgnutls-a9153107a4c890199ee1672a7397ea3615d77516.tar.gz
fixes for the new files
-rw-r--r--src/CertificateExample.c33
-rw-r--r--src/CrlExample.c32
-rw-r--r--src/Makefile.am4
-rw-r--r--src/asn1c.c4
-rw-r--r--src/prime.c2
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",&param,"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,