2014-02-25 34 views
0

所以我想要做的是發送加密的電子郵件給某個收件人。我的方法是使用JavaMail-Crypto API並使用S/MIME作爲加密方法。我試圖測試他們的example。順便說一句,我沒有複製PGP代碼,因爲我不會使用它。JavaMail-Crypto s/mime error

運行它時,出現此錯誤「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

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