<< Click to Display Table of Contents >> Navigation: Professional > Administration > Approve Strongly Named Custom Assemblies |
•Checking The Public Key Token Of A Signed Assembly
EQuIS Professional requires that assemblies are strongly named and approved.
To use custom assemblies, they must be signed with a strong name and the key approved. Additional information on how to do this is provided below and demonstrated in this Office Hour video.
To check if a custom DLL is strongly named, use the "sn.exe" command within the .NET Framework Developer Pack matching the latest .NET Framework version in use. This file will be located in a directory such as:
C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools
In a Command Prompt (run as administrator), follow these steps:
1.Navigate to the directory where the latest version of the Microsoft file "sn.exe" is located by typing 'cd' followed by the sn.exe's file path.
Example:
cd C:\Program Files (x86)\Microsoft SDKs\Windows\v10.0A\bin\NETFX 4.7.2 Tools
2.Type the following, where the string in quotes is the full path and filename of the DLL to be checked:
sn.exe -T "C:\Program Files\EarthSoft\EQuIS\EarthSoft.Reports.Library.123456.dll"
A message will be returned indicating either the public key token for the DLL or that the report does not represent a strongly named assembly.
The screenshot below shows the outcome with the tool run for three different DLLs:
1.A standard EarthSoft report - in recent builds, these will always be strongly named (EarthSoft.Reports.Library.50943.dll)
2.A custom report strongly named by an entity other than EarthSoft (NonEarthSoftCustomReportWithStrongName.dll)
3.A custom report without strong naming (A_Report_NotStrongNamed.dll)
Please refer to the Microsoft documentation: How to: Sign an assembly with a strong name.
To approve a public key token in EQuIS Professional:
1.Connect to the database where the custom report, form or other assembly(s) need approval.
2.Create an ST_CONFIG record for each approved public key token with the values as detailed below.
ST_CONFIG |
Value |
CONFIG_SECTION |
AssemblyTokens |
CONFIG_KEY |
Token |
OBJECT_TYPE |
PublicKey |
OBJECT_VALUE |
<Public Key Token> |
3.Save changes and restart EQuIS Professional.
In Windows PowerShell, run the command below without the outside quotes and replacing <Fully Qualified File Name> with the Fully Qualified File Name (path to the assembly and the filename).
([system.reflection.assembly]::loadfile("<Fully Qualified File Name>")).FullName
For example:
For DLLs created and managed by EarthSoft, contact Support to schedule a recompile of these DLLs by EarthSoft. EarthSoft developers will sign the DLL with EarthSoft’s .SNK file and recompile the DLL. Otherwise, please refer to the Microsoft documentation: How to: Sign an assembly with a strong name.
Provided that only one .SNK file is created for the client organization, there need only be one addition to ST_CONFIG for that file, listing its Public Key Token.
Note: Assemblies with a null PublicKeyToken will not be approved. An invalid assembly error will appear in the EQuIS log. |
Copyright © 2023 EarthSoft, Inc • Modified: 24 Dec 2021