在PC上安装OpenSSL,生成证书

一.在编程 PC 上安装 OpenSSL

为了使用带 TLS 安全证书的 ADS Over MQTT,在 MQTT 的 Server 和 Client 侧都需要证书以进行安全通信,避免窃听,同时确认另一端连接者的身份。 OpenSSL 就是一个开放的制作签发安全证书的工具。

1. 下载安装 OpenSSL

  1. 从 OpenSSL 官网可以下载该工具。OpenSSL官网没有提供windows版本的安装包,可以选择其他开源平台提供的工具。下载地址
    在这里插入图片描述

  2. 双击下载好的安装包
    在这里插入图片描述

  3. 选择accept,点击Next
    在这里插入图片描述

  4. 选择安装位置,点击Next
    在这里插入图片描述

  5. 选择启动菜单目录,点击Next
    在这里插入图片描述

  6. 选择Dll保存地址,点击Next
    在这里插入图片描述

  7. 选择Install
    在这里插入图片描述

  8. 等待安装完成
    在这里插入图片描述

  9. 选择不捐赠,点击Finish完成安装
    在这里插入图片描述

  10. 添加系统环境变量
    在这里插入图片描述
    在这里插入图片描述

2.生成CA认证

CA 是证书的发布者, CA 可以发布其他人的证书,把 CA 的证书加入系统信任的根证书后,由CA 发布的证书也被系统所信任,所以, CA 的 key 是必须小心保护的,一般都要加密保护,并且限制为 root 权限读写。

  1. 在编程 PC 中打开 Cmd 窗体,输入以下命令行,生成自签发证书 CA.crt

    req –new –x509 –days 60 –extensions v3_ca –keyout C:\TwinCAT\3.1\CustomConfig\Certificates\CA.key –out C:\TwinCAT\3.1\CustomConfig\Certificates\CA.crt
    

    在这里插入图片描述

    生成 CA 证书的过程中,要求输入 PEM pass phrase,这是设置 CA 自签发证书的密码,用它签发其它证书的时候需要输入这个密码。设置密码后还要求 Verifying,需要再次输入刚才设置的密码。然后要求输入 Country Name 等信息,其中有意义的是 Organization 和 Common Name,便于将来证书的使用者识别这是什么机构、谁签发的证书。其它项目则可填可不填。

    • req 生成签名请求;
    • new 新的请求;
    • key 使用文件中包含的密钥;
    • out 将密钥输出到文件。
    • extensions v3_ca 按照 openssl.cnf 文件中配置的 v3_ca 项添加扩展 , v3_ca 中指定 的basicConstraints 的值为 CA:TRUE,表示该证书是颁发给 CA 机构的根证书,可以用来签发其它证书。
    • x509 输出 X509 结构而不是证书 Req

    执行该命令行的结果,在指定路径下就有了以下证书文件:
    在这里插入图片描述

3. 生成 Broker 证书

  1. 创建服务端的密钥 Key(Creating the certificate)

    genrsa -out C:\TwinCAT\3.1\CustomConfig\Certificates\broker.key 2048
    

    在这里插入图片描述
    在这里插入图片描述

    其中:

    • Genrsa ——使用 RSA 算法产生私钥, RSA 是非对称加密算法的一种
    • -out ——输出文件的路径
    • 2048 ——指定秘钥长度
  2. 用上述 Key 创建一个证书签名请求 CSR(Creating the Certificate Signing Request)

    req –out C:\TwinCAT\3.1\CustomConfig\Certificates\broker.csr –key C:\TwinCAT\3.1\CustomConfig\Certificates\broker.key –new
    

    在这里插入图片描述
    在这里插入图片描述

    注意,上图中最重要的参数是 Common Name,应该是将要使用该证书的 PC 机的名称或者 IP

    地址。对于云服务器,可以使用固定的 IP 地址。

    密码可以设置,也可以不设置。其它参数项也可以为空。

  3. 用上述 CA 和 CSR 请求签发证书

    x509 –req –in C:\TwinCAT\3.1\CustomConfig\Certificates\broker.csr –CA C:\TwinCAT\3.1\CustomConfig\Certificates\CA.crt –CAkey C:\TwinCAT\3.1\CustomConfig\Certificates\CA.key –CAcreateserial –out C:\TwinCAT\3.1\CustomConfig\Certificates\broker.crt -days 60
    

    在这里插入图片描述
    在这里插入图片描述

    在命令行中:

    • x509 ——是对证书的 X.509 标准编解码格式。
    • Cacreateserial ——表示创建证书序列号文件(即上方提到的 serial 文件),创建的序列号文件默认名称为-CA,指定的证书名称后加上.srl 后缀

4. 生成各个 Client 的证书

  1. 创建客户端的密钥 Key(Creating the XAE certificate)

    genrsa –out C:\TwinCAT\3.1\CustomConfig\Certificates\TwinCAT_XAE.key 2048
    

    在这里插入图片描述在这里插入图片描述

  2. 用上述 Key 建一个证书签名请求 CSR(Creating the Certificate Signing Request):

    req –out C:\TwinCAT\3.1\CustomConfig\Certificates\TwinCAT_XAE.csr –key C:\TwinCAT\3.1\CustomConfig\Certificates\TwinCAT_XAE.key –new
    

    在这里插入图片描述
    在这里插入图片描述

    注意,上图中最重要的参数是 Common Name,应该是将要使用该证书的 PC 机的名称。PC机名称可以通过在CMD窗口中输入ipconfig/all查看
    在这里插入图片描述

    密码可以设置,也可以不设置。其它参数项也可以为空。

  3. 上述 CA 为 CSR 请求签发证书

    x509 –req –in C:\TwinCAT\3.1\CustomConfig\Certificates\TwinCAT_XAE.csr –CA C:\TwinCAT\3.1\CustomConfig\Certificates\CA.crt –CAkey C:\TwinCAT\3.1\CustomConfig\Certificates\CA.key –CAcreateserial –out C:\TwinCAT\3.1\CustomConfig\Certificates\TwinCAT_XAE.crt –days 60
    

    在这里插入图片描述
    在这里插入图片描述

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

AoDeLuo

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值