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
1289浏览 • 1回复 待解决
HarmonyOS 使用 createX509Cert 报错 401
670浏览 • 1回复 待解决
HarmonyOS 获取发布证书信息
1047浏览 • 1回复 待解决
HarmonyOS 创建X509Cert报错
718浏览 • 1回复 待解决
HarmonyOS X509获取证书序列号
973浏览 • 1回复 待解决
HarmonyOS https请求如何跳过证书信
1350浏览 • 1回复 待解决
如何获取X509证书公钥,并转化成string
2256浏览 • 1回复 待解决
设备信息udid无法获取
3187浏览 • 1回复 待解决
EnvironmentCallback无法获取信息
2727浏览 • 1回复 待解决
证书管理无法新增证书
1537浏览 • 1回复 待解决
场景化控件中无法获取到定位信息
2762浏览 • 1回复 待解决