间歇性地找不到Java类“ BCRSAPublicKey”

时间:2020-04-02 18:39:03

标签: java bouncycastle pgp knime

上下文

  • 使用KNIME 4.1.2,Windows 10,x64,JDK 1.8,Java编辑代码段
  • 我正在尝试使用Java代码段读取CSV文件,然后使用公共密钥pgp对其加密,然后将生成的文件保存到临时文件夹中
  • 我一直在尝试使用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)

0 个答案:

没有答案