RHEL 9 hardened cryptography policy - new license

Hi,

I’m trying to regenerate a new license key that supports RHEL hardened cryptography policy.

I tried using this page: Simple and fast .NET Web Services framework

When I get to the New License Key page, I still see my old key in the License Key textbox, but it’s now enclosed in this:

ServiceStack.Licensing.RegisterLicense("MYOLDKEY") 

Is this the expected behavior?

Another question, will an “old” license keep working after the regeration step?

Thanks.

It should be generating a new License Key signed with a stronger SHA512 Hash Algorithm. This doesn’t have any affect to your existing License Key.

Am I missing a step here or is the page broken?

Because as you can see in the screenshot, it doesn’t seem to be generating a new key.

After clicking on Generate New License Key when the new page is loaded it’s still showing my old license key except now it’s enclosed in the function I sent previously.

Thanks.

It shouldn’t be the same key, it should now be signed to use the stronger SHA512 Hash Algorithm.

Have you tried to see if the License Key can be used in RHEL 9+?

Sorry about the confusion here.

I was on 8.3 and upgraded directly to 8.8 and it was failing so I assumed it did not work and I had the wrong key.

Here is the error I got:

      Object reference not set to an instance of an object.
      System.NullReferenceException: Object reference not set to an instance of an object.
         at ServiceStack.NativeTypes.NativeTypesService.GetBaseUrl(String baseUrl) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/NativeTypes/NativeTypesService.cs:line 180
         at ServiceStack.NativeTypes.NativeTypesService.<>c__DisplayClass16_0.<Any>g__Generate|0() in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/NativeTypes/NativeTypesService.cs:line 294
         at ServiceStack.RequestExtensions.ToOptimizedResultUsingCache[T](IRequest req, ICacheClient cacheClient, String cacheKey, Nullable`1 expireCacheIn, Func`1 factoryFn) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/RequestExtensions.cs:line 174
         at ServiceStack.RequestExtensions.ToOptimizedResultUsingCache[T](IRequest req, ICacheClient cacheClient, String cacheKey, Func`1 factoryFn) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/RequestExtensions.cs:line 146
         at ServiceStack.NativeTypes.NativeTypesService.Any(TypesMjs request) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/NativeTypes/NativeTypesService.cs:line 306
         at lambda_method11(Closure, Object, Object)
         at ServiceStack.Host.ServiceRunner`1.ExecuteAsync(IRequest req, Object instance, TRequest requestDto) in /home/runner/work/ServiceStack/ServiceStack/ServiceStack/src/ServiceStack/Host/ServiceRunner.cs:line 131

But I rolled back to 8.3 and it works fine locally on Win 11 and on RHEL 9 with the new key and the DEFAULT security profile on RHEL.

Here is everything I tested:

8.3 works
8.4 works
8.52 works
8.6 works
8.7.2 FAIL
8.8 FAIL

It looks like there is a regression maybe on 8.7 + ?

I’ll stick to 8.6 for now.

This doesn’t have anything to do with the RHEL 9 License Key, it’s just a NRE failing on this line:

Which looks like it’s due to the NativeTypesFeature plugin not existing or it missing a MetadataTypesConfig, neither of which shouldn’t happen by default. I’m assuming your App has other configuration interfering with it. If you can put a debug breakpoint you should be able to find what’s causing the NRE.