本文原创发布在华为开发者社区。
介绍
该示例是一个连接网络的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) => { ... }); }) ... })
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。