Getting Started

This topic describes the necessary steps and provides some high-level guidance on how to integrate licensing into your application.

The Using Protection PLUS in .NET Applications webinar provides a video walk-through of using theInstant PLUS Wizard and the PLUSManaged API with SOLO Server.

Define Licensing Requirements

Before beginning source code integration, it is important to define the application's licensing requirements. Several questions are listed below, which you may ask to help develop a list of requirements.

Basic Requirements

Advanced Requirements

Application Characteristics

Select an API

Instant PLUS

PLUSManaged is a robust API, which is also relatively simple to use. However, Instant PLUS is an alternative which provides a wizard-based interface, and requires little to no source code changes. You should consider Instant PLUS under the following conditions:

PLUSManaged

If Instant PLUS does not suit your needs as decribed above, or if you simply prefer more control and/or a purely managed .NET implementation, PLUSManaged is the best choice. PLUSManaged has two License implementations to choose from. Based on your licensing requirements, you may apply the implementations below for specific license types, applications, etc...

License

The License class in PLUSManaged is strongly recommended, as it provides the highest level of security. This is because it uses the RSA algorithm with a key pair, and only has partial information for one of the keys in the pair. Consequently, the License File can only be issued by SOLO Server, and essentially makes your License File read-only to your application. Of course, it is possible to use SOLO Server web services to update license fields, and have your application retrieve an updated License File from SOLO Server.

WritableLicense

The WritableLicense class in PLUSManaged is derived from the License implementation; however, it is able to digitally sign and write the License Files itself without communicating with SOLO Server directly. While this reduces security to some degree (because the key data is known to your application), it provides extra flexibility for situations where your application needs to write to the License File directly without requiring communication with SOLO Server. Examples of situations where this is appropriate includes (but is not limited to):

Review and Test the Samples

Before you commit to integrating the code into your application directly, you should review and test the samples that best suit your need. If you have any advanced requirements not shown by the examples, you should try integrating them into the samples first. Additionally, if there is anything in the samples you find to be unclear or unexpected, or if you are not sure which samples you should evaluate, we encourage you to contact us.

Please refer to the Instant PLUS manual for its samples. Otherwise, please refer to the samples overview for additional details on PLUSManaged samples. You can also refer to the topic on Evaluating and Testing with SOLO Server for details on how to test the samples with the Protection PLUS 5 .NET Edition evaluation.

Integrate

Once you have gone through all of the above exercises, and you have purchased Protection PLUS 5 .NET Edition, the next step is to integrate the code into your application. If you are using SOLO Server, review the topic on Using PLUSManaged with your own SOLO Server or Instant SOLO Server account.

As always, be sure to test thoroughly, and contact us if you need additional guidance.

Obfuscate

The PLUSManaged.dll library included in this package is obfuscated and strong-named, and we strongly recommend you at least obfuscate your application as well. Obfuscation provides further protection for your application by helping prevent reverse engineering (and thereby preventing cracked versions of your software from being released). This also further protects your investment by preventing theft of your intellectual property.

It is possible to obfuscate your application in a manner which embeds PLUSManaged into your assembly; however, you will not be able to re-obfuscate or modify the strong named PLUSManaged library (as doing so would rename public symbols and render it unusable). For increased security, it is possible to inject or merge the library into your assembly where it is cross-obfuscated and all public symbols are renamed. If you are interested in doing this level of obfuscation please contact us for more information.