Monday, April 13, 2015

Working with CrypKey Instant and the CrypKey SDK

I have to recently investigate implementing a software licensing and activation solution for a project and so I decided to investigate several licensing solutions.

One of the solutions that my friends recommended to me was CrypKey:

I decided to download the CrypKey Instant and SDK trial versions of the software to give them a spin.

After installing CrypKey Instant, I was presented with this menu:

As soon as I clicked on the button for CrypKey Instant, I was presented with this dialog:

Ok....  The whole point of downloading the software was to be able to license my .NET applications, so now I have to request a separate "Full Evaluation" just to test out the .NET Licensing functionality???  Hmmm...  This method of providing a trial download which is not really a "trial" is definitely misleading.

In any case, I went ahead and tried to click on the Full Evaluation button and ended up with this:

So now I had to send a separate e-mail message to the Sales team to request a Full Evaluation and wait for a response back!!  This was starting to get really frustrating...

After I finally got the Full Evaluation license to download from the Sales Representative, I went ahead and installed the Full Evaluation version.

Interestingly enough the Full Evaluation was v. 8.0 while the supposed "Trial" was v. 7.0.  So yet another occurrence where the development team was not keeping versions updated and consistent on their website.

In any case, after the installation completed, I launched the application and was presented with this menu:

When I then attempted to launch CrypKey Instant by clicking on "Open CrypKey Instant", I got this window:

Ok, so it wasn't really an evaluation at all!!  It seemed to need yet ANOTHER key just to evaluate the software!!!  Talk about annoying!!!  So this means I would have to send a follow-up e-mail to the Sales Representative just to be able to ACTUALLY evaluate the CrypKey Instant software!!

Well, in the meantime, I decided to install the CrypKey SDK and check out the code samples/examples.

After installing it, I went ahead and looked in the Documentation folder:

Well, unfortunately, the company did not even have the courtesy to distribute the documentation as PDF Files!!!  Since I was installing the Trial software inside of a virtual machine, I did not have Microsoft Office or the Office Viewers installed, so I had to install the Office Viewers just to view the documentation.

Well, the CrypKey SDK Manual documentation was around 351 pages long and there appeared to be no "Quick Start" to using the CrypKey SDK.  The CrypKey TCP/IP Quick Start documentation was completely useless because it assumed that you already had an in-depth knowledge of how to use CrypKey SDK.

Since the documentation was clearly not getting my anywhere, I decided to move on to the examples/code samples:

Well, it seems that the code examples/code samples they were shipping were at least a few years outdated since the last version they shipped included code samples for Visual Studio 2012.  But no big deal, Visual Studio 2013 opens older versions of projects as well, so I decided to open the Visual Studio 2012 solution:

Unfortunately, even though the Changes.txt file indicates that the solution should use .NET v. 4.5, it seems that some developers on the team didn't do their homework properly, because one of the projects in the solution still was using .NET v. 2.0!!

Ok... so after installing .NET v. 3.5 on my system, I decided to launch the sample application:

Uh oh!!  Looks like someone introduced a defect into the sample application!! Whoopsie!!

Besides that, the sample application provides little to no insight about how to actually use the application.  It might as well be an application on how to build rockets since it did not improve my understanding at all of how to perform licensing and software protection within the application.

In addition, most notably missing was a code sample/example about how to implement licensing for an ASP.NET MVC Web Application.

I went into the toolset attempting to learn how to license my software by feature/module as well as how to perform licensing (both static and concurrent user licensing) within an ASP.NET Web Application.  After playing around with the software for several hours, I learned none of these things.

Therefore, if you are planning on adopting CrypKey as your licensing and software protection solution, you can expect to spend a tremendous number of hours getting up to speed with using the software because it is very poorly documented and the code samples are pretty much completely useless.  The lack of an ASP.NET Web Application code sample (Web Forms or MVC) diminishes the software's reputation that much more.

The functionality that CrypKey promises to provide can definitely be useful in many licensing scenarios, but CrypKey is definitely not the type of solution that you can adopt within a few days.  While it definitely appears to be one of the cheaper software licensing solutions compared to Nalpeiron and many other competitors, the poor documentation and code samples are proof positive that you get what you pay for!!

It seems that a competing product Intellilock has great code examples including ones for ASP.NET:

I will plan on providing my review of Intellilock in a future blog post.  Until then, cheers!! 

No comments:

Post a Comment