crypto framework提供證書(shū)相關(guān)接口。其中,依賴(lài)加解密算法庫(kù)框架的基礎(chǔ)算法能力的部分,詳細(xì)接口說(shuō)明可參考cryptoFramework API參考。
本模塊首批接口從API version 9開(kāi)始支持。
- import cryptoCert from '@ohos.security.cert';
- import cryptoFramework from "@ohos.security.cryptoFramework"
表示執(zhí)行結(jié)果的枚舉。
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 值 | 說(shuō)明 |
---|---|---|
INVALID_PARAMS | 401 | 非法入?yún)ⅰ?/p> |
NOT_SUPPORT | 801 | 操作不支持。 |
ERR_OUT_OF_MEMORY | 19020001 | 內(nèi)存錯(cuò)誤。 |
ERR_RUNTIME_ERROR | 19020002 | 運(yùn)行時(shí)外部錯(cuò)誤。 |
ERR_CRYPTO_OPERATION | 19030001 | 調(diào)用三方算法庫(kù)API出錯(cuò)。 |
ERR_CERT_SIGNATURE_FAILURE | 19030002 | 證書(shū)簽名驗(yàn)證錯(cuò)誤。 |
ERR_CERT_NOT_YET_VALID | 19030003 | 證書(shū)尚未生效。 |
ERR_CERT_HAS_EXPIRED | 19030004 | 證書(shū)過(guò)期。 |
ERR_UNABLE_TO_GET_ISSUER_CERT_LOCALLY | 19030005 | 無(wú)法獲取證書(shū)的頒發(fā)者。 |
ERR_KEYUSAGE_NO_CERTSIGN | 19030006 | 證書(shū)的秘鑰用途不含證書(shū)簽名。 |
ERR_KEYUSAGE_NO_DIGITAL_SIGNATURE | 19030007 | 證書(shū)的秘鑰用途不含數(shù)字簽名。 |
buffer數(shù)組。
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 類(lèi)型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
data | Uint8Array | 是 | 是 | 數(shù)據(jù)。 |
buffer數(shù)組的列表。
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 類(lèi)型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
data | Uint8Array | 是 | 是 | 數(shù)據(jù)列表。 |
表示證書(shū)編碼格式的枚舉。
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 值 | 說(shuō)明 |
---|---|---|
FORMAT_DER | 0 | DER格式。 |
FORMAT_PEM | 1 | PEM格式。 |
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 類(lèi)型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
data | Uint8Array | 是 | 是 | 傳入的證書(shū)數(shù)據(jù)。 |
encodingFormat | 是 | 是 | 指明證書(shū)編碼格式。 |
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 類(lèi)型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
data | Uint8Array | 是 | 是 | 證書(shū)數(shù)據(jù),按照長(zhǎng)度(2字節(jié))-數(shù)據(jù)的形式傳入,如:08ABCDEFGH07ABCDEFG,第一本證書(shū),前2個(gè)字節(jié)表示證書(shū)的長(zhǎng)度為8字節(jié),后面附加8字節(jié)的證書(shū)數(shù)據(jù);第2本證書(shū)前2個(gè)字節(jié)表示證書(shū)的長(zhǎng)度為7字節(jié),后面附加7字節(jié)的證書(shū)數(shù)據(jù)。 |
count | number | 是 | 是 | 傳入的數(shù)據(jù)中,包含的證書(shū)數(shù)量。 |
encodingFormat | 是 | 是 | 指明證書(shū)編碼格式。 |
createX509Cert(inStream : EncodingBlob, callback : AsyncCallback<X509Cert>) : void
表示創(chuàng)建X509證書(shū)對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
inStream | 是 | X509證書(shū)序列化數(shù)據(jù) | |
callback | AsyncCallback<X509Cert> | 是 | 回調(diào)函數(shù)。表示X509證書(shū)對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- }
- });
createX509Cert(inStream : EncodingBlob) : Promise<X509Cert>
表示創(chuàng)建X509證書(shū)對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
inStream | 是 | X509證書(shū)序列化數(shù)據(jù) |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<X509Cert> | 表示X509證書(shū)對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob).then(x509Cert => {
- console.log("createX509Cert success");
- }, error => {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
verify(key : cryptoFramework.PubKey, callback : AsyncCallback<void>) : void
表示對(duì)證書(shū)驗(yàn)簽。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
key | cryptoFramework.PubKey | 是 | 用于驗(yàn)簽的公鑰對(duì)象 |
callback | AsyncCallback<void> | 是 | 回調(diào)函數(shù)。使用AsyncCallback的第一個(gè)error參數(shù)判斷是否驗(yàn)簽成功,error為null表示成功,不為null表示失敗 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- // 業(yè)務(wù)需通過(guò)上級(jí)X509Cert證書(shū)對(duì)象的getPublicKey獲取PubKey
- let pubKey = null;
- x509Cert.verify(pubKey, function (error, data) {
- if (error != null) {
- console.log("verify failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("verify success");
- }
- });
- }
- });
verify(key : cryptoFramework.PubKey) : Promise<void>
表示對(duì)證書(shū)驗(yàn)簽。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
key | cryptoFramework.PubKey | 是 | 用于驗(yàn)簽的公鑰對(duì)象 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<void> | Promise對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob).then(x509Cert => {
- console.log("createX509Cert success");
- // 業(yè)務(wù)可通過(guò)上級(jí)X509Cert證書(shū)對(duì)象的getPublicKey獲取PubKey
- let pubKey = null;
- x509Cert.verify(pubKey).then(result => {
- console.log("verify success");
- }, error => {
- console.log("verify failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
- }, error => {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
getEncoded(callback : AsyncCallback<EncodingBlob>) : void
表示獲取X509證書(shū)序列化數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<EncodingBlob> | 是 | 回調(diào)函數(shù)。表示X509證書(shū)序列化數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- x509Cert.getEncoded(function (error, data) {
- if (error != null) {
- console.log("getEncoded failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("getEncoded success");
- }
- });
- }
- });
getEncoded() : Promise<EncodingBlob>
表示獲取X509證書(shū)序列化數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<EncodingBlob> | 表示X509證書(shū)序列化數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob).then(x509Cert => {
- console.log("createX509Cert success");
- x509Cert.getEncoded().then(result => {
- console.log("getEncoded success");
- }, error => {
- console.log("getEncoded failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
- }, error => {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
getPublicKey() : cryptoFramework.PubKey
表示獲取X509證書(shū)公鑰。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
cryptoFramework.PubKey | X509證書(shū)公鑰對(duì)象:僅用于X509Cert的verify接口 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- import cryptoFramework from "@ohos.security.cryptoFramework"
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let pubKey = null;
- try {
- pubKey = x509Cert.getPublicKey();
- } catch (error) {
- console.log("getPublicKey failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
- }
- });
checkValidityWithDate(date: string) : void
表示檢查X509證書(shū)有效期。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
date | string | 是 | 日期(格式:YYMMDDHHMMSSZ 或 YYYYMMDDHHMMSSZ,時(shí)間必須以Z結(jié)尾:表示標(biāo)準(zhǔn)時(shí)間) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
19030003 | the certificate has not taken effect. |
19030004 | the certificate has expired. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let date = "150527000001Z";
- // 校驗(yàn)證書(shū)有效期
- try {
- x509Cert.checkValidityWithDate(date);
- } catch (error) {
- console.log("checkValidityWithDate failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
- }
- });
getVersion() : number
表示獲取X509證書(shū)版本。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 表示X509證書(shū)版本 |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let version = x509Cert.getVersion();
- }
- });
getSerialNumber() : number
表示獲取X509證書(shū)序列號(hào)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 表示X509證書(shū)序列號(hào) |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let serialNumber = x509Cert.getSerialNumber();
- }
- });
getIssuerName() : DataBlob
表示獲取X509證書(shū)頒發(fā)者名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)頒發(fā)者名稱(chēng) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let issuerName = x509Cert.getIssuerName();
- }
- });
getSubjectName() : DataBlob
表示獲取X509證書(shū)主體名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)主體名稱(chēng) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let subjectName = x509Cert.getSubjectName();
- }
- });
getNotBeforeTime() : string
表示獲取X509證書(shū)有效期起始時(shí)間。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)有效期起始時(shí)間(格式:YYMMDDHHMMSSZ 或 YYYYMMDDHHMMSSZ,時(shí)間以Z結(jié)尾:表示標(biāo)準(zhǔn)時(shí)間) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let notBefore = x509Cert.getNotBeforeTime();
- }
- });
getNotAfterTime() : string
表示獲取X509證書(shū)有效期截止時(shí)間。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)有效期截止時(shí)間(格式:YYMMDDHHMMSSZ 或 YYYYMMDDHHMMSSZ,時(shí)間以Z結(jié)尾:表示標(biāo)準(zhǔn)時(shí)間) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let notAfter = x509Cert.getNotAfterTime();
- }
- });
getSignature() : DataBlob
表示獲取X509證書(shū)簽名數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)簽名數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let signature = x509Cert.getSignature();
- }
- });
getSignatureAlgName() : string
表示獲取X509證書(shū)簽名算法名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)簽名算法名稱(chēng) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let sigAlgName = x509Cert.getSignatureAlgName();
- }
- });
getSignatureAlgOid() : string
表示獲取X509證書(shū)簽名算法的對(duì)象標(biāo)志符OID(Object Identifier)。OID是由國(guó)際標(biāo)準(zhǔn)組織(ISO)的名稱(chēng)注冊(cè)機(jī)構(gòu)分配。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)簽名算法對(duì)象標(biāo)志符OID |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let sigAlgOid = x509Cert.getSignatureAlgOid();
- }
- });
getSignatureAlgParams() : DataBlob
表示獲取X509證書(shū)簽名算法參數(shù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)簽名算法參數(shù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let sigAlgParams = x509Cert.getSignatureAlgParams();
- }
- });
getKeyUsage() : DataBlob
表示獲取X509證書(shū)秘鑰用途。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)秘鑰用途 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let keyUsage = x509Cert.getKeyUsage();
- }
- });
getExtKeyUsage() : DataArray
表示獲取X509證書(shū)擴(kuò)展秘鑰用途。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)擴(kuò)展秘鑰用途 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let extKeyUsage = x509Cert.getExtKeyUsage();
- }
- });
getBasicConstraints() : number
表示獲取X509證書(shū)基本約束。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 表示X509證書(shū)基本約束 |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let basicConstraints = x509Cert.getBasicConstraints();
- }
- });
getSubjectAltNames() : DataArray
表示獲取X509證書(shū)主體可選名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)主體可選名稱(chēng) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let subjectAltNames = x509Cert.getSubjectAltNames();
- }
- });
getIssuerAltNames() : DataArray
表示獲取X509證書(shū)頒發(fā)者可選名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)頒發(fā)者可選名稱(chēng) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Cert(encodingBlob, function (error, x509Cert) {
- if (error != null) {
- console.log("createX509Cert failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Cert success");
- let issuerAltNames = x509Cert.getIssuerAltNames();
- }
- });
createX509Crl(inStream : EncodingBlob, callback : AsyncCallback<X509Crl>) : void
表示創(chuàng)建X509證書(shū)吊銷(xiāo)列表的對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
inStream | 是 | 表示證書(shū)吊銷(xiāo)列表序列化數(shù)據(jù) | |
callback | AsyncCallback<X509Crl> | 是 | 回調(diào)函數(shù)。表示證書(shū)吊銷(xiāo)列表對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- }
- });
createX509Crl(inStream : EncodingBlob) : Promise<X509Crl>
表示創(chuàng)建X509證書(shū)吊銷(xiāo)列表的對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
inStream | 是 | 表示證書(shū)吊銷(xiāo)列表序列化數(shù)據(jù) |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<X509Crl> | 表示證書(shū)吊銷(xiāo)列表對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob).then(x509Crl => {
- console.log("createX509Crl success");
- }, error => {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
isRevoked(cert : X509Cert) : boolean
表示檢查證書(shū)是否吊銷(xiāo)。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
cert | X509Cert | 是 | 表示被檢查的證書(shū)對(duì)象 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
boolean | 表示證書(shū)吊銷(xiāo)狀態(tài),true表示已吊銷(xiāo),false表示未吊銷(xiāo) |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- // 業(yè)務(wù)需自行生成X509Cert證書(shū)對(duì)象
- let x509Cert = null;
- try {
- let revokedFlag = x509Crl.isRevoked(x509Cert);
- } catch (error) {
- console.log("isRevoked failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
- }
- });
getType() : string
表示獲取證書(shū)吊銷(xiāo)列表類(lèi)型。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示證書(shū)吊銷(xiāo)列表類(lèi)型 |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let type = x509Crl.getType();
- }
- });
getEncoded(callback : AsyncCallback<EncodingBlob>) : void
表示獲取X509證書(shū)吊銷(xiāo)列表的序列化數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<EncodingBlob> | 是 | 回調(diào)函數(shù),表示X509證書(shū)吊銷(xiāo)列表的序列化數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- x509Crl.getEncoded(function (error, data) {
- if (error != null) {
- console.log("getEncoded failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("getEncoded success");
- }
- });
- }
- });
getEncoded() : Promise<EncodingBlob>
表示獲取X509證書(shū)吊銷(xiāo)列表的序列化數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<EncodingBlob> | 表示X509證書(shū)吊銷(xiāo)列表的序列化數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob).then(x509Crl => {
- console.log("createX509Crl success");
- x509Crl.getEncoded().then(result => {
- console.log("getEncoded success");
- }, error => {
- console.log("getEncoded failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
- }, error => {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
verify(key : cryptoFramework.PubKey, callback : AsyncCallback<void>) : void
表示對(duì)X509證書(shū)吊銷(xiāo)列表進(jìn)行驗(yàn)簽。驗(yàn)簽支持RSA算法。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
key | cryptoFramework.PubKey | 是 | 表示用于驗(yàn)簽的公鑰對(duì)象 |
callback | AsyncCallback<void> | 是 | 回調(diào)函數(shù),使用AsyncCallback的第一個(gè)error參數(shù)判斷是否驗(yàn)簽成功,error為null表示成功,error不為null表示失敗。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- import cryptoFramework from "@ohos.security.cryptoFramework"
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- // 業(yè)務(wù)需通過(guò)AsyKeyGenerator生成PubKey
- let pubKey = null;
- x509Crl.verify(pubKey, function (error, data) {
- if (error != null) {
- console.log("verify failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("verify success");
- }
- });
- }
- });
verify(key : cryptoFramework.PubKey) : Promise<void>
表示對(duì)X509證書(shū)吊銷(xiāo)列表進(jìn)行驗(yàn)簽。驗(yàn)簽支持RSA算法。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
key | cryptoFramework.PubKey | 是 | 表示用于驗(yàn)簽的公鑰對(duì)象。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<void> | Promise對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- import cryptoFramework from "@ohos.security.cryptoFramework"
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob).then(x509Crl => {
- console.log("createX509Crl success");
- // 業(yè)務(wù)需通過(guò)AsyKeyGenerator生成PubKey
- let pubKey = null;
- x509Crl.verify(pubKey).then(result => {
- console.log("verify success");
- }, error => {
- console.log("verify failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
- }, error => {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
getVersion() : number
表示獲取X509證書(shū)吊銷(xiāo)列表的版本號(hào)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 表示獲取X509證書(shū)吊銷(xiāo)列表的版本號(hào) |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let version = x509Crl.getVersion();
- }
- });
getIssuerName() : DataBlob
表示獲取X509證書(shū)吊銷(xiāo)列表頒發(fā)者名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)吊銷(xiāo)列表頒發(fā)者名稱(chēng) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let issuerName = x509Crl.getIssuerName();
- }
- });
getLastUpdate() : string
表示獲取X509證書(shū)吊銷(xiāo)列表最后一次更新日期。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)吊銷(xiāo)列表最后一次更新日期 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let lastUpdate = x509Crl.getLastUpdate();
- }
- });
getNextUpdate() : string
表示獲取證書(shū)吊銷(xiāo)列表下一次更新的日期。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)吊銷(xiāo)列表下一次更新的日期 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let nextUpdate = x509Crl.getNextUpdate();
- }
- });
getRevokedCert(serialNumber : number) : X509CrlEntry
表示通過(guò)指定證書(shū)序列號(hào)獲取被吊銷(xiāo)X509證書(shū)對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
serialNumber | number | 是 | 表示證書(shū)序列號(hào) |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
X509CrlEntry | 表示被吊銷(xiāo)X509證書(shū)對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- // 業(yè)務(wù)需賦值為對(duì)應(yīng)證書(shū)的序列號(hào)
- let serialNumber = 1000;
- try {
- let entry = x509Crl.getRevokedCert(serialNumber);
- } catch (error) {
- console.log("getRevokedCert failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
- }
- });
getRevokedCertWithCert(cert : X509Cert) : X509CrlEntry
表示通過(guò)指定證書(shū)對(duì)象獲取被吊銷(xiāo)X509證書(shū)對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
cert | X509Cert | 是 | 表示證書(shū)對(duì)象 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
X509CrlEntry | 表示被吊銷(xiāo)X509證書(shū)對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- // 業(yè)務(wù)需自行生成X509Cert證書(shū)對(duì)象
- let x509Cert = null;
- try {
- let entry = x509Crl.getRevokedCertWithCert(x509Cert);
- } catch (error) {
- console.log("getRevokedCertWithCert failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
- }
- });
getRevokedCerts(callback : AsyncCallback<Array<X509CrlEntry>>) : void
表示獲取被吊銷(xiāo)X509證書(shū)列表。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<Array<X509CrlEntry>> | 是 | 回調(diào)函數(shù)。表示被吊銷(xiāo)X509證書(shū)列表 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- x509Crl.getRevokedCerts(function (error, array) {
- if (error != null) {
- console.log("getRevokedCerts failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("getRevokedCerts success");
- }
- });
- }
- });
getRevokedCerts() : Promise<Array<X509CrlEntry>>
表示獲取被吊銷(xiāo)X509證書(shū)列表。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<Array<X509CrlEntry>> | 表示被吊銷(xiāo)X509證書(shū)列表 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob).then(x509Crl => {
- console.log("createX509Crl success");
- x509Crl.getRevokedCerts().then(array => {
- console.log("getRevokedCerts success");
- }, error => {
- console.log("getRevokedCerts failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
- }, error => {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
getTbsInfo() : DataBlob
表示獲取證書(shū)吊銷(xiāo)列表的tbsCertList信息。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示證書(shū)吊銷(xiāo)列表的tbsCertList信息 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- try {
- let tbsInfo = x509Crl.getTbsInfo();
- } catch (error) {
- console.log("getTbsInfo failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
- }
- });
getSignature() : DataBlob
表示獲取X509證書(shū)吊銷(xiāo)列表的簽名數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)吊銷(xiāo)列表的簽名數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let signature = x509Crl.getSignature();
- }
- });
getSignatureAlgName() : string
表示獲取X509證書(shū)吊銷(xiāo)列表簽名的算法名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)吊銷(xiāo)列表簽名的算法名 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let sigAlgName = x509Crl.getSignatureAlgName();
- }
- });
getSignatureAlgOid() : string
表示獲取X509證書(shū)吊銷(xiāo)列表簽名算法的對(duì)象標(biāo)志符OID(Object Identifier)。OID是由國(guó)際標(biāo)準(zhǔn)組織(ISO)的名稱(chēng)注冊(cè)機(jī)構(gòu)分配。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示X509證書(shū)吊銷(xiāo)列表簽名算法的對(duì)象標(biāo)志符OID。 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let sigAlgOid = x509Crl.getSignatureAlgOid();
- }
- });
getSignatureAlgParams() : DataBlob
表示獲取X509證書(shū)吊銷(xiāo)列表簽名的算法參數(shù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示X509證書(shū)吊銷(xiāo)列表簽名的算法參數(shù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 證書(shū)吊銷(xiāo)列表二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- let encodingBlob = {
- data: encodingData,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- cryptoCert.createX509Crl(encodingBlob, function (error, x509Crl) {
- if (error != null) {
- console.log("createX509Crl failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("createX509Crl success");
- let sigAlgParams = x509Crl.getSignatureAlgParams();
- }
- });
createCertChainValidator(algorithm :string) : CertChainValidator
表示創(chuàng)建證書(shū)鏈校驗(yàn)器對(duì)象。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
algorithm | string | 是 | 表示證書(shū)鏈校驗(yàn)器算法。當(dāng)前僅支持輸入“PKIX” |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
CertChainValidator | 表示證書(shū)鏈校驗(yàn)器對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- let validator = cryptoCert.createCertChainValidator("PKIX");
系統(tǒng)能力: SystemCapability.Security.Cert
名稱(chēng) | 類(lèi)型 | 可讀 | 可寫(xiě) | 說(shuō)明 |
---|---|---|---|---|
algorithm | string | 是 | 否 | X509證書(shū)鏈校驗(yàn)器算法名稱(chēng)。 |
validate(certChain : CertChainData, callback : AsyncCallback<void>) : void
表示校驗(yàn)X509證書(shū)鏈。
由于端側(cè)系統(tǒng)時(shí)間不可信,證書(shū)鏈校驗(yàn)不包含對(duì)證書(shū)有效時(shí)間的校驗(yàn)。如果需要檢查證書(shū)的時(shí)間有效性,可使用X509證書(shū)的checkValidityWithDate方法進(jìn)行檢查。詳見(jiàn)證書(shū)規(guī)格
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
certChain | 是 | 表示X509證書(shū)鏈序列化數(shù)據(jù) | |
callback | AsyncCallback<void> | 是 | 回調(diào)函數(shù)。使用AsyncCallback的第一個(gè)error參數(shù)判斷是否校驗(yàn)成功,error為null表示成功,error不為null表示失敗 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
19030002 | the certificate signature verification failed. |
19030003 | the certificate has not taken effect. |
19030004 | the certificate has expired. |
19030005 | failed to obtain the certificate issuer. |
19030006 | the key cannot be used for signing a certificate. |
19030007 | the key cannot be used for digital signature. |
示例:
- import cryptoCert from '@ohos.security.cert';
- let validator = cryptoCert.createCertChainValidator("PKIX");
- // 證書(shū)鏈二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- // 證書(shū)鏈包含的證書(shū)個(gè)數(shù),需業(yè)務(wù)自行賦值
- let certCount = 2;
- let certChainData = {
- data: encodingData,
- count: certCount,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- validator.validate(certChainData, function (error, data) {
- if (error != null) {
- console.log("validate failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("validate success");
- }
- });
validate(certChain : CertChainData) : Promise<void>
表示校驗(yàn)X509證書(shū)鏈。
由于端側(cè)系統(tǒng)時(shí)間不可信,證書(shū)鏈校驗(yàn)不包含對(duì)證書(shū)有效時(shí)間的校驗(yàn)。如果需要檢查證書(shū)的時(shí)間有效性,可使用X509證書(shū)的checkValidityWithDate方法進(jìn)行檢查。詳見(jiàn)證書(shū)規(guī)格
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
certChain | 是 | 表示X509證書(shū)鏈序列化數(shù)據(jù)。 |
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<void> | Promise對(duì)象 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
19030002 | the certificate signature verification failed. |
19030003 | the certificate has not taken effect. |
19030004 | the certificate has expired. |
19030005 | failed to obtain the certificate issuer. |
19030006 | the key cannot be used for signing a certificate. |
19030007 | the key cannot be used for digital signature. |
示例:
- import cryptoCert from '@ohos.security.cert';
- let validator = cryptoCert.createCertChainValidator("PKIX");
- // 證書(shū)鏈二進(jìn)制數(shù)據(jù),需業(yè)務(wù)自行賦值
- let encodingData = null;
- // 證書(shū)鏈包含的證書(shū)個(gè)數(shù),需業(yè)務(wù)自行賦值
- let certCount = 2;
- let certChainData = {
- data: encodingData,
- count: certCount,
- // 根據(jù)encodingData的格式進(jìn)行賦值,支持FORMAT_PEM和FORMAT_DER
- encodingFormat: cryptoCert.EncodingFormat.FORMAT_PEM
- };
- validator.validate(certChainData).then(result => {
- console.log("validate success");
- }, error => {
- console.log("validate failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
algorithm : string
表示X509證書(shū)鏈校驗(yàn)器算法名稱(chēng)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示證書(shū)鏈校驗(yàn)器算法名稱(chēng) |
示例:
- import cryptoCert from '@ohos.security.cert';
- let validator = cryptoCert.createCertChainValidator("PKIX");
- let algorithm = validator.algorithm;
getEncoded(callback : AsyncCallback<EncodingBlob>) : void
表示獲取被吊銷(xiāo)證書(shū)的序列化數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
參數(shù):
參數(shù)名 | 類(lèi)型 | 必填 | 說(shuō)明 |
---|---|---|---|
callback | AsyncCallback<EncodingBlob> | 是 | 回調(diào)函數(shù)。表示被吊銷(xiāo)證書(shū)的序列化數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 業(yè)務(wù)需通過(guò)X509Crl的getRevokedCert相關(guān)方法獲取X509CrlEntry
- let x509CrlEntry = null;
- x509CrlEntry.getEncoded(function (error, data) {
- if (error != null) {
- console.log("getEncoded failed, errCode: " + error.code + ", errMsg: " + error.message);
- } else {
- console.log("getEncoded success");
- }
- });
getEncoded() : Promise<EncodingBlob>
表示獲取被吊銷(xiāo)證書(shū)的序列化數(shù)據(jù)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
Promise<EncodingBlob> | 表示被吊銷(xiāo)證書(shū)的序列化數(shù)據(jù) |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 業(yè)務(wù)需通過(guò)X509Crl的getRevokedCert相關(guān)方法獲取X509CrlEntry
- let x509CrlEntry = null;
- x509CrlEntry.getEncoded().then(result => {
- console.log("getEncoded success");
- }, error => {
- console.log("getEncoded failed, errCode: " + error.code + ", errMsg: " + error.message);
- });
getSerialNumber() : number
表示獲取被吊銷(xiāo)證書(shū)的序列號(hào)。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
number | 表示被吊銷(xiāo)證書(shū)的序列號(hào) |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 業(yè)務(wù)需通過(guò)X509Crl的getRevokedCert相關(guān)方法獲取X509CrlEntry
- let x509CrlEntry = null;
- let serialNumber = x509CrlEntry.getSerialNumber();
getCertIssuer() : DataBlob
表示獲取被吊銷(xiāo)證書(shū)的頒發(fā)者信息。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
表示被吊銷(xiāo)證書(shū)的頒發(fā)者信息 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 業(yè)務(wù)需通過(guò)X509Crl的getRevokedCert相關(guān)方法獲取X509CrlEntry
- let x509CrlEntry = null;
- try {
- let issuer = x509CrlEntry.getCertIssuer();
- } catch (error) {
- console.log("getCertIssuer failed, errCode: " + error.code + ", errMsg: " + error.message);
- }
getRevocationDate() : string
表示獲取證書(shū)被吊銷(xiāo)的日期。
系統(tǒng)能力: SystemCapability.Security.Cert
返回值:
類(lèi)型 | 說(shuō)明 |
---|---|
string | 表示證書(shū)被吊銷(xiāo)的日期 |
錯(cuò)誤碼:
以下錯(cuò)誤碼的詳細(xì)介紹請(qǐng)參見(jiàn)cert錯(cuò)誤碼。
錯(cuò)誤碼ID | 錯(cuò)誤信息 |
---|---|
19020001 | memory error. |
19020002 | runtime error. |
19030001 | crypto operation error. |
示例:
- import cryptoCert from '@ohos.security.cert';
- // 業(yè)務(wù)需通過(guò)X509Crl的getRevokedCert相關(guān)方法獲取X509CrlEntry
- let x509CrlEntry = null;
- try {
- let date = x509CrlEntry.getRevocationDate();
- } catch (error) {
- console.log("getRevocationDate failed, errCode: " + error.code + ", errMsg: " + error.message);
更多建議: