PGP Encryption Utilities

Overview

Allows PGP encryption and decryption of files. Support for Signing documents and Verifying the signature using PGP.

Key Features & Functionality

Smart Services:

  • PGP Encrypt - using provided public certificate
  • PGP Decrypt - using provided private certificate and password
  • PGP Signfile - Sign File With PGP
  • PGP Verifyfile - Verify File With PGP
  • Encrypt File With ECDH Algorithm
  • Decrypt File With ECDH Algorithm
  • Generate ECC Secret Key
Anonymous
  • v2.1.0 Release Notes
    • Added three smart services to encrypt files using ECDH, decrypt files using ECDH algorithm and generate Secret Key for ECDH Algorithm
    • Security Patch Updated
  • Hi,

    Plugin doesn't seem to support ECDH based encryption/decryption using ECC Keys (although bouncy castle does have support for it)

    Would be great if the plugin could be enhanced. Thanks!

  • Hi Team,

    We are trying to decrypt a file. Using encrypt & decrypt command we are able to do successfully. If we try to decrypt via appian process, using the same private key we are getting below error:

    [Appian Work Item - 260457 - WorkID 92 - execution00 - process 3576512 - model 96 : UnattendedJavaActivityRequest] ERROR com.appiancorp.plugins.pgp.PGPDecryptFileSmartService - Error decrypting file with PGP
    java.io.IOException: unknown packet type encountered: 20

  • Hello

    We have tries this out in a Sandbox app in our Dev environment and are seeing the following:

    In the logs we are seeing this error:

    11:39:29.908 [Appian Work Item - 5968 - WorkID 298 - execution00 - process 19235 - model 5178 : UnattendedJavaActivityRequest] ERROR com.vuram.plugins.ps.PGPEncryptFileSmartService - Error encrypting file with PGP
    org.bouncycastle.openpgp.PGPException: unable to set up ephemeral keys: unknown ParameterSpec

    This error message isn't helping identify the root cause of the error. Are you able to provide some indication as to what the problem is?

    More worrying is that the process does not catch this error and continues on to completion, giving a falsely positive indication that the process has completed successfully. Whilst a fix to the root cause is required, we cannot use this plug-in if we cannot be sure that the process will not stop when errors are encountered. So in actual fact a fix to both issues is required for us to be able to use this.

  • Thank you. The problem was that the process model was created before plugin upgrade. After upgrading plugin the smart service node icon deceivingly updated too but it wasn't actually the updated smart service. Solution was to remake the node anew.

  • Hi  ,

    Kindly use the new version of the smart service instead of the deprecated version(Refer to the screenshot below).

    Regards,
    Snehasri S.

  • 10:06:01.373 [Appian Work Item - 163977 - WorkID 971 - execution00 - process 80393 - model 19033 : UnattendedJavaActivityRequest] ERROR com.vuram.plugins.ps.PGPEncryptFileSmartServiceOld - Error encrypting file with PGP
    com.appiancorp.suiteapi.common.exceptions.AppianStorageException: In order to access this method, this Document needs to be retrieved via ContentService.download()
    	at com.appiancorp.content.DocumentHelper.write(DocumentHelper.java:271) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.content.DocumentHelper.write(DocumentHelper.java:264) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.suiteapi.knowledge.Document.write(Document.java:318) ~[appian-ae-23.4.222.0.jar:?]
    	at com.vuram.plugins.ps.PGPEncryptFileSmartServiceOld.run(PGPEncryptFileSmartServiceOld.java:78) ~[pgp%252Dencryption%252Dutilities%252D2.0.0_16352123_7853057402114c.jar:?]
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.lambda$call$0(DefaultActivityExecutor.java:136) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.plugins.PluginUsageLogger.runWithPluginInformation(PluginUsageLogger.java:54) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:136) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor$1.call(DefaultActivityExecutor.java:130) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.common.ContextClassLoaderSwitcher.runInContext(ContextClassLoaderSwitcher.java:28) ~[appian-ae-common-23.4.222.0.jar:?]
    	at com.appiancorp.process.runtime.framework.DefaultActivityExecutor.execute(DefaultActivityExecutor.java:130) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute(UnattendedJavaActivityRequest.java:88) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequestResponseCreator.getJavaActivityResultResponse(UnattendedJavaActivityRequestResponseCreator.java:22) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.getJavaActivityResultResponse(UnattendedJavaActivityRequest.java:67) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.engine.UnattendedJavaActivityRequest.execute0(UnattendedJavaActivityRequest.java:55) ~[appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.common.persistence.data.AppianDataUserContextProvider.executeWithConsistentDataReads(AppianDataUserContextProvider.java:143) [appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.engine.ProcessContinuationRequest.executeOuter(ProcessContinuationRequest.java:68) [appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.engine.ContinuationRequest.execute(ContinuationRequest.java:129) [appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.workpoller.UnattendedRequestHandlerBean.onMessage(UnattendedRequestHandlerBean.java:36) [appian-ae-23.4.222.0.jar:?]
    	at com.appiancorp.process.workpoller.WorkItem.run(WorkItem.java:110) [appian-ae-23.4.222.0.jar:?]
    	at org.springframework.jca.work.SimpleTaskWorkManager$DelegatingWorkAdapter.run(SimpleTaskWorkManager.java:241) [spring-tx-5.3.27.jar:5.3.27]
    	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_382]
    	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_382]
    	at java.lang.Thread.run(Thread.java:750) [?:1.8.0_382]
  • Hi Ladislav,

    Could you share the tomcat-log file after initiating the process model again. This might be helpful for us to know further on the issue.

    Regards,
    Vignesh E

  • Hi Ladislav,

    Could you please share your Appian version that you use?