HarmonyOS 远场通信服务双向证书校验时报证书格式错误
1、读取证书dck.crt,再通过x509Cert.getPublicKey获取证书内容,转换成string格式
startTLSNetConnect() {
this.context.resourceManager.getRawFileContent("dck.crt").then((value: Uint8Array) => {
let encodingBlob: cert.EncodingBlob = {
data: value,
// 根据encodingData的格式进行赋值,支持FORMAT_PEM和FORMAT_DER
encodingFormat: cert.EncodingFormat.FORMAT_PEM
};
cert.createX509Cert(encodingBlob, (error, x509Cert) => {
if (error) {
console.error('createX509Cert failed, errCode: ' + error.code + ', errMsg: ' + error.message);
} else {
console.log('createX509Cert success');
try {
let pubKey = x509Cert.getPublicKey();
let base64 = new util.Base64Helper();
let pubKeyContent = base64.encodeToStringSync(pubKey.getEncoded().data)
TLSNetWorkManager.getInstance().registerAction(pubKeyContent)
} catch (error) {
let e: BusinessError = error as BusinessError;
console.error('getPublicKey failed, errCode: ' + e.code + ', errMsg: ' + e.message);
}
}
})
})
}
2、将转换成string格式的证书内容传入rcp,执行后报错
async registerAction(content: string){
console.log("请求开始")
const session = rcp.createSession();
const HOST = "https://dck.gdota.club:2626/appsvr/registerSdk"
try {
const request = new rcp.Request(HOST, 'POST');
request.headers = {
'Content-Type': 'application/json'
}
request.content = `{"cywallid":"harmonyos3-f42f-4585-9bdb-69a99d6aa0e5","pubkey":"123456","token":"token-owner-01"}`
request.configuration = {
tracing: {
infoToCollect: {
textual: true
}
},
security: {
tlsOptions: tlsOption,
certificate:{
content:content,
type: 'PEM',
key: 'pubkey',
keyPassword: '123456'
}
}
};
const resp = await session.fetch(request);
console.log(`resp:${resp}`)
} catch (error) {
console.error(`Rcp err: Code is ${error.code}, message is ${error.data}`);
session.close();
}
}
3、报错信息 Rcp err: Code is 1007900058, message is Problem with the local SSL certificate
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
HarmonyOS 证书链校验器报19030001错误
38浏览 • 1回复 待解决
HarmonyOS怎么校验服务器SSL证书状态?
2837浏览 • 1回复 待解决
#鸿蒙通关秘籍# 如何在HarmonyOS中通过自签名证书避免HTTPS请求的证书校验错误?
134浏览 • 0回复 待解决
HarmonyOS 如何实现请求的证书固定或者是单项校验服务端证书的功能
109浏览 • 1回复 待解决
HarmonyOS axios如何忽略证书校验
34浏览 • 1回复 待解决
http请求证书校验实现
414浏览 • 1回复 待解决
HarmonyOS 服务端证书验证和服务端CA证书验证
38浏览 • 1回复 待解决
APP与Server端进行HTTPS通信,服务器端证书为自签名证书,APP如何进行TLS验证Server端证书?
198浏览 • 1回复 待解决
HarmonyOS HTTP数据请求中如何绕过证书校验
51浏览 • 1回复 待解决
HarmonyOS webview需要禁用SSL证书校验的接口
7浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何进行自签名证书请求时跳过证书校验
135浏览 • 1回复 待解决
@ohos.net.http如何校验服务器证书?类似X509TrustManager
990浏览 • 1回复 待解决
HarmonyOS 无法安装crt格式的证书
734浏览 • 1回复 待解决
HarmonyOS webview设置了忽略证书,img标签 请求图片报证书错误
67浏览 • 1回复 待解决
#鸿蒙通关秘籍#如何在HarmonyOS中将远场通信RCP请求模块化封装以简化网络请求?
217浏览 • 1回复 待解决
使用OH_NetStack_VerifyCertification接口如何校验叶证书
323浏览 • 1回复 待解决
HarmonyOS 网络请求是否支持自签名证书的校验
48浏览 • 1回复 待解决
#鸿蒙通关秘籍#使用DNS over HTTPS配置跳过证书校验
163浏览 • 1回复 待解决
HarmonyOS request.downloadFile 方法如何传入客户端证书以支持服务端需要的校验?
101浏览 • 1回复 待解决
HarmonyOS下载大文件,并且需要证书校验,应该用哪种方式下载
737浏览 • 1回复 待解决
HarmonyOS HTTPS请求如何验证服务器证书
744浏览 • 1回复 待解决
HarmonyOS 邀请测试,使用的证书是调试证书还是发布证书?
23浏览 • 1回复 待解决
证书管理无法新增证书
433浏览 • 1回复 待解决
证书解析:解析证书CN怎么获取
522浏览 • 1回复 待解决
对于crt格式的证书文件,rcp请求中除了传入content证书内容,还需要传入key字段即证书对应的密钥文件地址如key: “/path/dir/”,请传入必要字段后再次尝试。
可参考以下示例调用saveFile函数把raw路径下的文件发到手机相关路径下,再配置key: filesDir + ‘/client.key’:
完整的demo示例请参考如下代码: