java.security.InvalidalgorithParameterException:trustAnchors参数必须为非空
我已经在Keystore中添加了证书,我正在尝试使用Java代码连接到电子邮件交换服务器。当我连接时,它抛出一个异常 当我在eclipse中执行相同的Java代码时,同样的事情也可以正常工作,但当我使用失败的服务执行相同的Java代码时,同样的事情就会失败 这是我的密码:java.security.InvalidalgorithParameterException:trustAnchors参数必须为非空,java,windows,ssl,ssl-certificate,Java,Windows,Ssl,Ssl Certificate,我已经在Keystore中添加了证书,我正在尝试使用Java代码连接到电子邮件交换服务器。当我连接时,它抛出一个异常 当我在eclipse中执行相同的Java代码时,同样的事情也可以正常工作,但当我使用失败的服务执行相同的Java代码时,同样的事情就会失败 这是我的密码: public static void getEmailConnection(String folder){ try{ Store store = null; Properties properties =
public static void getEmailConnection(String folder){
try{
Store store = null;
Properties properties = System.getProperties();
Folder emailFolder = null;
final String SSL_FACTORY = "javax.net.ssl.SSLSocketFactory";
String host = "HOST NAME";
String username = "username";// change accordingly
String password = "password";// change accordingly
String mailStoreType = "pop3";
String port = "1234";
//Set manual Properties
properties.setProperty("mail.pop3.socketFactory.class", SSL_FACTORY);
properties.setProperty("mail.pop3.socketFactory.fallback", "false");
properties.setProperty("mail.pop3.socketFactory.port", port);
properties.setProperty("mail.store.protocol", mailStoreType);
properties.setProperty("mail.pop3.host", host);
properties.setProperty("mail.pop3.port", port);
Session emailSession = Session.getDefaultInstance(properties);
//create the POP3 store object and connect with the pop server
store = emailSession.getStore("pop3");
store.connect(host,1234,username, password);
emailFolder = store.getFolder(folder);
emailFolder.open(Folder.READ_ONLY);
}catch(Exception e){
throw new BsfConstraintViolationException("Unable to connect to Exchange Server",e);
}
}
请找到下面的堆栈跟踪
原因:java.lang.RuntimeException:意外错误:java.security.InvalidalgorithParameterException:trustAnchors参数必须为非空
位于sun.security.validator.PKIXValidator.(PKIXValidator.java:90)
位于sun.security.validator.validator.getInstance(validator.java:179)
位于sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:314)
在sun.security.ssl.X509TrustManagerImpl.CheckTrustedIt(X509TrustManagerImpl.java:173)上
位于sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:186)
位于sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
位于sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1320)
位于sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)
位于sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
位于sun.security.ssl.Handshaker.process_记录(Handshaker.java:804)
位于sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1032)
位于sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1328)
位于sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:882)
位于sun.security.ssl.AppInputStream.read(AppInputStream.java:102)
... 还有24个
谁能帮我解决这个问题。你解决了吗?我有同样的问题,这对我有效:你解决了吗?我有同样的问题,这对我有效: