所以我要做的是将加密的电子邮件发送给某个收件人。我的方法是使用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");
提前致谢, 喷射
答案 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>