有了SSL,我为什么要生成.csr?

有了SSL,我为什么要生成.csr?,ssl,openssl,mosquitto,csr,Ssl,Openssl,Mosquitto,Csr,我不熟悉SSL/TLS,我正在尝试使用SSL设置我的moquitto代理。出于测试目的,我没有使用真正的rootCA,而是创建自己的rootCA。下面是我对SSL的看法,如果我错了,请纠正我,我是个傻瓜 rootCA可以发布第二层ca、证书、密钥和客户机/服务器交换这些信息,当它需要验证其他人的身份时,它会将这些信息带到rootCA并询问是否正确 因此,我遵循Mosquitto的文档,使用OpenSSL生成rootCA.crt、server.crt、server.key。我还生成了client.

我不熟悉SSL/TLS,我正在尝试使用SSL设置我的moquitto代理。出于测试目的,我没有使用真正的rootCA,而是创建自己的rootCA。下面是我对SSL的看法,如果我错了,请纠正我,我是个傻瓜

rootCA可以发布第二层ca、证书、密钥和客户机/服务器交换这些信息,当它需要验证其他人的身份时,它会将这些信息带到rootCA并询问是否正确

因此,我遵循Mosquitto的文档,使用OpenSSL生成rootCA.crt、server.crt、server.key。我还生成了client.crt和client.key,这样当我的客户机应用程序连接到Mosquitto代理时,代理可以识别该连接。 我将ca文件、密钥文件、证书文件配置添加到我的local.conf中。重新启动Mosquitto,它会工作。 然后我使用带有ca.crt、client.crt和client.key的mosquitto_sub连接到代理,这也行得通

我不明白的是,为什么文档教我如何生成server.csr和client.csr?
我猜如果我不是rootCA,我需要将这些csr发送到真正的rootCA,以使这些证书成为合法的,这就是csr的用途吗?

。csr是一个证书签名请求,需要使用您的CA.crt和CA.key进行签名。您不需要在mosquitto代理上使用它,只需要CA.crt和client.crt/key。如果您想测试它,请下载MQTT.fx client以检查您的MQTT与这些证书的连接。

openssl命令可以是,例如:


x509-req-in-client.csr-CA.crt-CAkey-CA.key-CAcreateserial-out-client.crt-days 365

堆栈溢出是编程和开发问题的网站。这个问题似乎离题了,因为它与编程或开发无关。请参见帮助中心中的。也许或者会是一个更好的询问的地方。请参见,您还需要将自签名证书放置在适当的信任存储中。