View previous topic :: View next topic |
Author |
Message |
wout
Joined: 27 Jul 2011 Posts: 16
|
Posted: Wed Jul 18, 2012 2:50 pm Post subject: Authenticated license product info string max 100 characters |
|
|
The max product info string is max 100 characters long, although I don't see any theoretical limits in the documentation.
I need to store more information in there (up to maybe a few kb), is this limitation removed in the newer ILS versions? Currently we're using 4.7.2.0 still. I'm in the midst of implementing some new stuff so I'd prefer upgrading after I implement the new features.
- Wout |
|
Back to top |
|
|
wout
Joined: 27 Jul 2011 Posts: 16
|
Posted: Wed Jul 18, 2012 2:54 pm Post subject: |
|
|
In the database the limit is 450 characters, however only 100 are stored. Seems some truncation is going on somewhere. 450 will be workable at present, so maybe there's a truncation bug?
- Wout |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Fri Jul 20, 2012 11:59 am Post subject: |
|
|
The maximum SQL Server string field is 450 characters long. This limit affects the maximum license key that can be stored. This corresponds to a license key with ProductInfo of 100 characters.
ProductInfo was really only designed for relatively short strings. If you have large amounts of data in ProductInfo it results in very long unwieldy license keys. If you are using authenticated licensing then Version 5 provides an alternative (much better) way of transferring large amounts of data to the application using "AuthenticationData". The AuthenticationData is uploaded to the Authentication Server and when the license key is authenticated the AuthenticationData is download to the application and saved in the license file and can be accessed via the AuthenticatedLicense.AuthenticationData property. _________________ Infralution Support |
|
Back to top |
|
|
wout
Joined: 27 Jul 2011 Posts: 16
|
Posted: Fri Jul 20, 2012 2:25 pm Post subject: |
|
|
Quote: | The maximum SQL Server string field is 450 characters long. This limit affects the maximum license key that can be stored. This corresponds to a license key with ProductInfo of 100 characters. |
That can't be right. At the moment 100 chars are stored in the product info max, so 350 chars are unused in the table. I have checked this by looking at the actual data in the table.
We don't mind long license keys (this isn't a mass product for novice users).
Can you check what is actually limiting the product info length? In case you're encrypting this with some asymmetric algorithm, it could be the block length, but I thought ILS automatically encrypted as many blocks as needed (the documentation seems to hint this).
- Wout |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Sat Jul 21, 2012 12:45 am Post subject: |
|
|
The limit is not on storing the ProductInfo but on storing the generated LicenseKey. With hex encoding each character of ProductInfo takes at least 2 characters to represent in the key string - but with the hypens and encryption blocks it works out more.
The maximum possible length ProductInfo that would still generate a license key small enough to be stored in an SQL Server database string field (max size of 450) is actually around 160 characters (depending on other license parameters such as key strength). Since we didn't really anticipate users wanting to generate such large keys the user interface limits the ProductInfo to 100 characters to avoid issues.
Note that with an Access database backend the max string field size is 255 and so the maximum ProductInfo is around 100 characters.
We could change the user interface to allow larger ProductInfo when generating keys and display an error if the maximum key size is exceeded - but there still will be a limit. If we were to change this it would be in Version 5 only. We are not planning another Version 4 release.
In version 4 it may be possible for you to work around the user interface limitation by writing your own custom generator that displays you own user interface for the user to enter the ProductInfo (see the Custom Generator sample project). You still would be limited to around 160 characters of ProductInfo.
In your original post you indicated that you wanted to store up to kB of data in ProductInfo. This is not going to be possible. For this size of data you should use AuthenticationData (new in Version 5) - which is stored in a non-indexed memo field and so is not limited in size. _________________ Infralution Support |
|
Back to top |
|
|
wout
Joined: 27 Jul 2011 Posts: 16
|
Posted: Mon Jul 23, 2012 10:23 am Post subject: |
|
|
Ah so the LicenseKey.Key column is the limiting factor, that wasn't clear to me. I'll try out how far I can stretch the boundaries with our own custom UI for entering the product info, thanks for the hint!
- Wout |
|
Back to top |
|
|
Infralution
Joined: 28 Feb 2005 Posts: 5027
|
Posted: Mon Jul 23, 2012 10:49 pm Post subject: |
|
|
We have removed the 100 character user interface limit in the just released Version 5.4.4 of ILS. Now you will get an error message if you attempt to use Product Info that generates a key too long for the database field. _________________ Infralution Support |
|
Back to top |
|
|
|