Hello all,

as part of a pilot project to deploy a CA, I have been trying OpenCA-0.9.2.5.

I encountered a couple of issues and problems.  The maintainers of OpenCA and 
its manual might take the following as hints for improvements.  Moreover, if 
you are an experienced OpenCA administrator (or even one of the developers), 
any hints to get around several problems described below will be appreciated.



1.      The meaning of many "configure" parameters are not clear.  
Although "./configure --help" gives me a load of options with terse 
explanations, most of the options are not further mentioned/explained in the 
manual.

For example, "--with-openssl-prefix" is explained as "openssl prefix".  That 
works out of the box if you compile openssl yourself with a final "make 
install".  However, the average distribution does not preserve the default 
file layout.  So, when it reads "openssl prefix", does that mean where to 
look for (a) the openssl binary (b) the openssl runtime libraries (c) the 
openssl include files, or (d) the openssl etc-stuff?  I could find out by 
digging in the "Makefile.in"s, but it would make the user's life considerably 
easier if the names here were chosen less ambiguous.  After all, OpenCA is 
not easy to tame for the first-time user anyway, especially of you use an 
off-the-shelf distribution.

The same applies for "--with-httpd-fs-prefix" (and several others), which I 
*guess* means the root for "htdocs", "cgi-bin", etc.




2.      Speaking of "configure": Since it has so many options, it would be 
really 
nice if the according manual section could include some sample configure 
command-lines for typical setups, in the form of "if you want to have only a 
CA then do ..., and if you want ... then do ..., etc.".  For my part, I first 
want to play with OpenCA, get somehow familiar with it, and then make my 
decisions about the CA structure.  To this end, hints for configurations that 
work are highly appreciated.




3.      In fact, I use SUSE 10.2 Linux, and by default, no development packages 
are 
installed; for example, the openssl and openLDAP include headers are not 
installed.  However, the "./configure" process does not notice that; the 
problem becomes apparent only if you attempt to build OpenCA (and the 
inexperienced user will probably not easily find out why "make" fails 
because "make" fails with a huge load of error messages; if the history 
buffer of your terminal is not large enough or if you don't pipe the error 
messages into a log file, you really will get not clue at all about what went 
wrong).

This applies similarly for openLDAP: The "configure" script does complain, but 
in a wholly arcane way: it claims that libldap and libber are not present, 
which is nonsense: they are installed in /usr/lib, so *that* is *not* the 
problem.  The problem are in fact missing include files.




4.      Building OpenCA - the make process.

First of all, I do like the effort that the authors of the manual spend on 
security related issues, even less obvious ones.  At the same time, getting 
warnings like

        make[7]: Entering directory `/scratch/OpenCA-0.9.2.5/src/modules'
        Warning: prerequisite IO::Stringy 1.211 not found.
        Warning: prerequisite Mail::Field 1.05 not found.
        Warning: prerequisite Mail::Header 1.01 not found.
        Warning: prerequisite Mail::Internet 1.0203 not found.
        Checking if your kit is complete...
        Looks good

are at least puzzeling - "... not found" but "... your kit is complete" - 
huh?.  (More likewise messages follow later.)

Then,

        Checking if your kit is complete...
        Warning: the following files are missing in your kit:
                t/1.t
                t/2.t
        Please inform the author.

should actually abort the build process.  As I said before, if you don't keep 
and inspect the log, this will *certainly* escape your attention.

Moreover, several C compile warnings do not support confidence into the 
robustness of OpenCA, and there are many, especially in OpenSSL.xs.  See also

        make[5]: Entering directory `/scratch/OpenCA-0.9.2.5/src/openca-sv/src'
        gcc -DPACKAGE_VERSION=\"1.0.1\\x0\" -I../include  -I/usr/include    -g 
-O2 -c 
apps.c
        apps.c: In function  `password_callback':
        apps.c:183: warning: incompatible implicit declaration of built-in 
function  
`strlen'
        apps.c:186: warning: incompatible implicit declaration of built-in 
function  
`bcopy'
        apps.c:222: warning: incompatible implicit declaration of built-in 
function  
`memset'
        apps.c:227: warning: incompatible implicit declaration of built-in 
function  
`strlen'
        apps.c:232: warning: incompatible implicit declaration of built-in 
function  
`memset'
        apps.c:238: warning: incompatible implicit declaration of built-in 
function  
`memset'
        apps.c: In function  `load_cert':
        apps.c:388: warning: passing argument 2 of  `d2i_ASN1_HEADER' from 
incompatible pointer type
        apps.c:400: warning: passing argument 2 of  `d2i_ASN1_HEADER' from 
incompatible pointer type
        apps.c: In function  `configure_engine':
        apps.c:644: warning: incompatible implicit declaration of built-in 
function  
`strstr'
        apps.c:656: warning: incompatible implicit declaration of built-in 
function  
`bcopy'

and many more likewise.  Finally, "make" terminates at

        
gcc -DPACKAGE_VERSION=\"0.5.1\\x0\" -D_USE_SEMAPHORES=1 -I../include 
-I/usr/include     -g -O2 -c 
ocsp_response.c
        In file included from /usr/include/openssl/pqueue.h:65,
                         from /usr/include/openssl/dtls1.h:64,
                         from /usr/include/openssl/ssl.h:985,
                         from ocsp_response.c:12:
        /usr/include/string.h:38: error: expected declaration specifiers or  
`...' 
before `(' token
        /usr/include/string.h:38: error: expected declaration specifiers or  
`...' 
before `(' token
        /usr/include/string.h:38: error: expected declaration specifiers or  
`...' 
before `(' token
        /usr/include/string.h:43: error: expected declaration specifiers or  
`...' 
before `(' token
        /usr/include/string.h:43: error: expected declaration specifiers or  
`...' 
before `(' token
        /usr/include/string.h:43: error: expected declaration specifiers or  
`...' 
before `(' token
        /usr/include/string.h:293: error: conflicting types for  `bcopy'
        /usr/include/string.h:44: error: previous declaration of  `bcopy' was 
here
        make[5]: *** [ocsp_response.o] Error 1


I have no idea what goes wrong here.  Any clues???




5.      Anyway, certain configurations go around compiling this source, and the 
make process terminates sucessfully (more or less...).  Now, when I do "make 
test", I get an error message, no matter on what platform I try.  I have read 
about this problem before in the archives, but I could not find any really 
useful clue.  Apparently, many users have these problems.  Is that normal?

Specifically, I get

        make[6]: Entering directory 
`/scratch/OpenCA-0.9.2.5/src/modules/MIME-tools-5.411'
        
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 
'blib/lib', 'blib/arch')" 
t/*.t
        t/Body...........ok
        t/Decoder........ok
        t/Entity.........ok
        t/Gauntlet.......ok
        t/Head...........ok
        t/Misc...........FAILED tests 4-6
                Failed 3/7 tests, 57.14% okay
        t/Parser.........ok
        t/Ref............ok
        t/WordDecoder....ok
        t/Words..........ok
        Failed Test Stat Wstat Total Fail  Failed  List of Failed
        
-------------------------------------------------------------------------------
        t/Misc.t                   7    3  42.86%  4-6
        Failed 1/10 test scripts, 90.00% okay. 3/223 subtests failed, 98.65% 
okay.
        make[6]: *** [test_dynamic] Error 255

and

        make[6]: Entering directory 
`/scratch/OpenCA-0.9.2.5/src/modules/openca-openssl'
        
PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 
'blib/lib', 'blib/arch')" 
t/*.t
        t/1....Subroutine errno redefined 
at ../openca-openssl/blib/lib/OpenCA/OpenSSL.pm line 271.
        FAILED test 2
                Failed 1/2 tests, 50.00% okay
        t/2....Subroutine errno redefined 
at ../openca-openssl/blib/lib/OpenCA/OpenSSL.pm line 271.
        ok
        t/3....Subroutine errno redefined 
at ../openca-openssl/blib/lib/OpenCA/OpenSSL.pm line 271.
        ok
        t/4....Subroutine errno redefined 
at ../openca-openssl/blib/lib/OpenCA/OpenSSL.pm line 271.
        ok
        t/5....Subroutine errno redefined 
at ../openca-openssl/blib/lib/OpenCA/OpenSSL.pm line 271.
        ok
        t/6....Subroutine errno redefined 
at ../openca-openssl/blib/lib/OpenCA/OpenSSL.pm line 271.
        ok
        Failed Test Stat Wstat Total Fail  Failed  List of Failed
        
-------------------------------------------------------------------------------
        t/1.t                      2    1  50.00%  2
        Failed 1/6 test scripts, 83.33% okay. 1/72 subtests failed, 98.61% okay.
        make[6]: *** [test_dynamic] Error 255




6.      Anyway once more, ignoring the outcome so far, if I dare to install the 
software, and if I try to run it, I (more specifically, my students) get 
messages like

        Error 700 General Error: The compilation of the command cmdViewCSR 
failed. 
Can't use an undefined value as a HASH reference 
at /usr/local/openra/openca/lib/functions/crypto-utils.lib line 1186




Ok, that was a lot, and most readers will probably not get to this point here, 
but if you do - do you have any hints for me?


Regards

-- 

S. Hamdy
United Arab Emirates University
College of Information Technology


-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Openca-Users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/openca-users

Reply via email to