CryptoSys PKI Toolkit


The CryptoSys PKI Toolkit provides you with an interface to public key cryptography functions from Visual Basic, VB6, VBA, VB.NET, VB2005/8/x, C/C++ and C# programs on any Windows system (W95/98/Me/NT4/2K/XP/2003/Vista/2008/W7).

Features | Manual | Examples | Feedback | Download | Buy Now | Licensed Users | Support | FAQ | Programming | SAT Mexico | FirmaSAT | German Health Service | .NET Interface | Linux Version | Other Interfaces | Known Issues | Integrity | Contact | Comment | Search

You can create and read both enveloped-data (encrypted) and signed-data Cryptographic Message Syntax (CMS, PKCS#7) objects, which you can use in S/MIME email messages; verify the digital signature in a signed-data CMS object; generate and manage RSA public and private keys; carry out "raw" RSA encryption and digital signing, make PKCS#10 certificate request files, and create and manage X.509 certificate files.
2009-03-30: See how the CryptoSys PKI Toolkit compares in the CMS (RFC 3852) Implementation Report [PDF (98 kB)] (we're implementation #3).

Other utilities included in the toolkit are the ability to generate message digest hash values using SHA-1, MD5, MD2, SHA-224/256/384/512; generate HMAC keyed-hash message authentication values, wipe files using 7-pass DOD standards, generate cryptographically-secure random numbers to the strict NIST SP800-90 standard, prompt for a password, and convert to and from base64- and hexadecimal-encoded formats. There is a 64-bit version included - see Using on a 64-bit system. If you just need standard symmetrical cryptography, see our alternative product CryptoSys API.

Locations of visitors to this page
Last year's visits
Latest releases:
2010-05-02: New Version 3.5 released 2 May 2010.
2010-05-20: Version 2.0.2 of FirmaSAT utility to create SAT Mexico digital signatures.
2010-06-30: PKI Examples VB6 to VB.NET.
2010-03-17: Using Delphi with CryptoSys PKI
2010-06-25: Writing an interface in another programming language.
2009-09-04: Complete update to SAT Mexico page.
2009-01-27: XML-Dsig and the Chile SII.

Features

CryptoSys PKI uses a straightforward Win32 DLL which is compatible with all versions of 32-bit Windows (95/98/Me/NT/2K/XP/2003/Vista/W7). There is no "COM", no "Active-X", and no requirement to "register" it with Windows to use it. The installed executable has a small footprint of about 480 kB. Developers can easily distribute it with their projects made in Visual Basic, VBA, C, C++, VB.NET/VB2005/8 or C# (in fact, in any other programming language that will let you call Win32 API functions including Delphi - see Extra Interfaces). A separate compilation for 64-bit systems is also included. For more information on how the RSA key data is stored and how the various functions work together, see RSA Key Formats. For some examples, see the Examples section below. For the theory and more detailed explanations of how RSA is used in practical applications, see RSA algorithm including its use in creating ISO/IEC 9796 signatures in the AUTACK scheme.

Note that the CryptoSys PKI Toolkit is totally independent from our original CryptoSys API product. The two packages do different things and do not require the other in order to work: see a Comparison of CryptoSys Features for a summary.

Feedback on the CryptoSys PKI Toolkit

“ First of All, GREAT PRODUCT your CryptoSys PKI Toolkit. Really, Congratulation on this Great Product, I really liked it. ”
  -G.P.

“ I just got my licensed version and try succesfully to distribute my PKI based application on my alternate notebook : it took me a few seconds and it works fine. I spent in the past a lot of time trying to find a so easy to use software for cryptographic actions. Thanks again ! ”
  -Luc B.

“ Great product - just what I was looking for - bought a copy this morning. ”
  -Raymond S.

“ It seems to be a very good and powerful toolkit ”
  -Bernd R.

“ Thank you very much for the quick and detailed answer. It helped me a lot and now my program works pretty good, I have signed and encrypted my data successfully. ”
  -Dimitris M.

“ I wanted to let you know we [purchased] CryptoSys Software to include in an ERP project we are working on in Mexico. I had tried other digital signature products that required the certificate (with private) key first be stored in the Win certificate store and then I wasn't getting the correct signature. So, I guess there is something special about how you are using the .key file that is provided by SAT Mexico. I am very glad I came across your product. Thank you ”
  - Herman K.

Manual

There are two manuals available: one main manual and a supplementary one for .NET users. See the CryptoSys PKI Manual page.

Download

Download a free Trial Version of the CryptoSys PKI Toolkit now.

The install program and the product functions have been tested on W98, W2K, XP, Vista and W7 systems. The functions have been tested using Visual Basic 6, Microsoft Office VBA (97 and 2003), Microsoft Visual C++ (versions 5 through 9) and Borland C++Builder version 5.5. The core DLL has been compiled for both Win32 and X64 systems using VS2008. The Win32 version uses Cloanto's LegacyExtender program to make it compatible with the older Windows W9x systems.

The Trial Edition is fully-functional and the download includes the full set of manuals and test functions in Visual Basic (VB6), VB.NET, C and C#. Please read the licence conditions for the Trial Edition. The latest version 3.5 was released on 2 May 2010. The trial period is 60 days from the date first installed on your system.

You need to have administrator rights when installing and uninstalling.

You can purchase a licenced version here. Existing licence holders can download the latest Developer Version here.

Examples

There is an example of each function in the manual and a series of tests in VB6/VBA, VB.NET/VB2005, C/C++ and C# provided with the installation download. These test programs should be in C:\Program Files\CryptoSysPKI.

See the PKI Examples Page for more details and more examples.

We get lots of queries asking how to use the RSA_Raw functions to do simple RSA encryption and signing. See Raw RSA Techniques for a guide to methods available in the latest version, including the EncodeMsg and DecodeMsg functions. If you want more detailed information about the different formats in which RSA keys can be stored, how the keys are used to create X.509 certificates, and all the different functions in the Toolkit that create, read and save the key data, you may find the information in RSA Key Formats useful. See also Importing an RSA key from known parameters.

Mexican Government SAT

The CryptoSys PKI Toolkit includes full support for the private key files published by the Servicio de Administración Tributaria in Mexico. See SAT Mexico Example for some sample code. New 2010-01-13 New improved version of utility to create digital signatures in SAT v2.0 format and more now available. See FirmaSAT.

Security interface for the German health care insurances services

The CryptoSys PKI Toolkit complies with the requirements of the security interface for data exchange for the German health service version 1.5. See Data Exchange in the German Health Service with CryptoSys PKI.

“ CryptoSys PKI Toolkit erfüllt alle Voraussetzungen, die notwendig sind, gemäß der Security Schnittstelle für den Datenaustausch im Gesundheitswesen Version 1.5, um mit den Datenannahmestellen der gesetzlichen Krankenkassen und dem ITSG-Trustcenter zu kommunizieren. Anders als bei DAKOTA stehen hier alle notwendigen Prozeduren in einer einzigen DLL zur Verfügung. Für das Erstellen der Zertifizierungsanfrage, dem Einlesen der Zertifizierungsantwort, dem Signieren / Verschlüsseln der Nachricht und der Speicherung der Daten (Zertifikate, privater Schlüssel, Annahme-pkcs.key) sind Beispiele in VB vorhanden. Sowohl der Zertifikatsantrag (PKCS#10 Format) beim ITSG-Trustcenter als auch die Datenübermittlung (PKCS#7 Format) an AOK, IKK, BKK, LKK, Knappschaft wurden erfolgreich durchgeführt. CryptoSys PKI Toolkit wird im Leistungserbringerverfahren und im Arbeitgeberverfahren erfolgreich eingesetzt. ”

Interfaces to other programming languages

See Writing an interface in another programming language for advice and examples in how to use CryptoSys PKI with other programming languages, including Visual FoxPro and PowerBuilder.

For Delphi, see the page Using Delphi with CryptoSys API, CryptoSys PKI for more details and some sample code.

Linux Version

There is a beta release of a Linux Version of CryptoSys PKI. The Toolkit is provided as a static library which can be compiled with your own source code.

Integrity

Check the integrity of your PKI software against our published checksums and message digests.

New or Updated in the latest versions

Version 3.5:

(2 May 2010)

Version 3.4:

(19 December 2009)

Version 3.3:

(21 February 2009)

Version 3.2:

(2 February 2008)

Version 3.1:

(2 August 2007)

Version 3.0:

(27 March 2007)

Thanks to all users who have suggested improvements and in particular to Bernd Rech for his suggestions, advice and help.

Contact

For more information, please Email Us. To comment on this page, see below.

This page last updated 15 July 2010

Comments

Post a comment on this page.

0 comments so far