如何使用Java中的Smack XMPP库处理TLS证书
||
嗨,大家好。我刚刚开始在服务器端和客户端都使用Java中的XMPP玩游戏。
在服务器端,我正在使用Apache Vysper 0.7,在客户端端,我正在使用Ignite Smack 3.1.0
我正在使用apache vysper演示页中的一台小型XMPP嵌入式服务器,该服务器使用源代码随附的TLS证书:
XMPPServer server = new XMPPServer(\"localhost\");
StorageProviderRegistry providerRegistry = new MemoryStorageProviderRegistry();
AccountManagement accountManagement = (AccountManagement) providerRegistry.retrieve(AccountManagement.class);
Entity user = EntityImpl.parseUnchecked(\"user@localhost\");
accountManagement.addUser(user, \"password\");
server.setStorageProviderRegistry(providerRegistry);
server.addEndpoint(new TCPEndpoint());
server.setTLSCertificateInfo(new File(\"bogus_mina_tls.cert\"), \"boguspw\");
server.start();
System.out.println(\"Vysper server is running...\");
问题在于这不是正确/有效的证书。如果我使用pidgin测试服务器,则会弹出一个警报窗口,告诉我证书无效,如果我想为此添加例外,则显示一个按钮。
我想用Smack api做同样的事情,但是我不知道怎么做。
在我的smack api上,我正在使用如下代码:
ConnectionConfiguration config = new ConnectionConfiguration(\"localhost\",5222, \"localhost\");
config.setSASLAuthenticationEnabled(false);
connection = new XMPPConnection(config);
connection.connect();
connection.login(userName, password);
就是这样我需要怎么做才能接受或拒绝无效证书?
谢谢你的帮助。
没有找到相关结果
已邀请:
2 个回复
久纳禾澎
参见例如:https://svn.apache.org/repos/asf/mina/vysper/trunk/server/core-inttest/src/test/java/org/apache/vysper/xmpp/modules/extension/xep0199_xmppping/ AbstractIntegrationTestCase.java
素汞读