KB-1957 Verification error when deploying component plug-ins
Symptoms
Deploying a component plug-in fails with the following error printed in the application server log:
[Appian Plugin Hot Deploy] ERROR com.appiancorp.plugins.LoggingPluginEventListener - Failed to load Component Plug-in 'com.appian.richtext': Component plug-in approval verification failed. Please contact Appian for approval process
The error includes no stack trace or other information.
Cause
This issue can have two underlying causes:
- The component plug-in is a development copy that was not signed by Appian.
- The component plug-in was signed, and the file was modified or extracted and re-compressed after signing.
Action
The correct action depends on whether the component plug-in is signed or not. To verify if a plug-in is signed, check that the META-INF directory in the plug-in .zip file contains the following files:
- MANIFEST.MF
- APPIAN.SF
- APPIAN.RSA
If all three files are present, the component plug-in is signed.
Unsigned Plug-ins
Development and testing of component plug-ins requires a registered developer instance. In order to deploy unsigned plug-ins, follow the instructions in the Appian Documentation to register any Appian instances used for development and testing. After successfully completing the registration process, unsigned component plug-ins can be deployed on the environment.
Note: Production instances should not be registered under the developer program in order to circumvent signing requirements. Once development is complete, component plug-ins should be submitted to Appian for signing so they can be deployed on production instances.
Signed Plug-ins
If the error is encountered with a signed component plug-in downloaded from the Appian AppMarket, the likely cause of the issue is corruption of the file during the process of downloading or deploying the plug-in. Actions such as e-mailing, FTP transfers and otherwise copying files may introduce unintended changes to a file. To verify whether the file was modified, the MD5 checksums of the files can be compared using the following command.
Validating File Integrity
Windows
certutil -hashfile "<FULL_PATH_TO_PLUGIN_ZIP>" MD5
Linux/Mac
md5sum "<FULL_PATH_TO_PLUGIN_ZIP>"
Both commands will output a 128-bit hash checksum of the file, such as 93dfaf7e0e08fe41f88dda2aee4c6ab9. To verify if changes occurred to the plug-in file, do the following:
- Download the component plug-in from the Appian AppMarket to your computer.
- Immediately after downloading, compute the MD5 checksum as outlined above.
- On the server where the plug-in was deployed, compute the MD5 checksum of the deployed plug-in in
<APPIAN_HOME>/_admin/plugins. - Compare the two checksums.
If the two hashes do not match exactly, the file was modified during download or transfer.
Redeploying the Plug-in
If the plug-in's MD5 checksum does not match the plug-in package downloaded from the AppMarket, the plug-in needs to be redeployed. To redeploy the plug-in, take the following steps:
- On a computer with SSH or virtual desktop access to the Appian server, download the plug-in from the AppMarket.
- Copy the downloaded plug-in to the server.
- Verify that the MD5 checksums now match.
- Deploy the plug-in by moving it into
<APPIAN_HOME>/_admin/plugins.
If the checksums match, and the error persists, submit a new support case to Appian Technical Support with the plug-in .zip file attached, as well as the link to the plug-in in the Appian AppMarket.
Affected Versions
This article applies to self-managed installations of Appian 19.1 and later.
Last Reviewed: June 2019
