Encryption Toolkit

Frequently Asked Questions

What are the differences among the three editions of the Nickellie Encryption Toolkit?

The Encryption Toolkit is available in three distinct editions: Trial, Business, and Unlimited. The Trial Edition offers the same features as the full version but displays a message each time the COM interface is used for file encryption or data encryption and does not include debug versions of the DLLs. The Unlimited Edition allows you full royalty-free rights to distribute software applications you build using the toolkit. The Business Edition allows you to distribute your applications within your organization. For more information on the three editions of the toolkit, please visit the Nickellie Encryption Toolkit pricing page.

What operating systems does the toolkit support?

The toolkit supports Windows 95, Windows 98, Windows ME, Windows NT 4.0, Windows 2000, Windows XP, and Pocket PC 2002.

How do I use the COM interface from eMbedded Visual Basic?

The toolkit includes complete documentation in standard Windows help format. In addition, the toolkit also includes sample projects in eMbedded Visual Basic, Visual Basic, eMbedded Visual C++, and Visual C++. Using the COM interface provided by the toolkit is straightforward. To see some of the sample code included with the Nickellie Encryption Toolkit, take a look at the help manual.

Can I use the encryption toolkit from Active Server Pages?

Yes. The COM interface provided by the toolkit can be used to add encryption capabilities to your ASP pages. To simplify your code and encapsulate conversion and error handling routines, you may want to use a wrapper class. For complete source code for a sample wrapper class and an example of its use in ASP, please refer to the article Wrapping the Toolkit to Simplify Development.

Can files encrypted on a Windows system be decrypted on the Pocket PC?

Yes. Provided that the Microsoft Cryptographic Provider is available on both platforms, files can be encrypted on any Windows system and decrypted on the Pocket PC. Conversely, files can also be encrypted on a Pocket PC and decrypted on any Windows system.

Can data encrypted on one platform be passed to another platform and decrypted?

Yes. Provided that the Microsoft Cryptographic Provider used for encryption is available on both platforms, data can be encrypted on any Windows system and decrypted on the Pocket PC. Conversely, data can also be encrypted on a Pocket PC and decrypted on any Windows system.

What Cryptographic Provider does the toolkit use for encryption and decryption?

The toolkit uses the Microsoft Base Cryptographic Provider for 40-bit encryption or the Microsoft Enhanced Cryptographic Provider for 128 bit encryption. The toolkit automatically selects the most secure provider available to encrypt files or data. For file decryption, the toolkit automatically detects the appropriate provider if available.

How do I know what Cryptographic Providers are available on my Windows system?

For windows platforms, you most likely have both the Microsoft Base Cryptographic Provider and the Microsoft Enhanced Cryptographic Provider on your system. To be sure, check your Windows\system32 folder for rsaenh.dll. If you don't have this file, then you do not have the Microsoft Enhanced Cryptographic Provider and the toolkit will automatically perform 40-bit encryption via the Microsoft Base Cryptographic Provider. If you want to use 128-bit encryption, you will need to install the Microsoft Enhanced Cryptographic Provider. To do this, you can download the Internet Explorer High Encryption Pack.

How do I know what Cryptographic Providers are available on my Pocket PC?

For Pocket PC 2002, the Microsoft Base Cryptographic Provider is included as a standard in rsabase.dll. If you want to use the Microsoft Enhanced Cryptographic Provider for 128-bit encryption, you will need to install this provider. It is included in the Pocket PC 2002 SDK. After you have installed the SDK, you can find the CAB file in the \Windows CE Tools\wce300\Pocket PC 2002\support\EnhancedCrypto folder. To install this CAB file, simply copy it to your device and tap it from File Explorer. You can verify that you have the Microsoft Enhanced Cryptographic Provider by checking the Windows folder on your device for rsaenh.dll. If you have the DLL, then you have the Microsoft Enhanced Cryptographic Provider.

Can I distribute the Win32 Context Menu Extension?

The toolkit is licensed per developer; that is, you need one toolkit for each developer. However, both the Business Edition and the Unlimited Edition allow you to distribute the context menu extension to PCs within your organization at no additional cost. The standard licensing does not allow for the distribution of the context menu extension to users outside your organization. To distribute the context menu extension to other PCs in your organization, follow these steps:

  1. Copy the NCrypto10.dll from C:\Program Files\Nickellie\Nickellie Encryption Toolkit\Win32\Release to the new PC.
  2. Register the NCrypto10.dll on the new PC by running the following from the command line (you may need to include the path): regsvr32 NCrypto10.dll
  3. You will now be able to use the context menu from the new PC.

If for any reason you want to uninstall the context menu from the new PC, all you have to do is unregister the dll like this: regsvr32 /u NCrypto10.dll.

What is the difference between the debug and release versions of the DLLs included in the toolkit?

The Debug version of each DLL is built with the debug version of the Microsoft Foundation Classes and has two features not present in corresponding the release version of the DLL:

  1. From Visual C++ and eMbedded Visual C++ the debug version sends debug information to the debug window.
  2. From all environments, including Visual Basic and eMbedded Visual Basic, the debug version includes assertions that may provide useful debugging information in cases where an error occurs

How can I insert encrypted strings into a character field in a database?

An encrypted string may contain characters that will cause an error if you attempt to insert the encrypted string into a character field in a database. To solve this problem, create a database field with a binary data type or convert the encrypted string to a database "safe" encrypted string. For details on converting to a database "safe" encrypted string, please see the article Wrapping the Toolkit to Simplify Development.

How do I find the answer to a question that is not addressed on this page?

If you have any questions about the Nickellie Encryption Toolkit and how it can be used, please contact Nickellie.