Frequently Asked Questions


This page answers many of the frequently asked questions about our CryptoSysTM range of products.

Index

  1. What's the difference between CryptoSys API and the CryptoSys PKI Toolkit?
  2. Why did I get a "memory violation" GPF error?
  3. How do I create keys and manage padding when encrypting?
  4. How do I encrypt variable-length strings using a password?
  5. How can I read an RSA Key from another system?
  6. How do I install on a 64-bit system?
  7. Can I use the program with VB.NET?
  8. How do I convert from VB6 to VB.NET?
  9. Can I use the program with C Sharp (C#)?
  10. How do I call the program from an ASP Page/using VBScript?
  11. Are your products validated to FIPS 140-2?
  12. I just want to "encrypt" something. Why do I have all these options for padding and CBC mode and other sh*t like that?
  13. Why are the examples in the manual so hard to follow?
  14. How do I buy a licence?
  15. I've lost my original setup download. How do I download another version?
  16. I've lost my Licence ID. How do I get it back?
  17. How do I distribute my applications to end users?
  18. What's two-key DES encryption (double DES)?
  19. How do I use a Triple DES function to carry out single DES encryption?
  20. How do I compile with a C/C++ compiler?
  21. How do I compile with Borland C++?
  22. Can I compile with any other languages?
  23. Is there a Linux version?
  24. Does your product support the test files for SAT in Mexico?
  25. Why does my signature not validate?

What's the difference between CryptoSys API and the CryptoSys PKI Toolkit?

See the Product Feature Comparison for a comparison of the CryptoSys family of cryptographic software products.

Why did I get a "memory violation" GPF error?

With the VB6 and C interfaces, you need to make sure you've pre-dimensioned the string variable to receive the output data. There are instructions in the manual on how to do this. See Pre-dimensioning a String.

How do I create keys and manage padding when encrypting?

Please refer to our brief introductions to Using Keys in Cryptography and Using Padding in Encryption.

How do I encrypt variable-length strings using a password?

See a sample Visual Basic project showing how to encrypt variable-length strings 'properly' with a key derived from a text password using the PBKDF2 algorithm from PKCS #5 v2.0. The example uses AES-128 but could use any of the major encryption algorithms like Triple DES or Blowfish.

How can I read an RSA Key from another system?

For more information about RSA keys and how they can be stored and the functions available in the Toolkit to handle them, see RSA Key Formats.

Are your products validated to FIPS 140-2?

See FIPS-140 Validation.

How do I call the program from an ASP Page/using VBScript?

All CryptoSys products use a simple Win32 DLLs that must be called in the same way as the Win32 API functions. They do not use ActiveX or COM. To call from an ASP page, you need an ActiveX DLL wrapper. There is an ActiveX Interface included with CryptoSys API which includes the full source code for the ActiveX DLL.

How do I install on a 64-bit system?

See Using CryptoSys API and CryptoSys PKI on a 64-bit system.

Can I use the program with VB.NET (=VB2005/8/..)?

Yes, there are interfaces available for both CryptoSys API and the CryptoSys PKI Toolkit. The full VB.NET source code is available in both cases.

How do I convert from VB6 to VB.NET?

See CryptoSys API Examples VB6 to VB.NET.

Can I use the program with C Sharp (C#)?

Yes, see API C# Interface and PKI C# Interface The full C# source code is available in both cases.

I just want to "encrypt" something. Why do I have all these options for padding and CBC mode and other sh*t like that?

Our CryptoSys products are aimed at developers who understand the basics of cryptography and can program to an intermediate to advanced level. The APIs have been designed to offer a choice in the methods you can use. For further help, please refer to the How To articles we've written, especially Using Padding in Encryption and Using Keys in Cryptography. See also sci.crypt FAQ.

Why are the examples in the manual so hard to follow?

See the answer to the previous question. The examples are provided to show the specifics of the function and, if possible, use a known test vector. If you don't understand what the examples are meant to be doing, you really shouldn't be using the product, certainly not to build a professional application. For more examples see API Examples and PKI Examples. (Yes, we did get asked this question.)

How do I buy a licence?

<PLUG> Go to our Kagi order page. </PLUG>

I've lost my original setup download. How do I download another version?

You will need the Licence ID issued to you when you first purchased the product. Go to the CryptoSys Home Page and follow the Licensed Users link for your particular product. If it keeps telling you you have entered the wrong LicenceID or "Invalid request", make sure you are attempting to download the correct product.

I've lost my Licence ID. How do I get it back?

The Licence ID would have been in the original email sent to you by Kagi when you purchased the product. If you can't find that, send us an email giving your name, email address, company name and any other information that will help identify you as the purchaser like the approximate date of purchase.

<PLUG>If you use Outlook Express, try using our DBXanalyzer product to backup and manage your emails. Available from www.di-mgt.com.au/dbxanalyzer/.</PLUG>

How do I distribute my applications to end users?

Full instructions on distributing to end users are provided in the Developer Version download in the file called distrib.txt. Distribution to end users is very simple and you do not need to use our setup program. Note that users of the Personal or Trial versions are prohibited from distributing the product to others.

What's two-key DES encryption (double DES)?

See the Triple DES page.

How do I use a Triple DES function to carry out single DES encryption?

See the Triple DES page.

How do I compile with a C/C++ compiler?

See the API Examples and PKI Programming pages (or, er, read the manual).

How do I compile with Borland C++?

The .lib file in the distribution was created using MSVC++. With Borland you need to generate a new .lib file directly from the DLL using the IMPLIB utility:

implib diCryptoSys.lib diCryptoSys.dll
implib diCrPKI.lib diCrPKI.dll

(note the order of the parameters for this command - get it wrong and it destroys your DLL!). We've successfully tested this with Borland C++ 5.5.1 for Win32 and we're told it works with version 6. See also the manual pages "Using With Borland C++" for CryptoSys API and CryptoSys PKI. If you get Unresolved external errors, see stdlib issue.

Can I compile with any other languages?

See Extra Interfaces for interfaces to the CryptoSys PKI Toolkit in other languages. There are also examples provided for CryptoSys API in Delphi and Team Developer. You could use these examples to create your own interface.

Is there a Linux version?

There are (unsupported) Linux versions available for both CryptoSys API and CryptoSys PKI. These are provided in both static and shared library form so you can compile directly with your own C program.

Does your product support the test files for SAT in Mexico?

Our product FirmaSAT is a stand-alone product which enables you to create and read digital tax receipts (Comprobantes Fiscal Digital) as specified by the Servicio de Administración Tributaria (SAT) in Mexico. See the FirmaSAT page for more details.

Why does my signature not validate?

See My signature will not validate.

 

Contact

For more information, please send us a message. To comment on this page, see below.

This page last updated 27 October 2011