【问题标题】:JavaMail-Crypto s/mime errorJavaMail-Crypto s/mime 错误
【发布时间】:2014-02-25 04:42:07
【问题描述】:

所以我要做的是向某个收件人发送一封加密的电子邮件。我的方法是使用 JavaMail-Crypto api 并使用 S/MIME 作为加密方法。我试图测试他们的example。顺便说一句,我没有复制 PGP 代码,因为我不会使用它。

运行时出现这个错误“java.security.NoSuchProviderException: No provider configured for S/MIME”。

我在谷歌上搜索了错误,其中一位指南告诉我只需将它们添加到我已经做过的类路径中。我目前正在使用以下罐子:

bcmail-jdk15on-150
bcprov-jdk15on-150
javamail-crypto_060622
javamail-crypto-bouncycastle-smime

我希望有人可以帮助我解决这个问题。谢谢 另一个问题是我想知道这些代码行是什么意思:

    char[] smimePw = new String("hello world").toCharArray();
    EncryptionKeyManager smimeKeyMgr = smimeUtils.createKeyManager();
        smimeKeyMgr.loadPublicKeystore(new FileInputStream(new File(
                "./id.p12")), smimePw);

    java.security.Key smimeKey = smimeKeyMgr.getPublicKey("Eric's Key");

提前致谢, 喷射

【问题讨论】:

    标签: java security email encryption jakarta-mail


    【解决方案1】:

    使用 jdk16-1.46.jar 代替 bcmail-jdk15on-150

    <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcprov-jdk16</artifactId>
            <version>1.46</version>
        </dependency>
        <dependency>
            <groupId>org.bouncycastle</groupId>
            <artifactId>bcmail-jdk16</artifactId>
            <version>1.46</version>
        </dependency>
    

    【讨论】:

      猜你喜欢
      • 2015-01-07
      • 2011-09-07
      • 2016-11-20
      • 2012-10-04
      • 2010-12-17
      • 1970-01-01
      • 1970-01-01
      • 2012-06-19
      • 2012-06-13
      相关资源
      最近更新 更多