构建服务端证书校验鸿蒙示例代码

鸿蒙场景化示例代码技术工程师
发布于 2025-3-13 14:11
浏览
0收藏

本文原创发布在华为开发者社区

介绍

该示例是一个连接网络的Demo,通过socket获取远端证书,在网络通信中,利用套接字(socket)技术来获取与之建立连接的远端服务器的数字证书。

构建服务端证书校验源码链接

效果预览

构建服务端证书校验鸿蒙示例代码-鸿蒙开发者社区

使用说明

打开应用后,点击“点击连接”按钮,获取与之建立连接的远端服务器的数字证书,在后台打印数据。

实现思路

  • 获取本地ip
function getLocalIp() {
  const ipInfo = wifiManager.getIpInfo();
  const localIp = int2ip(ipInfo.ipAddress);
  hilog.info(0x0000, tag, 'ipInfo : ' + JSON.stringify(ipInfo));
  hilog.info(0x0000, tag, 'localHost : ' + localIp);
  return localIp;
}
  • 首先通过bind方法获取TLSSocket连接的对端地址,然后使用connect方法通过TLSSocket连接发送数据,最后使用getRemoteCertificate方法返回表示对等证书的对象。
tlsSocket.bind({ address: localIp, family: 1, port: 0 })
  .then(() => {
    hilog.info(0x0000, tag, 'tlsSocket bind success');
    tlsSocket.connect(tlsConnectOptions)
      .then(() => {
        hilog.info(0x0000, tag, 'tlsSocket connect success');
        tlsSocket.getRemoteCertificate((err: BusinessError, data: socket.X509CertRawData) => {
          ...
        });
      })
      ...
  })

分类
已于2025-3-13 14:13:06修改
收藏
回复
举报
回复
    相关推荐