createX509Cert 创建的证书信息无法获取

 let encodingBlob: cryptoCert.EncodingBlob = {
        data: certBytes,
        encodingFormat: cryptoCert.EncodingFormat.FORMAT_DER
      }
      cryptoCert.createX509Cert(encodingBlob).then(x509Cert => {
        console.log("createX509Cert success");
        resolve(x509Cert)
      }, error => {
        console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
        reject(error)
      });

certBytes:服务器返回的证书数据,在java中可以成功创建证书,也可以获取证书的信息,用于下次RSA获取公钥进行加密,但是ARKTS里我用createX509Cert 创建的证书getPublicKey() .getEncoded() 得到的是undefined,algName和format也是undefined,有哪位大神知道是什么情况吗?

程序框架
应用安全
2024-05-21 13:46:45
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Bowma

参考以下案例:

import certFramework from '@ohos.security.cert';
import { BusinessError } from '@ohos.base';

// string转Uint8Array
function stringToUint8Array(str: string): Uint8Array {
  let arr: Array<number> = [];
  for (let i = 0, j = str.length; i < j; i++) {
    arr.push(str.charCodeAt(i));
  }
  return new Uint8Array(arr);
}

// 证书二进制数据,需业务自行赋值
let certData = '-----BEGIN CERTIFICATE-----\n' +
  'MIIBHTCBwwICA+gwCgYIKoZIzj0EAwIwGjEYMBYGA1UEAwwPRXhhbXBsZSBSb290\n' +
  'IENBMB4XDTIzMDkwNTAyNDgyMloXDTI2MDUzMTAyNDgyMlowGjEYMBYGA1UEAwwP\n' +
  'RXhhbXBsZSBSb290IENBMFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEHjG74yMI\n' +
  'ueO7z3T+dyuEIrhxTg2fqgeNB3SGfsIXlsiUfLTatUsU0i/sePnrKglj2H8Abbx9\n' +
  'PK0tsW/VgqwDIDAKBggqhkjOPQQDAgNJADBGAiEApVZno/Z7WyDc/muRN1y57uaY\n' +
  'Mjrgnvp/AMdE8qmFiDwCIQCrIYdHVO1awaPgcdALZY+uLQi6mEs/oMJLUcmaag3E\n' +
  'Qw==\n' +
  '-----END CERTIFICATE-----\n';

let encodingBlob: certFramework.EncodingBlob = {
  data: stringToUint8Array(certData),
  // 根据encodingData的格式进行赋值,支持FORMAT_PEM和FORMAT_DER
  encodingFormat: certFramework.EncodingFormat.FORMAT_PEM
};

certFramework.createX509Cert(encodingBlob).then(x509Cert => {
  console.log('createX509Cert success');
}).catch((error: BusinessError) => {
  console.error('createX509Cert failed, errCode: ' + error.code + ', errMsg: ' + error.message);
});
分享
微博
QQ
微信
回复
2024-05-21 14:43:23
相关问题
HarmonyOS 使用 createX509Cert 报错 401
28浏览 • 1回复 待解决
HarmonyOS createX509Cert失败 报错401
491浏览 • 1回复 待解决
HarmonyOS https请求如何跳过证书信
527浏览 • 1回复 待解决
EnvironmentCallback无法获取信息
2001浏览 • 1回复 待解决
设备信息udid无法获取
1917浏览 • 1回复 待解决
证书管理无法新增证书
414浏览 • 1回复 待解决
场景化控件中无法获取到定位信息
1836浏览 • 1回复 待解决
HarmonyOS 无法安装crt格式证书
712浏览 • 1回复 待解决
证书解析:解析证书CN怎么获取
512浏览 • 1回复 待解决
安卓app在鸿蒙2.0中无法获取定位信息
14735浏览 • 4回复 待解决
如何获取应用签名证书hash值
1843浏览 • 1回复 待解决