Problem
When FIPS is enabled on a machine which is compiling/using RapidSpell Desktop .NET, the following error will occur at compile time;
"Exception occurred creating type '…….' System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms"
And a similar error at runtime;
“System.InvalidOperationException: This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms”
The reason for the error is that (generally speaking) when FIPS is enabled, the .NET IsolatedStorage mechanism is no longer usable (since it internally uses encryption that is not validated under FIPS). By default, RapidSpell uses IsolatedStorage at compile time for licensing, and at run time for user options storage.
Fix
1. Switch licensing mechanism to avoid compile time calls to the IsolatedStorage.
i) Open licenses.licx in the main project, and delete all lines relating to RapidSpell.
ii) Call this code before any RapidSpell components are used, eg. add it to the “Program” class for the application, or Form’s constructor
//C# Keyoti.RapidSpell.ComClientInteropSupport c = new Keyoti.RapidSpell.ComClientInteropSupport(); c.Key = "<...place your license key here...>"; 'VB Dim c As New Keyoti.RapidSpell.ComClientInteropSupport() c.Key = "<...place your license key here...>"
2. Use an alternative to IsolatedStorage for user options storage.
i) In RapidSpellDialog and RapidSpellAsYouType controls, set the OptionsStorageLocation property to FileSystem (or Stream if further customization is desired). Using FileSystem will result in a file being created using the file (path) specified in OptionsFileName.
More information on options and their storage is available in the help.
http://keyoti.com/products/rapidspell/dotNet/documentation.html |