我正在尝试在 mosquitto mqtt 代理和使用 Eclipse Paho 客户端库的 Java 编写的应用程序之间配置预共享密钥加密连接。
我已成功在两者之间建立了连接,不使用加密,而是使用 SSL,其中服务器证书经过身份验证,但没有客户端证书。
我想通过使用预共享密钥来加密连接(身份验证并不重要),这肯定受到 mosquitto 代理的支持,但我不确定 Eclipse Paho 库是否支持它。
该库为您提供了两种配置安全连接的不同方法。要么通过
setSSLProperties(java.util.Properties props)
方法 - 利用以下属性:
com.ibm.ssl.protocol
com.ibm.ssl.contextProvider
com.ibm.ssl.keyStore
com.ibm.ssl.keyStorePassword
com.ibm.micro.security.Password.obfuscate(char[] password).
com.ibm.ssl.keyStoreType
com.ibm.ssl.keyStoreProvider
com.ibm.ssl.trustStore
com.ibm.ssl.trustStorePassword
com.ibm.micro.security.Password.obfuscate(char[] password).
com.ibm.ssl.trustStoreType
com.ibm.ssl.trustStoreProvider
com.ibm.ssl.enabledCipherSuites
com.ibm.ssl.keyManager
com.ibm.ssl.trustManager
或通过
setSocketFactory(javax.net.SocketFactory socketFactory)
method.
有谁对我正在使用的工具和库有任何经验,并且有人可以就我如何让某些东西发挥作用提供任何建议吗?
是否可以创建一个 ssl 套接字工厂,它能够返回一个可以处理我需要的 PSK 实现的套接字?
感谢您的帮助 :-)
Paho 客户端依赖于 JVM 运行时提供的任何安全密码等;泛美卫生组织本身不提供任何服务。
据我所知,主流 JVM 提供商都不包含 TLS-PSK 支持。可能可以添加第三方的支持,例如http://www.bouncycastle.org/
您可能还想检查有关此主题的以下(当前未回答)问题:
- https://stackoverflow.com/questions/15403999/jsse-implementation-of-tls-psk
-
在 JCA 中定义 TLS 的密码套件
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)