What information is required to get a signing license?

Questions & Answers

Summary

This article describes the information yWorks needs to grant a signing license, where you have to sign your application assemblies with a certain key, instead of having to obfuscate the yFiles WPF or yFiles .NET assemblies.
For a better user experience, please go to the integrated documentation viewer to read this article.

Description

A normal yFiles WPF or yFiles .NET license requires you to obfuscate the yFiles assemblies prior to distributing your application. This step ensures that only the correct license holder can use yFiles. Obfuscation can have several drawbacks, though, such as hard-to-debug failures of the application and invalidating strong names, requiring re-signing.

Starting with yFiles WPF 3.0 and yFiles .NET 5.0 you can also get a special license that no longer requires you to obfuscate the yFiles assemblies, as that special license only works in applications that have been signed with the correct key. This workflow typically is of interest to customers who already produce strong-named assemblies, but don't use obfuscation during their deployment.

Typically you will have created a keypair file, as described in the .NET documentation:

sn -k keypair.snk

This keypair file contains both the private and the public key. Typically that's all you need for signing your application, which can most conveniently be done as a build setting in Visual Studio.

To provide you with a suitable license file, we need the public key of that key pair. If you haven't extracted the public key yet you can do so with

sn -p keypair.snk public.snk

The resulting file public.snk is the one we need.

We do not (and will never) as you for the private key, nor do we want to receive it. This also applies to the initially created key pair file, which contains the private key as well.
If you use Enhanced Strong Naming with key migration, the public key we need is the public key of the identity key. This is the key that ends up in the assembly's identity. If you don’t use key migration, it is important that the public key provided to us is extracted with the correct hash algorithm, as otherwise the public key tokens in the assembly and the license won't match up.

Further information can be found in the Developer's Guide in the Signing your Application section.

Categories this article belongs to:
yFiles WPF > Licensing
yFiles.NET > Licensing
Applies to:
yFiles.NET: 5.0, 5.1, 5.2, 5.3, 5.4, 5.5, 5.6, 6.0
yFiles WPF: 3.0, 3.1, 3.2, 3.3, 3.4, 3.5, 3.6, 4.0
Keywords:
strong name - signing - sign - license - licensing - public key - public key token - assembly - assemblies