繁体   English   中英

如何在java中使用Smack XMPP库处理TLS证书

[英]How to handle TLS certificate using Smack XMPP library in java

嗨,大家好。 我刚刚开始在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);

所以这就是。 接受或拒绝无效证书需要做什么? 谢谢你的帮助。

在Apache Vysper的集成测试中,我们使用类似的东西:

ConnectionConfiguration connectionConfiguration = new ConnectionConfiguration("localhost", 5222);
connectionConfiguration.setSecurityMode(ConnectionConfiguration.SecurityMode.required);
connectionConfiguration.setSASLAuthenticationEnabled(true);
connectionConfiguration.setKeystorePath("src/main/resources/bogus_mina_tls.cert");
connectionConfiguration.setTruststorePath("src/main/resources/bogus_mina_tls.cert");
connectionConfiguration.setTruststorePassword("boguspw");

例如: 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

我想你在

config.setSelfSignedCertificateEnabled(true)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM