diff --git a/Makefile b/Makefile index 819766ee..1ccdacdf 100644 --- a/Makefile +++ b/Makefile @@ -15,7 +15,7 @@ CLEANDIRS=lang doc bindir=bin -all: headers xca doc +all: headers xca docs re: clean all xca.o: $(OBJECTS) @@ -25,6 +25,8 @@ xca: xca.o $(CC) $(LDFLAGS) $< $(LIBS) -o $@ @echo -e "\n\n\nOk, compilation was successfull. \nNow do as root: 'make install'\n" +docs: + $(MAKE) -C doc headers: $(MAKE) -C ui $@ @@ -32,13 +34,8 @@ headers: $(MAKE) DEP=yes -C $* target.obj clean: - for x in $(SUBDIRS); do \ - $(MAKE) -C $${x} clean; \ - done - for x in $(CLEANDIRS); do \ - $(MAKE) -C $${x} clean; \ - done - rm -f *~ xca + for x in $(SUBDIRS) $(CLEANDIRS); do $(MAKE) -C $${x} clean; done + rm -f *~ xca xca.o distclean: clean rm -f Local.mak conftest conftest.log diff --git a/configure b/configure index 29c1c791..01f92d16 100755 --- a/configure +++ b/configure @@ -73,6 +73,7 @@ search_includes() { for dbn in "" ${subdirs}; do if test -r ${dir}/include${dbn}/$1; then add_include ${dir}/include${dbn} + test -z "${dbn}" || add_include ${dir}/include echo Found: $1 at ${dir}/include${dbn} return 0 fi @@ -166,7 +167,7 @@ echo echo "LDFLAGS :${LIBS}${LDIRS}" echo "PREFIX :${prefix:=/usr/local}" echo "CPPFLAGS :${CF}" -echo "CFLAGS :${CFLAGS:=-Wall -g}" +echo "CFLAGS :${CFLAGS:=-Wall -g -ggdb}" echo cat >Local.mak <key->type == EVP_PKEY_RSA) + EVP_PKEY_assign_RSA(key, EVP_PKEY_get1_RSA(pk->key)); + if (pk->key->type == EVP_PKEY_DSA) + EVP_PKEY_assign_DSA(key, EVP_PKEY_get1_DSA(pk->key)); +#if 0 key->type = pk->key->type; if (key->type == EVP_PKEY_RSA) { //rsakey = RSA_dup(pk->key->pkey.rsa); @@ -165,7 +171,7 @@ pki_key::pki_key(const pki_key *pk) if (key->type == EVP_PKEY_DSA) { key->pkey.dsa=((DSA *)ASN1_dup( (int(*)())i2d_DSAPrivateKey, (char *(*)())d2i_DSAPrivateKey,(char *)pk->key->pkey.dsa)); } - +#endif openssl_error(); encryptKey(); } @@ -309,6 +315,7 @@ void pki_key::oldFromData(const unsigned char *p, int size ) OPENSSL_free(pdec); EVP_CIPHER_CTX_cleanup(&ctx); openssl_error(); + encryptKey(); } EVP_PKEY *pki_key::decryptKey() @@ -507,34 +514,35 @@ void pki_key::writeKey(const QString fname, const EVP_CIPHER *enc, } FILE *fp = fopen(fname.latin1(), "w"); if (fp != NULL) { - if (key){ - pkey = decryptKey(); - if (PEM) { - PEM_write_PrivateKey(fp, pkey, enc, NULL, 0, cb, &p); - } else { - i2d_PrivateKey_fp(fp, pkey); - } - EVP_PKEY_free(pkey); - openssl_error(); - } + fopen_error(fname); + return; + } + if (key){ + pkey = decryptKey(); + if (PEM) { + PEM_write_PrivateKey(fp, pkey, enc, NULL, 0, cb, &p); + } else { + i2d_PrivateKey_fp(fp, pkey); + } + EVP_PKEY_free(pkey); + openssl_error(); } - else fopen_error(fname); fclose(fp); } void pki_key::writePublic(const QString fname, bool PEM) { FILE *fp = fopen(fname.latin1(),"w"); - if (fp != NULL) { - if (key->type == EVP_PKEY_RSA) { - if (PEM) - PEM_write_PUBKEY(fp, key); - else - i2d_PUBKEY_fp(fp, key); - openssl_error(); - } + if (fp == NULL) { + fopen_error(fname); + return; } - else fopen_error(fname); + if (PEM) + PEM_write_PUBKEY(fp, key); + else + i2d_PUBKEY_fp(fp, key); + + openssl_error(); fclose(fp); } @@ -542,9 +550,13 @@ void pki_key::writePublic(const QString fname, bool PEM) QString pki_key::length() { char st[64]; + QString x; + if (key->type == EVP_PKEY_DSA && key->pkey.dsa->p==NULL) { + return x="???"; + } sprintf(st,"%i bit", EVP_PKEY_bits(key) ); openssl_error(); - QString x = st; + x = st; return x; } diff --git a/lib/x509name.cpp b/lib/x509name.cpp index fb0e59cf..83abda96 100644 --- a/lib/x509name.cpp +++ b/lib/x509name.cpp @@ -123,8 +123,6 @@ QString x509name::getEntry(int i) const else ret=QString::fromLatin1((const char *)d->data,d->length); - //ASN1_STRING_free(d); - return ret; } diff --git a/ui/NewX509.ui b/ui/NewX509.ui index c6ab3fc0..a2480776 100644 --- a/ui/NewX509.ui +++ b/ui/NewX509.ui @@ -3073,7 +3073,7 @@ Example: Validity -
validity.h
+
widgets/validity.h
-1 -1 diff --git a/widgets/CertDetail.h b/widgets/CertDetail.h index 1158254a..dadad577 100644 --- a/widgets/CertDetail.h +++ b/widgets/CertDetail.h @@ -48,8 +48,8 @@ * */ -#ifndef CERTDETAIL_H -#define CERTDETAIL_H +#ifndef __CERTDETAIL_H +#define __CERTDETAIL_H #include "ui/CertDetail.h" diff --git a/widgets/CertExtend.h b/widgets/CertExtend.h index 1544296c..2fabea23 100644 --- a/widgets/CertExtend.h +++ b/widgets/CertExtend.h @@ -48,8 +48,8 @@ * */ -#ifndef CERTEXTEND_H -#define CERTEXTEND_H +#ifndef __CERTEXTEND_H +#define __CERTEXTEND_H #include "ui/CertExtend.h" diff --git a/widgets/CrlDetail.h b/widgets/CrlDetail.h index 58b4811a..ab128bb9 100644 --- a/widgets/CrlDetail.h +++ b/widgets/CrlDetail.h @@ -48,8 +48,8 @@ * */ -#ifndef CRLDETAIL_H -#define CRLDETAIL_H +#ifndef __CRLDETAIL_H +#define __CRLDETAIL_H #include "ui/CrlDetail.h" diff --git a/widgets/ExportCert.h b/widgets/ExportCert.h index 831fabae..121adf09 100644 --- a/widgets/ExportCert.h +++ b/widgets/ExportCert.h @@ -48,8 +48,8 @@ * */ -#ifndef EXPORTCERT_H -#define EXPORTCERT_H +#ifndef __EXPORTCERT_H +#define __EXPORTCERT_H #include "ui/ExportCert.h" diff --git a/widgets/ExportKey.h b/widgets/ExportKey.h index 5790587b..b0e8169d 100644 --- a/widgets/ExportKey.h +++ b/widgets/ExportKey.h @@ -48,8 +48,8 @@ * */ -#ifndef EXPORTKEY_H -#define EXPORTKEY_H +#ifndef __EXPORTKEY_H +#define __EXPORTKEY_H #include "ui/ExportKey.h" diff --git a/widgets/ImportMulti.h b/widgets/ImportMulti.h index 4e28c99f..40dc078c 100644 --- a/widgets/ImportMulti.h +++ b/widgets/ImportMulti.h @@ -49,8 +49,8 @@ * */ -#ifndef IMPORTMULTI_H -#define IMPORTMULTI_H +#ifndef __IMPORTMULTI_H +#define __IMPORTMULTI_H #include "ui/ImportMulti.h" #include "lib/pki_base.h" diff --git a/widgets/KeyDetail.h b/widgets/KeyDetail.h index 48eb91c6..ad8f01a1 100644 --- a/widgets/KeyDetail.h +++ b/widgets/KeyDetail.h @@ -48,8 +48,8 @@ * */ -#ifndef KEYDETAIL_H -#define KEYDETAIL_H +#ifndef __KEYDETAIL_H +#define __KEYDETAIL_H #include "ui/KeyDetail.h" diff --git a/widgets/NewX509.h b/widgets/NewX509.h index 2ed26eb1..02c42d4d 100644 --- a/widgets/NewX509.h +++ b/widgets/NewX509.h @@ -49,8 +49,8 @@ */ -#ifndef NEWX509_H -#define NEWX509_H +#ifndef __NEWX509_H +#define __NEWX509_H #include "ui/NewX509.h" #include "lib/oid.h"