当前位置: 首页 > news >正文

什么网站做电器出租王烨这个名字怎么样

什么网站做电器出租,王烨这个名字怎么样,全部浏览器下载大全,本标准在住房城乡建设部门户网站通用密钥库系统 说明 本模块首批接口从API version 8开始支持。后续版本的新增接口#xff0c;采用上角标单独标记接口的起始版本。 向应用提供密钥库能力#xff0c;包括密钥管理及密钥的密码学操作等功能。 HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。 导…通用密钥库系统 说明 本模块首批接口从API version 8开始支持。后续版本的新增接口采用上角标单独标记接口的起始版本。 向应用提供密钥库能力包括密钥管理及密钥的密码学操作等功能。 HUKS所管理的密钥可以由应用导入或者由应用调用HUKS接口生成。 导入模块 import huks from ohos.security.huksHuksErrorCode 表示错误码的枚举。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_SUCCESS0表示成功。HUKS_FAILURE-1表示失败。HUKS_ERROR_BAD_STATE-2表示错误的状态。HUKS_ERROR_INVALID_ARGUMENT-3表示无效的数据。HUKS_ERROR_NOT_SUPPORTED-4表示不支持。HUKS_ERROR_NO_PERMISSION-5表示没有许可。HUKS_ERROR_INSUFFICIENT_DATA-6表示数据不足。HUKS_ERROR_BUFFER_TOO_SMALL-7表示缓冲区太小。HUKS_ERROR_INSUFFICIENT_MEMORY-8表示内存不足。HUKS_ERROR_COMMUNICATION_FAILURE-9表示通讯失败。HUKS_ERROR_STORAGE_FAILURE-10表示存储故障。HUKS_ERROR_HARDWARE_FAILURE-11表示硬件故障。HUKS_ERROR_ALREADY_EXISTS-12表示已经存在。HUKS_ERROR_NOT_EXIST-13表示不存在。HUKS_ERROR_NULL_POINTER-14表示空指针。HUKS_ERROR_FILE_SIZE_FAIL-15表示文件大小失败。HUKS_ERROR_READ_FILE_FAIL-16表示读取文件失败。HUKS_ERROR_INVALID_PUBLIC_KEY-17表示无效的公钥。HUKS_ERROR_INVALID_PRIVATE_KEY-18表示无效的私钥。HUKS_ERROR_INVALID_KEY_INFO-19表示无效的密钥信息。HUKS_ERROR_HASH_NOT_EQUAL-20表示哈希不相等。HUKS_ERROR_MALLOC_FAIL-21表示MALLOC 失败。HUKS_ERROR_WRITE_FILE_FAIL-22表示写文件失败。HUKS_ERROR_REMOVE_FILE_FAIL-23表示删除文件失败。HUKS_ERROR_OPEN_FILE_FAIL-24表示打开文件失败。HUKS_ERROR_CLOSE_FILE_FAIL-25表示关闭文件失败。HUKS_ERROR_MAKE_DIR_FAIL-26表示创建目录失败。HUKS_ERROR_INVALID_KEY_FILE-27表示无效的密钥文件。HUKS_ERROR_IPC_MSG_FAIL-28表示IPC 信息失败。HUKS_ERROR_REQUEST_OVERFLOWS-29表示请求溢出。HUKS_ERROR_PARAM_NOT_EXIST-30表示参数不存在。HUKS_ERROR_CRYPTO_ENGINE_ERROR-31表示CRYPTO ENGINE错误。HUKS_ERROR_COMMUNICATION_TIMEOUT-32表示通讯超时。HUKS_ERROR_IPC_INIT_FAIL-33表示IPC 初始化失败。HUKS_ERROR_IPC_DLOPEN_FAIL-34表示IPC DLOPEN 失败。HUKS_ERROR_EFUSE_READ_FAIL-35表示EFUSE 读取失败。HUKS_ERROR_NEW_ROOT_KEY_MATERIAL_EXIST-36表示存在新的根密钥材料。HUKS_ERROR_UPDATE_ROOT_KEY_MATERIAL_FAIL-37表示更新根密钥材料失败。HUKS_ERROR_VERIFICATION_FAILED-38表示验证证书链失败。HUKS_ERROR_CHECK_GET_ALG_FAIL-100表示检查获取 ALG 失败。HUKS_ERROR_CHECK_GET_KEY_SIZE_FAIL-101表示检查获取密钥大小失败。HUKS_ERROR_CHECK_GET_PADDING_FAIL-102表示检查获取填充失败。HUKS_ERROR_CHECK_GET_PURPOSE_FAIL-103表示检查获取目的失败。HUKS_ERROR_CHECK_GET_DIGEST_FAIL-104表示检查获取摘要失败。HUKS_ERROR_CHECK_GET_MODE_FAIL-105表示检查获取模式失败。HUKS_ERROR_CHECK_GET_NONCE_FAIL-106表示检查获取随机数失败。HUKS_ERROR_CHECK_GET_AAD_FAIL-107表示检查获取 AAD 失败。HUKS_ERROR_CHECK_GET_IV_FAIL-108表示检查 GET IV 失败。HUKS_ERROR_CHECK_GET_AE_TAG_FAIL-109表示检查获取 AE 标记失败。HUKS_ERROR_CHECK_GET_SALT_FAIL-110表示检查获取SALT失败。HUKS_ERROR_CHECK_GET_ITERATION_FAIL-111表示检查获取迭代失败。HUKS_ERROR_INVALID_ALGORITHM-112表示无效的算法。HUKS_ERROR_INVALID_KEY_SIZE-113表示无效的密钥大小。HUKS_ERROR_INVALID_PADDING-114表示无效的填充。HUKS_ERROR_INVALID_PURPOSE-115表示无效的目的。HUKS_ERROR_INVALID_MODE-116表示无效模式。HUKS_ERROR_INVALID_DIGEST-117表示无效的摘要。HUKS_ERROR_INVALID_SIGNATURE_SIZE-118表示签名大小无效。HUKS_ERROR_INVALID_IV-119表示无效的 IV。HUKS_ERROR_INVALID_AAD-120表示无效的 AAD。HUKS_ERROR_INVALID_NONCE-121表示无效的随机数。HUKS_ERROR_INVALID_AE_TAG-122表示无效的 AE 标签。HUKS_ERROR_INVALID_SALT-123表示无效SALT。HUKS_ERROR_INVALID_ITERATION-124表示无效的迭代。HUKS_ERROR_INVALID_OPERATION-125表示无效操作。HUKS_ERROR_INTERNAL_ERROR-999表示内部错误。HUKS_ERROR_UNKNOWN_ERROR-1000表示未知错误。 HuksKeyPurpose 表示密钥用途。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_KEY_PURPOSE_ENCRYPT1表示密钥用于对明文进行加密操作。HUKS_KEY_PURPOSE_DECRYPT2表示密钥用于对密文进行解密操作。HUKS_KEY_PURPOSE_SIGN4表示密钥用于对数据进行签名。HUKS_KEY_PURPOSE_VERIFY8表示密钥用于验证签名后的数据。HUKS_KEY_PURPOSE_DERIVE16表示密钥用于派生密钥。HUKS_KEY_PURPOSE_WRAP32表示密钥用于加密导入。HUKS_KEY_PURPOSE_UNWRAP64表示密钥加密导出。HUKS_KEY_PURPOSE_MAC128表示密钥用于生成mac消息验证码。HUKS_KEY_PURPOSE_AGREE256表示密钥用于进行密钥协商。 HuksKeyDigest 表示摘要算法。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_DIGEST_NONE0表示无摘要算法。HUKS_DIGEST_MD51表示MD5摘要算法。HUKS_DIGEST_SHA110表示SHA1摘要算法。HUKS_DIGEST_SHA22411表示SHA224摘要算法。HUKS_DIGEST_SHA25612表示SHA256摘要算法。HUKS_DIGEST_SHA38413表示SHA384摘要算法。HUKS_DIGEST_SHA51214表示SHA512摘要算法。 HuksKeyPadding 表示补齐算法。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_PADDING_NONE0表示不使用补齐算法。HUKS_PADDING_OAEP1表示使用OAEP补齐算法。HUKS_PADDING_PSS2表示使用PSS补齐算法。HUKS_PADDING_PKCS1_V1_53表示使用PKCS1_V1_5补齐算法。HUKS_PADDING_PKCS54表示使用PKCS5补齐算法。HUKS_PADDING_PKCS75表示使用PKCS7补齐算法。 HuksCipherMode 表示加密模式。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_MODE_ECB1表示使用ECB加密模式。HUKS_MODE_CBC2表示使用CBC加密模式。HUKS_MODE_CTR3表示使用CTR加密模式。HUKS_MODE_OFB4表示使用OFB加密模式。HUKS_MODE_CCM31表示使用CCM加密模式。HUKS_MODE_GCM32表示使用GCM加密模式。 HuksKeySize 表示密钥长度。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_RSA_KEY_SIZE_512512表示使用RSA算法的密钥长度为512bit。HUKS_RSA_KEY_SIZE_768768表示使用RSA算法的密钥长度为768bit。HUKS_RSA_KEY_SIZE_10241024表示使用RSA算法的密钥长度为1024bit。HUKS_RSA_KEY_SIZE_20482048表示使用RSA算法的密钥长度为2048bit。HUKS_RSA_KEY_SIZE_30723072表示使用RSA算法的密钥长度为3072bit。HUKS_RSA_KEY_SIZE_40964096表示使用RSA算法的密钥长度为4096bit。HUKS_ECC_KEY_SIZE_224224表示使用ECC算法的密钥长度为224bit。HUKS_ECC_KEY_SIZE_256256表示使用ECC算法的密钥长度为256bit。HUKS_ECC_KEY_SIZE_384384表示使用ECC算法的密钥长度为384bit。HUKS_ECC_KEY_SIZE_521521表示使用ECC算法的密钥长度为521bit。HUKS_AES_KEY_SIZE_128128表示使用AES算法的密钥长度为128bit。HUKS_AES_KEY_SIZE_192196表示使用AES算法的密钥长度为196bit。HUKS_AES_KEY_SIZE_256256表示使用AES算法的密钥长度为256bit。HUKS_AES_KEY_SIZE_512512表示使用AES算法的密钥长度为512bit。HUKS_CURVE25519_KEY_SIZE_256256表示使用CURVE25519算法的密钥长度为256bit。HUKS_DH_KEY_SIZE_20482048表示使用DH算法的密钥长度为2048bit。HUKS_DH_KEY_SIZE_30723072表示使用DH算法的密钥长度为3072bit。HUKS_DH_KEY_SIZE_40964096表示使用DH算法的密钥长度为4096bit。 HuksKeyAlg 表示密钥使用的算法。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_ALG_RSA1表示使用RSA算法。HUKS_ALG_ECC2表示使用ECC算法。HUKS_ALG_DSA3表示使用DSA算法。HUKS_ALG_AES20表示使用AES算法。HUKS_ALG_HMAC50表示使用HMAC算法。HUKS_ALG_HKDF51表示使用HKDF算法。HUKS_ALG_PBKDF252表示使用PBKDF2算法。HUKS_ALG_ECDH100表示使用ECDH算法。HUKS_ALG_X25519101表示使用X25519算法。HUKS_ALG_ED25519102表示使用ED25519算法。HUKS_ALG_DH103表示使用DH算法。 HuksKeyGenerateType 表示生成密钥的类型。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_KEY_GENERATE_TYPE_DEFAULT0默认生成的密钥。HUKS_KEY_GENERATE_TYPE_DERIVE1派生生成的密钥。HUKS_KEY_GENERATE_TYPE_AGREE2协商生成的密钥。 HuksKeyFlag 表示密钥的产生方式。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_KEY_FLAG_IMPORT_KEY1表示通过导入公钥接口导入的密钥。HUKS_KEY_FLAG_GENERATE_KEY2表示通过生成密钥接口生成的密钥。HUKS_KEY_FLAG_AGREE_KEY3表示通过生成密钥协商接口生成的密钥。HUKS_KEY_FLAG_DERIVE_KEY4表示通过生成密钥派生接口生成的密钥。 HuksKeyStorageType 表示密钥存储方式。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_STORAGE_TEMP0表示通过本地直接管理密钥。HUKS_STORAGE_PERSISTENT1表示通过HUKS service管理密钥。 HuksSendType 表示发送Tag的方式。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_SEND_TYPE_ASYNC0表示异步发送TAG。HUKS_SEND_TYPE_SYNC1表示同步发送TAG。 HuksTagType 表示Tag的数据类型。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_TAG_TYPE_INVALID0 28表示非法的Tag类型。HUKS_TAG_TYPE_INT1 28表示该Tag的数据类型为int类型的number。HUKS_TAG_TYPE_UINT2 28表示该Tag的数据类型为uint类型的number。HUKS_TAG_TYPE_ULONG3 28表示该Tag的数据类型为bigint。HUKS_TAG_TYPE_BOOL4 28表示该Tag的数据类型为boolean。HUKS_TAG_TYPE_BYTES5 28表示该Tag的数据类型为Uint8Array。 HuksTag 表示调用参数的Tag。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 名称值说明HUKS_TAG_INVALIDHuksTagType.HUKS_TAG_TYPE_INVALID0HUKS_TAG_ALGORITHMHUKS_TAG_TYPE_UINT1HUKS_TAG_PURPOSEHuksTagType.HUKS_TAG_TYPE_UINT2HUKS_TAG_KEY_SIZEHuksTagType.HUKS_TAG_TYPE_UINT3HUKS_TAG_DIGESTHuksTagType.HUKS_TAG_TYPE_UINT4HUKS_TAG_PADDINGHuksTagType.HUKS_TAG_TYPE_UINT5HUKS_TAG_BLOCK_MODEHuksTagType.HUKS_TAG_TYPE_UINT6HUKS_TAG_KEY_TYPEHuksTagType.HUKS_TAG_TYPE_UINT7HUKS_TAG_ASSOCIATED_DATAHuksTagType.HUKS_TAG_TYPE_BYTES8HUKS_TAG_NONCEHuksTagType.HUKS_TAG_TYPE_BYTES9HUKS_TAG_IVHuksTagType.HUKS_TAG_TYPE_BYTES10HUKS_TAG_INFOHuksTagType.HUKS_TAG_TYPE_BYTES11HUKS_TAG_SALTHuksTagType.HUKS_TAG_TYPE_BYTES12HUKS_TAG_PWDHuksTagType.HUKS_TAG_TYPE_BYTES13HUKS_TAG_ITERATIONHuksTagType.HUKS_TAG_TYPE_UINT14HUKS_TAG_KEY_GENERATE_TYPEHuksTagType.HUKS_TAG_TYPE_UINT15HUKS_TAG_DERIVE_MAIN_KEYHuksTagType.HUKS_TAG_TYPE_BYTES16HUKS_TAG_DERIVE_FACTORHuksTagType.HUKS_TAG_TYPE_BYTES17HUKS_TAG_DERIVE_ALGHuksTagType.HUKS_TAG_TYPE_UINT18HUKS_TAG_AGREE_ALGHuksTagType.HUKS_TAG_TYPE_UINT19HUKS_TAG_AGREE_PUBLIC_KEY_IS_KEY_ALIASHuksTagType.HUKS_TAG_TYPE_BOOL20HUKS_TAG_AGREE_PRIVATE_KEY_ALIASHuksTagType.HUKS_TAG_TYPE_BYTES21HUKS_TAG_AGREE_PUBLIC_KEYHuksTagType.HUKS_TAG_TYPE_BYTES22HUKS_TAG_KEY_ALIASHuksTagType.HUKS_TAG_TYPE_BYTES23HUKS_TAG_DERIVE_KEY_SIZEHuksTagType.HUKS_TAG_TYPE_UINT24HUKS_TAG_ACTIVE_DATETIMEHuksTagType.HUKS_TAG_TYPE_ULONG201HUKS_TAG_ORIGINATION_EXPIRE_DATETIMEHuksTagType.HUKS_TAG_TYPE_ULONG202HUKS_TAG_USAGE_EXPIRE_DATETIMEHuksTagType.HUKS_TAG_TYPE_ULONG203HUKS_TAG_CREATION_DATETIMEHuksTagType.HUKS_TAG_TYPE_ULONG204HUKS_TAG_ALL_USERSksTagType.HUKS_TAG_TYPE_BOOL301HUKS_TAG_USER_IDHuksTagType.HUKS_TAG_TYPE_UINT302HUKS_TAG_NO_AUTH_REQUIREDHuksTagType.HUKS_TAG_TYPE_BOOL303HUKS_TAG_USER_AUTH_TYPEHuksTagType.HUKS_TAG_TYPE_UINT304HUKS_TAG_AUTH_TIMEOUTHuksTagType.HUKS_TAG_TYPE_UINT305HUKS_TAG_AUTH_TOKENHuksTagType.HUKS_TAG_TYPE_BYTES306HUKS_TAG_ATTESTATION_CHALLENGEHuksTagType.HUKS_TAG_TYPE_BYTES501HUKS_TAG_ATTESTATION_APPLICATION_IDHuksTagType.HUKS_TAG_TYPE_BYTES502HUKS_TAG_ATTESTATION_ID_BRANDHuksTagType.HUKS_TAG_TYPE_BYTES503HUKS_TAG_ATTESTATION_ID_DEVICEHuksTagType.HUKS_TAG_TYPE_BYTES504HUKS_TAG_ATTESTATION_ID_PRODUCTHuksTagType.HUKS_TAG_TYPE_BYTES505HUKS_TAG_ATTESTATION_ID_SERIALHuksTagType.HUKS_TAG_TYPE_BYTES506HUKS_TAG_ATTESTATION_ID_IMEIHuksTagType.HUKS_TAG_TYPE_BYTES507HUKS_TAG_ATTESTATION_ID_MEIDHuksTagType.HUKS_TAG_TYPE_BYTES508HUKS_TAG_ATTESTATION_ID_MANUFACTURERHuksTagType.HUKS_TAG_TYPE_BYTES509HUKS_TAG_ATTESTATION_ID_MODELHuksTagType.HUKS_TAG_TYPE_BYTES510HUKS_TAG_ATTESTATION_ID_ALIASHuksTagType.HUKS_TAG_TYPE_BYTES511HUKS_TAG_ATTESTATION_ID_SOCIDHuksTagType.HUKS_TAG_TYPE_BYTES512HUKS_TAG_ATTESTATION_ID_UDIDHuksTagType.HUKS_TAG_TYPE_BYTES513HUKS_TAG_ATTESTATION_ID_SEC_LEVEL_INFOHuksTagType.HUKS_TAG_TYPE_BYTES514HUKS_TAG_ATTESTATION_ID_VERSION_INFOHuksTagType.HUKS_TAG_TYPE_BYTES515HUKS_TAG_IS_KEY_ALIASHuksTagType.HUKS_TAG_TYPE_BOOL1001HUKS_TAG_KEY_STORAGE_FLAGHuksTagType.HUKS_TAG_TYPE_UINT1002HUKS_TAG_IS_ALLOWED_WRAPHuksTagType.HUKS_TAG_TYPE_BOOL1003HUKS_TAG_KEY_WRAP_TYPEHuksTagType.HUKS_TAG_TYPE_UINT1004HUKS_TAG_KEY_AUTH_IDHuksTagType.HUKS_TAG_TYPE_BYTES1005HUKS_TAG_KEY_ROLEHuksTagType.HUKS_TAG_TYPE_UINT1006HUKS_TAG_KEY_FLAGHuksTagType.HUKS_TAG_TYPE_UINT1007HUKS_TAG_IS_ASYNCHRONIZEDHuksTagType.HUKS_TAG_TYPE_UINT1008HUKS_TAG_SECURE_KEY_ALIASHuksTagType.HUKS_TAG_TYPE_BOOL1009HUKS_TAG_SECURE_KEY_UUIDHuksTagType.HUKS_TAG_TYPE_BYTES1010HUKS_TAG_KEY_DOMAINHuksTagType.HUKS_TAG_TYPE_UINT1011HUKS_TAG_PROCESS_NAMEHuksTagType.HUKS_TAG_TYPE_BYTES10001HUKS_TAG_PACKAGE_NAMEHuksTagType.HUKS_TAG_TYPE_BYTES10002HUKS_TAG_ACCESS_TIMEHuksTagType.HUKS_TAG_TYPE_UINT10003HUKS_TAG_USES_TIMEHuksTagType.HUKS_TAG_TYPE_UINT10004HUKS_TAG_CRYPTO_CTXHuksTagType.HUKS_TAG_TYPE_ULONG10005HUKS_TAG_KEYHuksTagType.HUKS_TAG_TYPE_BYTES10006HUKS_TAG_KEY_VERSIONHuksTagType.HUKS_TAG_TYPE_UINT10007HUKS_TAG_PAYLOAD_LENHuksTagType.HUKS_TAG_TYPE_UINT10008HUKS_TAG_AE_TAGHuksTagType.HUKS_TAG_TYPE_BYTES10009HUKS_TAG_IS_KEY_HANDLEHuksTagType.HUKS_TAG_TYPE_ULONG10010HUKS_TAG_OS_VERSIONHuksTagType.HUKS_TAG_TYPE_UINT10101HUKS_TAG_OS_PATCHLEVELHuksTagType.HUKS_TAG_TYPE_UINT10102HUKS_TAG_SYMMETRIC_KEY_DATAHuksTagType.HUKS_TAG_TYPE_BYTES20001HUKS_TAG_ASYMMETRIC_PUBLIC_KEY_DATAHuksTagType.HUKS_TAG_TYPE_BYTES20002HUKS_TAG_ASYMMETRIC_PRIVATE_KEY_DATAHuksTagType.HUKS_TAG_TYPE_BYTES20003 huks.generateKey generateKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void 生成密钥使用Callback回调异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是别名。options[HuksOptions]是用于存放生成key所需TAG。callbackAsyncCallback[HuksResult]是返回HUKS_SUCCESS时表示接口使用成功其余结果请参考HuksResult进行错误码查询。 示例 /* 以生成RSA512密钥为例 */ var keyAlias keyAlias; var properties new Array(); properties[0] {tag: huks.HuksTag.HUKS_TAG_ALGORITHM,value: huks.HuksKeyAlg.HUKS_ALG_RSA }; properties[1] {tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_512 }; properties[2] {tag: huks.HuksTag.HUKS_TAG_PURPOSE,value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT }; properties[3] {tag: huks.HuksTag.HUKS_TAG_PADDING,value: huks.HuksKeyPadding.HUKS_PADDING_OAEP }; properties[4] {tag: huks.HuksTag.HUKS_TAG_DIGEST,value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256 }; var options {properties: properties }; huks.generateKey(keyAlias, options, function (err, data){}); huks.generateKey generateKey(keyAlias: string, options: HuksOptions) : Promise 生成密钥使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名。options[HuksOptions]是用于存放生成key所需TAG。 返回值可选如不涉及可删除 类型说明Promise[HuksResult]返回HUKS_SUCCESS时表示接口使用成功其他时为错误。 示例 /* 以生成ECC256密钥为例 */ var keyAlias keyAlias; var properties new Array(); properties[0] {tag: huks.HuksTag.HUKS_TAG_ALGORITHM,value: huks.HuksKeyAlg.HUKS_ALG_ECC }; properties[1] {tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,value: huks.HuksKeySize.HUKS_ECC_KEY_SIZE_256 }; properties[2] {tag: huks.HuksTag.HUKS_TAG_PURPOSE,value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY }; properties[3] {tag: huks.HuksTag.HUKS_TAG_DIGEST,value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256 }; var options {properties: properties }; var result huks.generateKey(keyAlias, options);huks.deleteKey deleteKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void 删除密钥使用Callback回调异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名应为生成key时传入的别名。options[HuksOptions]是空对象此处传空即可。callbackAsyncCallback[HuksResult]是返回HUKS_SUCCESS时表示接口使用成功其他时为错误。 示例 /* 此处options选择emptyOptions传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; huks.deleteKey(keyAlias, emptyOptions, function (err, data) {});huks.deleteKey deleteKey(keyAlias: string, options: HuksOptions) : Promise 删除密钥使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名应为生成key时传入的别名。options[HuksOptions]是空对象此处传空即可。 返回值 类型说明Promise[HuksResult]返回HUKS_SUCCESS时表示接口使用成功其他时为错误。 示例 /* 此处options选择emptyOptions传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; var result huks.deleteKey(keyAlias, emptyOptions);huks.getSdkVersion getSdkVersion(options: HuksOptions) : string 获取当前系统sdk版本。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明options[HuksOptions]是空对象用于存放sdk版本。 返回值 类型说明string返回sdk版本。 示例 /* 此处options选择emptyOptions传空 */ var emptyOptions {properties: [] }; var result huks.getSdkVersion(emptyOptions);huks.importKey importKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void 导入密钥使用Callback方式回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名用于存放所需密钥。options[HuksOptions]是用于导入时所需TAG和需要导入的密钥。callbackAsyncCallback[HuksResult]是返回HUKS_SUCCESS时表示接口使用成功其他时为错误。 示例 /* 以导入AES256密钥为例 */ var plainTextSize32 makeRandomArr(32); function makeRandomArr(size) {var arr new Uint8Array(size);for (var i 0; i size; i) {arr[i] Math.floor(Math.random() * 10);}return arr; }; var keyAlias keyAlias; var properties new Array(); properties[0] {tag: huks.HuksTag.HUKS_TAG_ALGORITHM,value: huks.HuksKeyAlg.HUKS_ALG_AES }; properties[1] {tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,value: huks.HuksKeySize.HUKS_AES_KEY_SIZE_256 }; properties[2] {tag: huks.HuksTag.HUKS_TAG_PURPOSE,value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT }; properties[3] {tag: huks.HuksTag.HUKS_TAG_PADDING,value:huks.HuksKeyPadding.HUKS_PADDING_PKCS7 }; properties[4] {tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE,value: huks.HuksCipherMode.HUKS_MODE_ECB }; var options {properties: properties,inData: plainTextSize32 }; huks.importKey(keyAlias, options, function (err, data){});huks.importKey importKey(keyAlias: string, options: HuksOptions) : Promise 导入密钥使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名用于存放所需密钥。options[HuksOptions]是用于导入时所需TAG和需要导入的密钥。 返回值 类型说明Promise[HuksResult]返回HUKS_SUCCESS时表示接口使用成功其他时为错误。 示例 /* 以导入AES128为例 */ var plainTextSize32 makeRandomArr(32);function makeRandomArr(size) {var arr new Uint8Array(size);for (var i 0; i size; i) {arr[i] Math.floor(Math.random() * 10);}return arr; };/*第一步生成密钥*/ var keyAlias keyAlias; var properties new Array(); properties[0] {tag: huks.HuksTag.HUKS_TAG_ALGORITHM,value: huks.HuksKeyAlg.HUKS_ALG_AES }; properties[1] {tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,value: huks.HuksKeySize.HUKS_AES_KEY_SIZE_128 }; properties[2] {tag: huks.HuksTag.HUKS_TAG_PURPOSE,value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_DECRYPT }; properties[3] {tag: huks.HuksTag.HUKS_TAG_PADDING,value:huks.HuksKeyPadding.HUKS_PADDING_PKCS7 }; properties[4] {tag: huks.HuksTag.HUKS_TAG_BLOCK_MODE,value: huks.HuksCipherMode.HUKS_MODE_ECB }; var huksoptions {properties: properties,inData: plainTextSize32 }; var result huks.importKey(keyAlias, huksoptions);huks.exportKey exportKey(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void 导出密钥使用Callback方式回调异步返回的结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名应与所用密钥生成时使用的别名相同。options[HuksOptions]是空对象此处传空即可。callbackAsyncCallback[HuksResult]是返回HUKS_SUCCESS时表示接口使用成功其他时为错误。outData返回从密钥中导出的公钥。 示例 /* 此处options选择emptyOptions来传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; huks.exportKey(keyAlias, emptyOptions, function (err, data){});huks.exportKey exportKey(keyAlias: string, options: HuksOptions) : Promise 导出密钥使用Promise方式回调异步返回的结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名应与所用密钥生成时使用的别名相同。options[HuksOptions]是空对象此处传空即可。 返回值 类型说明Promise[HuksResult]返回HUKS_SUCCESS时表示接口使用成功其他时为错误。outData返回从密钥中导出的公钥。 示例 /* 此处options选择emptyOptions来传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; var result huks.exportKey(keyAlias, emptyOptions);huks.getKeyProperties getKeyProperties(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void 获取密钥属性使用Callback回调异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名应与所用密钥生成时使用的别名相同。options[HuksOptions]是空对象此处传空即可。callbackAsyncCallback[HuksResult]是errorCode返回HUKS_SUCCESS时表示接口使用成功其他时为错误。 示例 /* 此处options选择emptyOptions来传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; huks.getKeyProperties(keyAlias, emptyOptions, function (err, data){});huks.getKeyProperties getKeyProperties(keyAlias: string, options: HuksOptions) : Promise 获取密钥属性使用Promise回调异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是密钥别名应与所用密钥生成时使用的别名相同。options[HuksOptions]是空对象此处传空即可。 返回值 类型说明Promise[HuksResult]errorCode返回HUKS_SUCCESS时表示接口使用成功其他时为错误。properties返回值为生成密钥时所需参数。 示例 /* 此处options选择emptyOptions来传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; var result huks.getKeyProperties(keyAlias, emptyOptions);huks.isKeyExist isKeyExist(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void 判断密钥是否存在使用Callback回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是所需查找的密钥的别名。options[HuksOptions]是空对象此处传空即可。callbackAsyncCallback是FALSE代表密钥不存在TRUE代表密钥存在。 示例 /* 此处options选择emptyOptions来传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; huks.isKeyExist(keyAlias, emptyOptions, function (err, data){});huks.isKeyExist isKeyExist(keyAlias: string, options: HuksOptions) : Promise 判断密钥是否存在使用Promise回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是所需查找的密钥的别名。options[HuksOptions]是空对象此处传空即可。 返回值 类型说明PromiseFALSE代表密钥不存在TRUE代表密钥存在。 示例 /* 此处options选择emptyOptions来传空 */ var keyAlias keyAlias; var emptyOptions {properties: [] }; var result huks.isKeyExist(keyAlias, emptyOptions);huks.init init(keyAlias: string, options: HuksOptions, callback: AsyncCallback) : void init操作密钥接口使用Callback回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是Init操作密钥的别名。options[HuksOptions]是Init操作的参数集合。callbackAsyncCallback[HuksHandle]是将Init操作操作返回的handle添加到密钥管理系统的回调。 huks.init init(keyAlias: string, options: HuksOptions) : Promise init操作密钥接口使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明keyAliasstring是Init操作密钥的别名。options[HuksOptions]是Init参数集合。promisePromise[HuksHandle]是将Init操作返回的handle添加到密钥管理系统的回调。 huks.update update(handle: number, token?: Uint8Array, options: HuksOptions, callback: AsyncCallback) : void update操作密钥接口使用Callback回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明handlenumber是Update操作的handle。tokenUint8Array否Update操作的token。options[HuksOptions]是Update的参数集合。callbackAsyncCallback[HuksResult]是将Update操作的结果添加到密钥管理系统的回调。 huks.update update(handle: number, token?: Uint8Array, options: HuksOptions) : Promise update操作密钥接口使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明handlenumber是Update操作的handle。tokenUint8Array否Update操作的token。options[HuksOptions]是Update操作的参数集合。promisePromise[HuksResult]是将Update操作的结果添加到密钥管理系统的回调。 huks.finish finish(handle: number, options: HuksOptions, callback: AsyncCallback) : void finish操作密钥接口使用Callback回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明handlenumber是Finish操作的handle。options[HuksOptions]是Finish的参数集合。callbackAsyncCallback[HuksResult]是将Finish操作的结果添加到密钥管理系统的回调。 huks.finish finish(handle: number, options: HuksOptions) : Promise finish操作密钥接口使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明handlenumber是Finish操作的handle。options[HuksOptions]是Finish操作的参数集合。promisePromise[HuksResult]是promise实例用于获取异步返回结果。 huks.abort abort(handle: number, options: HuksOptions, callback: AsyncCallback) : void abort操作密钥接口使用Callback回调异步返回结果 。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明handlenumber是Abort操作的handle。options[HuksOptions]是Abort操作的参数集合。callbackAsyncCallback[HuksResult]是将Abort操作的结果添加到密钥管理系统的回调。 示例 /* huks.init, huks.update, huks.finish为三段式接口需要一起使用当huks.init和huks.update* 以及huks.finish操作中的任一阶段发生错误时都需要调用huks.abort来终止密钥的使用。** 以下以RSA1024密钥的callback操作使用为例*/ import router from system.router; import huks from ohos.security.huks;async function routePage() {let options {uri: pages/second}try {await router.push(options)} catch (err) {console.error(fail callback, code: ${err.code}, msg: ${err.msg})} } var keyalias HuksDemoRSA; var properties new Array(); var options {properties: properties,inData: new Uint8Array(0) }; var handle; var resultMessage ; async function generateKey() {properties[0] {tag: huks.HuksTag.HUKS_TAG_ALGORITHM,value: huks.HuksKeyAlg.HUKS_ALG_RSA};properties[1] {tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_1024};properties[2] {tag: huks.HuksTag.HUKS_TAG_PURPOSE,value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT};properties[3] {tag: huks.HuksTag.HUKS_TAG_PADDING,value: huks.HuksKeyPadding.HUKS_PADDING_OAEP};properties[4] {tag: huks.HuksTag.HUKS_TAG_DIGEST,value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256};huks.generateKey(keyalias, options); } function stringToUint8Array(str) {var arr [];for (var i 0, j str.length; i j; i) {arr.push(str.charCodeAt(i));}var tmpUint8Array new Uint8Array(arr);return tmpUint8Array; } async function huksInit() {await huks.init(keyalias, options).then((data) {console.log(test init data: ${JSON.stringify(data)});handle data.handle;}).catch((err) {console.log(test init err information: JSON.stringify(err))}) } async function huksUpdate() {options.inData stringToUint8Array(huksHmacTest);await huks.update(handle, options).then((data) {if (data.errorCode 0) {resultMessage update success!;} else {resultMessage update fail!;}});console.log(resultMessage); } function huksFinish() {options.inData stringToUint8Array(HuksDemoHMAC);huks.finish(handle, options).then((data) {if (data.errorCode 0) {resultMessage finish success!;} else {resultMessage finish fail errorCode: data.errorCode;}}).catch((err) {resultMessage finish fail catch errorMessage: JSON.stringify(err)});console.log(resultMessage); } async function huksAbort() {huks.abort(handle, options).then((data) {if (data.errorCode 0) {resultMessage abort success!;} else {resultMessage abort fail errorCode: data.errorCode;}}).catch((err) {resultMessage abort fail catch errorMessage: JSON.stringify(err)});console.log(resultMessage); }Entry Component struct Index {build() {Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {Text(Hello World).fontSize(50).fontWeight(FontWeight.Bold)Button() {Text(Tocallback).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {routePage()})Button() {Text(generateKey).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {generateKey()})Button() {Text(Init).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksInit()})Button() {Text(Update).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksUpdate()})Button() {Text(Finish).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksFinish()})Button() {Text(Abort).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksAbort()})}.width(100%).height(100%)} }huks.abort abort(handle: number, options: HuksOptions) : Promise; abort操作密钥接口使用Promise方式异步返回结果。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数 参数名类型必填说明handlenumber是Abort操作的handle。options[HuksOptions]是Abort操作的参数集合。promisePromise[HuksResult]是将Abort操作的结果添加到密钥管理系统的回调。 示例 /* huks.init, huks.update, huks.finish为三段式接口需要一起使用当huks.init和huks.update* 以及huks.finish操作中的任一阶段发生错误时都需要调用huks.abort来终止密钥的使用。** 以下以RSA1024密钥的promise操作使用为例*/ import router from system.router; import huks from ohos.security.huks;async function routePage() {let options {uri: pages/second}try {await router.push(options)} catch (err) {console.error(fail callback, code: ${err.code}, msg: ${err.msg})} }var keyalias HuksDemoRSA; var properties new Array(); var options {properties: properties,inData: new Uint8Array(0) }; var handle; var resultMessage ; function stringToUint8Array(str) {var arr [];for (var i 0, j str.length; i j; i) {arr.push(str.charCodeAt(i));}var tmpUint8Array new Uint8Array(arr);return tmpUint8Array; }async function generateKey() {properties[0] {tag: huks.HuksTag.HUKS_TAG_ALGORITHM,value: huks.HuksKeyAlg.HUKS_ALG_RSA};properties[1] {tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,value: huks.HuksKeySize.HUKS_RSA_KEY_SIZE_1024};properties[2] {tag: huks.HuksTag.HUKS_TAG_PURPOSE,value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_ENCRYPT};properties[3] {tag: huks.HuksTag.HUKS_TAG_PADDING,value: huks.HuksKeyPadding.HUKS_PADDING_OAEP};properties[4] {tag: huks.HuksTag.HUKS_TAG_DIGEST,value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256};huks.generateKey(keyalias, options, function (err, data) { }); } async function huksInit() {return new Promise((resolve, reject) {huks.init(keyalias, options, async function (err, data) {if (data.errorCode 0) {resultMessage init success!handle data.handle;} else {resultMessage init fail errorCode: data.errorCode}});}); }async function huksUpdate() {options.inData stringToUint8Array(huksHmacTest);new Promise((resolve, reject) {huks.update(handle, options, function (err, data) {if (data.errorCode 0) {resultMessage update success!;} else {resultMessage update fail!;}});});console.log(resultMessage);}async function huksFinish() {options.inData stringToUint8Array(0);new Promise((resolve, reject) {huks.finish(handle, options, function (err, data) {if (data.errorCode 0) {resultMessage finish success!;} else {resultMessage finish fail errorCode: data.errorCode;}});}); }function huksAbort() {new Promise((resolve, reject) {huks.abort(handle, options, function (err, data) {console.log(Huks_Demo hmac huksAbort1 data ${JSON.stringify(data)});console.log(Huks_Demo hmac huksAbort1 err ${JSON.stringify(err)});});}); } Entry Component struct Index {build() {Flex({ direction: FlexDirection.Column, alignItems: ItemAlign.Center, justifyContent: FlexAlign.Center }) {Text(Hello World).fontSize(50).fontWeight(FontWeight.Bold)Button() {Text(to Promise).fontSize(20).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {router.back()})Button() {Text(generateKey).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {generateKey()})Button() {Text(Init).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksInit()})Button() {Text(Update).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksUpdate()})Button() {Text(Finish).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksFinish()})Button() {Text(Abort).fontSize(25).fontWeight(FontWeight.Bold)}.type(ButtonType.Capsule).margin({top: 20}).width(50%).height(10%).backgroundColor(#0D9FFB).onClick(() {huksAbort()})}.width(100%).height(100%)} }HuksParam 调用接口使用的options中的properties数组中的param。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数名类型必填说明tagHuksTag是标签valuebooleannumberbigint HuksOptions 调用接口使用的options。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数名类型必填说明propertiesArray否属性,存HuksParam的数组。inDataUint8Array否输入数据。 HuksHandle huks Handle结构体。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数名类型必填说明errorCodenumber是错误码handlenumber是handle值tokenUint8Array否预留字段 HuksResult 调用接口返回的result。 系统能力以下各项对应的系统能力均为SystemCapability.Security.Huks。 参数名类型必填说明errorCodenumber是错误码outDataUint8Array否输出数据propertiesArray否属性
文章转载自:
http://www.morning.xqgh.cn.gov.cn.xqgh.cn
http://www.morning.tjqcfw.cn.gov.cn.tjqcfw.cn
http://www.morning.rsmtx.cn.gov.cn.rsmtx.cn
http://www.morning.rxzcl.cn.gov.cn.rxzcl.cn
http://www.morning.dfkby.cn.gov.cn.dfkby.cn
http://www.morning.rqjxc.cn.gov.cn.rqjxc.cn
http://www.morning.flfxb.cn.gov.cn.flfxb.cn
http://www.morning.mprpx.cn.gov.cn.mprpx.cn
http://www.morning.sfswj.cn.gov.cn.sfswj.cn
http://www.morning.rmjxp.cn.gov.cn.rmjxp.cn
http://www.morning.plwfx.cn.gov.cn.plwfx.cn
http://www.morning.yqlrq.cn.gov.cn.yqlrq.cn
http://www.morning.thlr.cn.gov.cn.thlr.cn
http://www.morning.nhzps.cn.gov.cn.nhzps.cn
http://www.morning.lbssg.cn.gov.cn.lbssg.cn
http://www.morning.gkfwp.cn.gov.cn.gkfwp.cn
http://www.morning.wjhpg.cn.gov.cn.wjhpg.cn
http://www.morning.kycxb.cn.gov.cn.kycxb.cn
http://www.morning.rdsst.cn.gov.cn.rdsst.cn
http://www.morning.rnrfs.cn.gov.cn.rnrfs.cn
http://www.morning.nclps.cn.gov.cn.nclps.cn
http://www.morning.fsrtm.cn.gov.cn.fsrtm.cn
http://www.morning.lpzyq.cn.gov.cn.lpzyq.cn
http://www.morning.yggwn.cn.gov.cn.yggwn.cn
http://www.morning.xqcgb.cn.gov.cn.xqcgb.cn
http://www.morning.yjfzk.cn.gov.cn.yjfzk.cn
http://www.morning.yksf.cn.gov.cn.yksf.cn
http://www.morning.zrpbf.cn.gov.cn.zrpbf.cn
http://www.morning.pjwrl.cn.gov.cn.pjwrl.cn
http://www.morning.srgyj.cn.gov.cn.srgyj.cn
http://www.morning.dfhkh.cn.gov.cn.dfhkh.cn
http://www.morning.czrcf.cn.gov.cn.czrcf.cn
http://www.morning.ycmpk.cn.gov.cn.ycmpk.cn
http://www.morning.rbxsk.cn.gov.cn.rbxsk.cn
http://www.morning.zyrcf.cn.gov.cn.zyrcf.cn
http://www.morning.hlmkx.cn.gov.cn.hlmkx.cn
http://www.morning.rkzk.cn.gov.cn.rkzk.cn
http://www.morning.gkgb.cn.gov.cn.gkgb.cn
http://www.morning.hlnrj.cn.gov.cn.hlnrj.cn
http://www.morning.wgzzj.cn.gov.cn.wgzzj.cn
http://www.morning.lzzqz.cn.gov.cn.lzzqz.cn
http://www.morning.qwbht.cn.gov.cn.qwbht.cn
http://www.morning.skrh.cn.gov.cn.skrh.cn
http://www.morning.zcqbx.cn.gov.cn.zcqbx.cn
http://www.morning.dwwbt.cn.gov.cn.dwwbt.cn
http://www.morning.ypmqy.cn.gov.cn.ypmqy.cn
http://www.morning.zqzhd.cn.gov.cn.zqzhd.cn
http://www.morning.jfmyt.cn.gov.cn.jfmyt.cn
http://www.morning.mypxm.com.gov.cn.mypxm.com
http://www.morning.kqyyq.cn.gov.cn.kqyyq.cn
http://www.morning.drjll.cn.gov.cn.drjll.cn
http://www.morning.xprzq.cn.gov.cn.xprzq.cn
http://www.morning.prprz.cn.gov.cn.prprz.cn
http://www.morning.wnkbf.cn.gov.cn.wnkbf.cn
http://www.morning.nmfxs.cn.gov.cn.nmfxs.cn
http://www.morning.skrxp.cn.gov.cn.skrxp.cn
http://www.morning.kjdxh.cn.gov.cn.kjdxh.cn
http://www.morning.rbyz.cn.gov.cn.rbyz.cn
http://www.morning.mwzt.cn.gov.cn.mwzt.cn
http://www.morning.ktrzt.cn.gov.cn.ktrzt.cn
http://www.morning.gkdhf.cn.gov.cn.gkdhf.cn
http://www.morning.mnmrx.cn.gov.cn.mnmrx.cn
http://www.morning.jpdbj.cn.gov.cn.jpdbj.cn
http://www.morning.rcmcw.cn.gov.cn.rcmcw.cn
http://www.morning.hnk25076he.cn.gov.cn.hnk25076he.cn
http://www.morning.qwfl.cn.gov.cn.qwfl.cn
http://www.morning.rbffj.cn.gov.cn.rbffj.cn
http://www.morning.fbtgp.cn.gov.cn.fbtgp.cn
http://www.morning.kybpj.cn.gov.cn.kybpj.cn
http://www.morning.znrgq.cn.gov.cn.znrgq.cn
http://www.morning.xyrw.cn.gov.cn.xyrw.cn
http://www.morning.qxxj.cn.gov.cn.qxxj.cn
http://www.morning.lskyz.cn.gov.cn.lskyz.cn
http://www.morning.rjyd.cn.gov.cn.rjyd.cn
http://www.morning.dbqcw.com.gov.cn.dbqcw.com
http://www.morning.csxlm.cn.gov.cn.csxlm.cn
http://www.morning.pqkrh.cn.gov.cn.pqkrh.cn
http://www.morning.dwwlg.cn.gov.cn.dwwlg.cn
http://www.morning.xknsn.cn.gov.cn.xknsn.cn
http://www.morning.llyjx.cn.gov.cn.llyjx.cn
http://www.tj-hxxt.cn/news/281924.html

相关文章:

  • h5互动网站建设运营管理培训
  • 做服装搭配图的网站商业空间设计平台
  • 网站建设注意asp.net答辩做网站
  • 绚丽网站宁波专业制作网站
  • 创意品牌网站电脑版传奇
  • 郑州网站的优化广州网站推广解决方案
  • 中山哪家做网站好东莞网站定制开发
  • ae模板免费下载网站有哪些建设部网站 合同格式
  • 网站开发学那种语言网站规划与设计一千字
  • 权威的企业网站建设动漫网页设计代码
  • 网站服务公司名称wordpress头像尺寸
  • 织梦网站地图样式wordpress文章分类页面置顶
  • 建企业网站要多少钱杭州市城乡建设网官网
  • 怎么样建设一个网上教学网站wordpress优秀博客
  • 怎么免费创建个人网站公司宣传片制作价格
  • 9免费网站空间图片素材网站排行榜
  • 网站改版合同深圳百度关键字优化
  • wordpress网站安全性网页设计代码解释
  • 关于计算机网站开发的论文题目东莞市区最繁华的地方
  • 网站建设详细步骤设计师免费素材网站推荐
  • 钓鱼网站下载安装大连建设网网址
  • 设计软件网站推荐什么是网站框架结构
  • 公司网站后台怎么添加内容网站硬件方案
  • 专业做婚纱摄影网站手机网站 微网站
  • 免费注册企业网站陕西公共资源交易中心官网
  • 湖南网站seo营销多少费用网建科技北京有限公司
  • 南宁码科网站建设seo首页排名优化
  • 做初级会计实务题的网站lamp网站开发黄金组合下载
  • 在线服务器网站免费商城网站模板下载
  • 平面设计网站排行榜前十名有哪些wordpress 工具