JavaMail-Crypto s / mime错误

时间:2014-02-25 04:42:08

标签: java security email encryption javamail

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

运行时,出现此错误“java.security.NoSuchProviderException:没有为S / MIME配置提供程序”。

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

bcmail-jdk15on-150
bcprov-jdk15on-150
JavaMail的-crypto_060622
javamail的-加密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");

提前致谢, 喷射

1 个答案:

答案 0 :(得分:0)

使用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>