GuardTime SDKs

The aim of GuardTime software development kits (SDKs) is to help our customers to integrate GuardTime technology into their own products and services. Currently, the C SDK and Java SDK are available, with possibly others to follow. All our SDKs come with reference manuals, full source code, and usage examples.

GuardTime SDKs are licensed under the Apache License 2.0. In addition to our own code, the SDKs also rely on externally developed components. We have taken care to only use components with permissive licensing. In particular, all of them can be used to develop both open- and closed-source applications and services. For full legal details, check the actual licenses for each relevant component, of course.

GuardTime Client SDK for C


GuardTime Client SDK for C contains libraries to make it easier to write client applications that obtain timestamps from GuardTime Gateways and use them to verify integrity of the managed data. In addition to documentatin and source code of the libraries, simple command line utilities to timestamp and verify arbitrary files are included as examples.

The SDK uses the OpenSSL libraries for cryptographic functions and data encoding, and the cURL libraries for the default HTTP transport implementation. The SDK should be compatible with all platforms where OpenSSL (and optionally cURL) are available.

The SDK is distributed as source, which the customers can compile on any platform where the required support libraries are available, and also in two precompiled versions:

  • Windows static and dynamic libraries for use with the Microsoft Visual C++ compiler (tested with VC 2008 on Windows XP Professional, but should work under any reasonably recent version of Windows);
  • Linux static and shared libraries for use with the GNU C or C++ compiler (tested with GCC 4.1 on Debian 4.0, but should work under any reasonably recent distribution).

The SDK is also known to compile and work under Mac OS X 10.5 (using system standard GCC and OpenSSL 0.9.8 from MacPorts) and Red Hat Enterprise Linux 5 (using system standard GCC and libraries).

Note that

  • the OpenSSL libraries have to be version 0.9.8 or newer, otherwise the SHA-256 hash algorithm used in the GuardTime Integrity Codes is not available;
  • a default implementation of HTTP transport using the cURL libraries is included in the SDK; however, integrators are free to use any other libraries providing that functionality; in that case the cURL libraries are not needed.

Downloads for Windows

  • OpenSSL libraries and header files: you can download the sources from the OpenSSL Project and compile your own or get the precompiled version from here;
  • cURL libraries and header files: you can download the sources from the cURL Project and compile your own or get the precompiled version from here;
  • C runtime libraries for VC 2008: you can get the installer from Microsoft or download it from here (this is only needed for deploying the applications to machines where VC 2008 is not installed);
  • GuardTime Client SDK libraries and header files: you can download the sources from here and compile your own or get the precompiled version from here (note that the source distribution also includes examples);
  • GuardTime Client SDK documentation in HTML and PDF;
  • you also need the URLs of GuardTime services; the information for public services for testing is available from here.

Downloads for Linux

  • OpenSSL libraries and header files: you can download the sources from the OpenSSL Project and compile your own or get the precompiled version through the standard package distribution mechanisms:
    • on Debian (4.0 or newer), this means issuing the command
      sudo apt-get install libssl-dev
    • on Red Hat (RHEL 5 or newer), this means issuing the command
      sudo yum install openssl-devel
  • cURL libraries and header files: you can download the sources from the cURL Project and compile your own or get the precompiled version through the standard package distribution mechanisms:
    • on Debian (4.0 or newer), this means issuing the command
      sudo apt-get install libcurl3-dev

      (note that libcurl3-dev is a virtual package providing libcurl3-openssl-dev in Debian 4.0 and libcurl4-openssl-dev in Ubuntu 7.10)

    • on Red Hat (RHEL 5 or newer), this means issuing the command
      sudo yum install curl-devel
  • GuardTime Client SDK libraries and header files: you can download the sources from here and compile your own or get the precompiled version from here (note that the source distribution also includes examples);
  • GuardTime Client SDK documentation in HTML and PDF;
  • you also need the URLs of GuardTime services; the information for public services for testing is available from here.


GuardTime Client SDK for Java


GuardTime Client SDK for Java contains classes to make it easier to write client applications that obtain timestamps from GuardTime Gateways and use them to verify integrity of the managed data. In addition to documentatin and source code of the libraries, simple command line utilities to timestamp and verify arbitrary files are included as examples.

The SDK uses the BouncyCastle libraries for cryptographic functions and data encoding. The SDK is distributed as source, which the customers can compile on any platform where the required support libraries are available, and also in precompiled version.

The SDK has been tested with Sun JDK SE 1.5 and 1.6 under Windows XP, Debian/Ubuntu Linux, and MaxOS X.

Downloads

  • BouncyCastle library: you can download the latest version from BouncyCastle project (you only need the provider JAR);
  • GuardTime Client SDK library: you can download the sources from here and compile your own or get the precompiled version from here (note that the source distribution also includes examples);
  • GuardTime Client SDK documentation in HTML;
  • you also need the URLs of GuardTime services; the information for public services for testing is available from here.

If you have any comments, suggestions, or questions regarding our SDKs, we’d like to hear from you.