Java Класс "BCRSAPublicKey" периодически не найден - PullRequest
1 голос
/ 02 апреля 2020

Контекст

  • Использование KNIME 4.1.2, Windows 10, x64, JDK 1.8, Java Редактировать фрагмент
  • Я пытаюсь используйте фрагмент Java, чтобы прочитать файл CSV, зашифруйте его с помощью ключа publi c и сохраните полученный файл во временную папку
  • Я пытался использовать библиотеку BounceCastle v1.65
        try {
        encryptFile(    
                  "encryptedfile.csv.pgp",
                  "original.csv",
                  "/key/pub.asc",
                  false,
                  false);
       } catch(Exception e) {
        out_result = "fail";
       }

Проблема в том, что я периодически получаю следующую ошибку в консоли, и мне неясно, что я неправильно предоставляю библиотеке / не включая. Беспорядок в том, что он прерывистый и иногда дает правильно зашифрованный файл.

Caused by: java.lang.NoClassDefFoundError: org/bouncycastle/jcajce/provider/asymmetric/rsa/BCRSAPublicKey
    at org.bouncycastle.jcajce.provider.asymmetric.rsa.KeyFactorySpi.engineGeneratePublic(Unknown Source)
    at java.security.KeyFactory.generatePublic(KeyFactory.java:328)
    at org.bouncycastle.openpgp.operator.jcajce.JcaPGPKeyConverter.implGeneratePublic(Unknown Source)
    at org.bouncycastle.openpgp.operator.jcajce.JcaPGPKeyConverter.getPublicKey(Unknown Source)
    at org.bouncycastle.openpgp.operator.jcajce.JcePublicKeyKeyEncryptionMethodGenerator.encryptSessionInfo(Unknown Source)
    at org.bouncycastle.openpgp.operator.PublicKeyKeyEncryptionMethodGenerator.generate(Unknown Source)
    at org.bouncycastle.openpgp.PGPEncryptedDataGenerator.open(Unknown Source)
    at org.bouncycastle.openpgp.PGPEncryptedDataGenerator.open(Unknown Source)
    at JSnippet.encryptFile(JSnippet.java:144)
    at JSnippet.encryptFile(JSnippet.java:107)
    at JSnippet.snippet(JSnippet.java:174)
    at org.knime.base.node.jsnippet.JavaSnippetCellFactory.getCells(JavaSnippetCellFactory.java:300)
...