我正在尝试通过MQTT客户端使用TLS 1.2身份验证在我的设备和AWS IoT服务之间建立连接。根据AWS IoT文档,我将RootCA证书存储在密钥库中的JAVA_Home / jre / Lib / Security / CACerts中。我能够使用CreateKeysAndCertificateResult生成用于连接到AWS IoT服务的设备的证书和密钥。后来,我从PEM字符串创建了X.509证书,从keypair对象中的私钥字符串创建了RsaCrtKeySpec对象。我将其保存在密钥库中,并使用MQTT Client对象中的密钥库连接到AWS IoT。但是,connect()会抛出下面列出的异常。任何有关这方面的帮助将不胜感激。
Aug 11, 2017 10:49:18 AM
com.amazonaws.services.iot.client.mqtt.AwsIotMqttConnectionListener
onFailure
WARNING: Connect request failure
MqttException (0) - javax.net.ssl.SSLHandshakeException: Received fatal
alert: certificate_unknown
答案 0 :(得分:0)
尝试确保您的证书在IOT控制台中处于活动状态。在certificates
>下actions
> activate
答案 1 :(得分:0)
你可能错过了指出吗?
-Djavax.net.ssl.trustStore=yourtruststore
-Djavax.net.ssl.trustStorePassword=password