HarmonyOS 自定义SSL双向认证报错,SSL is null
static async tlsCheckRemoteCertificate(serverCert: cert.X509Cert): Promise<any> {
let tls: socket.TLSSocket = socket.constructTLSSocketInstance();
try {
const res = await connection.getAddressesByName('https://xxx.cn')
const net = res[0]
net.port = 8012
await tls.bind(net)
const data = await tls.getRemoteCertificate()
let encodingBlob: cert.EncodingBlob = {
// 将证书数据从string类型转换成Unit8Array
data: data.data,
encodingFormat: cert.EncodingFormat.FORMAT_DER
};
const x509Cert = await cert.createX509Cert(encodingBlob)
const pubKey = serverCert.getPublicKey();
await x509Cert.verify(pubKey)
} catch (e) {
tls.close()
}
}
执行到 const data = await tls.getRemoteCertificate()时,报2303501,SSL is null
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
RNOH SSL双向认证实现
1235浏览 • 1回复 待解决
HarmonyOS Axios网络框架支持ssl双向认证吗?
931浏览 • 1回复 待解决
请求成功之后返回SSL is null
1923浏览 • 1回复 待解决
HarmonyOS 网络请求报错SSL错误
1313浏览 • 1回复 待解决
HarmonyOS axios网络请求框架的ssl双向验证问题
1316浏览 • 1回复 待解决
网络请求怎么进行SSL证书认证?
4721浏览 • 1回复 待解决
HarmonyOS 内网环境下添加SSL证书后网络接口接口ssl is null导致网络请求不通
1336浏览 • 1回复 待解决
如何使用ssl连接到PolarDB ?
4663浏览 • 1回复 待解决
如何在HarmonyOS中实现自定义双向数据绑定机制?
1013浏览 • 0回复 待解决
HarmonyOS 自定义扫码界面功能自定义高度后报错
1148浏览 • 1回复 待解决
ArkTS页面自定义弹窗时变量双向同步功能
2476浏览 • 1回复 待解决
HarmonyOS smtp Demo开启ssl无法成功发送邮件
1005浏览 • 1回复 待解决
鸿蒙自定义Listcontainer中获取getComponentAt(i) 得到了null
9659浏览 • 2回复 待解决
HarmonyOS 网络请求跳过ssl证书校验
2122浏览 • 1回复 待解决
HarmonyOS 自定义弹窗如何与Component双向同步一些变量?
1230浏览 • 1回复 待解决
HarmonyOS http请求配置双向认证证书
1204浏览 • 1回复 待解决
HarmonyOS WebView里面的ssl怎么忽略校验?
1493浏览 • 1回复 待解决
HarmonyOS SSL peer certificate or SSH remote key was not OK
1634浏览 • 1回复 待解决
HarmonyOS https请求报SSH SSL 401问题 转RCP调用
1324浏览 • 1回复 待解决
httpRequest.request 请求https接口ssl证书验证失败
3548浏览 • 0回复 待解决
HarmonyOS 在builder中使用自定义组件报错
1833浏览 • 1回复 待解决
HarmonyOS mqtt ssl加密有相关demo吗? ohos_mqtt这个项目如果需要ssl加密的话需要自己编译?? --
1002浏览 • 1回复 待解决
HarmonyOS tlssocket websocket实现双向认证长连接
1351浏览 • 1回复 待解决





















开发者获取c5-uat.xxx.cn:8012证书链数据,经过对比发现#1证书,内容跟本地保存的服务端证书一致,所以应该是#3是CA证书。
tls.connect接口ca参数应该填写#3CA证书,然后通过getRemoteCertificate获取远端证书后,并创建证书对象,可以获取其公钥数据:x509Cert.getPublicKey().getEncoded().data
跟本地保存的证书公钥数据serverCert.getPublicKey().getEncoded().data,把两个公钥打印出来可以发现公钥是一致的。