CryptoSys PKI Linux Version (unsupported) $Revision: 3.5.0 $ $Date: 2010-05-02 21:02:00 $ INTRODUCTION The Linux version of the CryptoSys PKI Toolkit is a static library file `diCrPKI.a'. Include `diCrPKI.h' in your source code and link to this library. Please read the `Copyright Notice and Terms' below before using. Alternatively, a shared library `libcryptosyspki.so.3.5.0' is also included. This shared library needs to be installed on your system using administrator privileges. The shell file `setuppkiso.sh' should work. FILELIST diCrPKI.a diCrPKI.h libcryptosyspki.so.3.5.0 pki_check.c PKI_Examples.c PkiMkRngSeed.c readme.txt setuppkiso.sh TEST PROGRAMS There are two test programs included, `pki_check.c' and `PKI_Examples.c'. The former is a simple test; the latter is a the same set of detailed tests supplied with the Windows version. The program `PkiMkRngSeed.c' to generate a seed file is also included. * GENERAL COMPILATION gcc MYPROG.c -L: diCrPKI.a -o MYPROG * EXAMPLE 1: gcc pki_check.c -L: diCrPKI.a -o pki_check ./pki_check This should display output like: Version=350 Licence Type=U Module=diCrPKI.c Compiled=May 2 2010 12:33:54 (or similar, depending on the version you have). * EXAMPLE 2: gcc PKI_Examples.c -L: diCrPKI.a -o PKI_Examples ./PKI_Examples This should display a long set of tests starting with "Trying to create test directory 'pkitest.xxxxxxxx'..." and finishing with "All done." It will then offer to delete the temp directory it made. If there is an unexpected result in PKI_Examples, the program will abort with an assert error. SHARED LIBRARY To use the shared library, assuming it's been installed on your system, gcc MYPROG.c -o MYPROG -lcryptosyspki COMPILATION The static library file diCrPKI.a has been created by compiling the source code using gcc -c -fPIC and combined into a library using ar rcs diCrPKI.a $(OBJECTS) The libraries were created on a Pentium 4 running Ubuntu GNU/Linux 2.6.15-55-386 with gcc version 4.0.3 (Ubuntu 4.0.3-lubuntu5). If it works for you, please use it. If you have any suggestions, please forward them to us. DOCUMENTATION See the manual available at . Yes, the manual is aimed primarily at Visual Basic users but it explains the required parameters, behaviour and return values for each function. These are the same for C/C++ programming as for VB6, just remember to allocate one extra character for the trailing null. See the section "Using with C and C++" in the manual. KNOWN DIFFERENCES IN LINUX VERSION * The Linux version is not designed for use in multiple threads. * PKI_LicenceType will return 'U'. * PKI_ModuleName has no relevance (it returns the source file name). * No automatic checks on first run (because, unlike a DLL, it's not `loaded'). Call PKI_PowerUpTests yourself. * No software integrity check (which relies on presence of a DLL file, which doesn't exist here). * Hash 't' option for files doesn't work (and isn't relevant on Unix anyway). * PWD_Prompt and PWD_PromptEx functions display the prompt on the stdout console and hide the input by turning off the keyboard echo. COPYRIGHT NOTICE AND TERMS The code and libraries for CryptoSys PKI ("the Software") is copyright (C) 2002-10 D.I. Management Services Pty Ltd, all rights reserved. You are welcome to use the Software as part of your own applications provided due credit is given. Use at your own risk. This is a beta release and you must make your own checks as to its suitability and accuracy for your purposes. You may not distribute the Software separately except as part of your own value-added application. David Ireland and DI Management Services Pty Limited ("the Author") make no representations concerning either the merchantability of the Software or the suitability of the Software for any particular purpose. It is provided "as is" without express or implied warranty of any kind. In no event shall the Author be liable for any damages in connection with or arising out of the use of the Software by any person whatsoever, including incidental, indirect, special or consequential damages, or any damages related to loss of use, revenue or profits, even if the Author has been advised of the possibility of such damages. By using the Software you expressly agree to such a waiver. If you do not agree to these terms, do not use the Software. David Ireland DI Management Services Pty Ltd www.di-mgt.com.au www.cryptosys.net