Giter VIP home page Giter VIP logo

libest's Introduction

This directory contains the libest project, which is an EST 
stack written in C.  EST is used for secure certificate 
enrollment and is compatible with Suite B certs (as well as RSA
and DSA certificates).  EST is a suitable replacement for SCEP.  

Directory contents:

    /src	This directory contains the EST library.  The
		target built from this directory is libest.a.
    /example	This directory contains sample code for implementing
                an application that uses the libEST library.
    /test	This directory contains unit test code to verify
                the libest capabilities.

Getting started
---------------
1.  ./configure; make ; make install
2.  Descend into the example/server directory and run
    the sample EST server.  There is a README in this directory
    with detailed instructions.
3.  Descend into the example/client directory and run
    the sample EST client.  There is a README in this directory
    with detailed instructions.

For further detailed instructions, build the reference manual PDF for
libEST and refer to it.  Steps to build the reference manual are in 
README.doxy



Getting started - Windows
--------------------------
libEST can be built natively on Windows, but only client
functionality has been explictly tested. libEST uses Gradle for Windows
build automation and the Visual Studio toolchain.

To build using Gradle you must have Visual Studio 2010, 2012, or 2013
and at least Gradle 2.12 on your system. Follow the steps below to
build an EST dll with Gradle:

1.  Have OpenSSL built and installed on your Windows system

2.  Set the following environment variables to tell the Gradle build script 
    where to find your installations of OpenSSL and EST

    SSL_DIR - must contain an "include" subdirectory for the OpenSSL header files,
              a "bin" subdirectory for the OpenSSL dll binaries, and a "lib" subdirectory
              for the OpenSSL link files
    
    set SSL_DIR=C:\PathToYourLibraryInstalls\OpenSSL
    
    URIPARSER_DIR - Specify only if path segment support is required. Must contain
                    an "include" subdirectory for uriparser header files and a "lib"
                    subdirectory for the uriparser.lib static library file.
    
    set URIPARSER_DIR=C:\PathToYourLibraryInstalls\uriparser
    
    PATH - must contain the path to your Visual Studio 2010/2012/2013 VC bin directory 
           prior to any other Visual Studio bin directory and the path to 
           your Gradle executable (which should already be in PATH)
           
    set PATH=C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC\bin;%PATH%
    
3.  Invoke Gradle:

    gradle estReleaseSharedLibrary
    
    The est.dll binary and est.lib link file can then be found at the path below:
    
    build\libs\est\shared\release
    
    To see all build related tasks Gradle can perform for EST, type:
    
    gradle tasks
      
Cross-compiling
---------------
It has been quite a while, but libEST has been cross-compiled for Android, 
but no testing has been performed.  Follow these steps to compile using the 
Android NDK:

1.  Compile and install OpenSSL for Android.  See OpenSSL docs
    for details.

2.  Set the following environment variables to setup your cross-compile.
    This assumes you've installed OpenSSL into /usr/local/OpenSSL-Android:

    export CC=arm-linux-androideabi-gcc
    export LDFLAGS=-L/usr/local/OpenSSL-Android/lib
    export CFLAGS="-DDISABLE_BACKTRACE -DDISABLE_TSEARCH -DIS_FREEBSD"

    **Note: you may not need all the CFLAGS values above depending
            on your tool chain.

3.  Configure libEST for cross-compiling and specify the location
    of your OpenSSL build:

    ./configure --with-ssl-dir=/usr/local/OpenSSL-Android \
	--host=arm-linux-androideabi \ 
	--disable-shared --disable-pthreads \
	--prefix=/var/android/libest

4.  Compile and install:

    make
    make install

libest's People

Contributors

rpb5bnc avatar jfigus avatar mpeck12 avatar tpetazzoni avatar bfussell avatar lubical avatar pritikin avatar

Watchers

Mikhail Kulinich avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.