#鸿蒙通关秘籍#在鸿蒙开发中如何使用细粒度访问控制实现签名验签?

HarmonyOS
2天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
墨s流光TCP

细粒度访问控制可提升签名验签的安全性,需要在密钥创建时设置特定属性。注意在创建密钥时启用以下设置:

function getGenerateProperties() {
    let properties: Array<huks.HuksParam> = new Array();
    let index = properties.length;

    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_ALGORITHM,
        value: huks.HuksKeyAlg.HUKS_ALG_ECC
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_KEY_SIZE,
        value: huks.HuksKeySize.HUKS_ECC_KEY_SIZE_256
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_PURPOSE,
        value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_DIGEST,
        value: huks.HuksKeyDigest.HUKS_DIGEST_SHA256
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_USER_AUTH_TYPE,
        value: huks.HuksUserAuthType.HUKS_USER_AUTH_TYPE_FINGERPRINT
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_KEY_AUTH_ACCESS_TYPE,
        value: huks.HuksAuthAccessType.HUKS_AUTH_ACCESS_ALWAYS_VALID
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_CHALLENGE_TYPE,
        value: huks.HuksChallengeType.HUKS_CHALLENGE_TYPE_NORMAL
    };
    properties[index++] = {
        tag: huks.HuksTag.HUKS_TAG_KEY_AUTH_PURPOSE,
        value: huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_SIGN | huks.HuksKeyPurpose.HUKS_KEY_PURPOSE_VERIFY
    };
    return properties;
}

确保适当设置用户认证及挑战类型等属性,结合使用提供双重身份验证保障安全。

分享
微博
QQ
微信
回复
2天前
相关问题
HarmonyOS 华为支付签名
157浏览 • 1回复 待解决
RSA签名后,后端失败
130浏览 • 1回复 待解决
huks sm2签名失败
158浏览 • 1回复 待解决
HarmonyOS SM2加SM3摘要算法使用
368浏览 • 1回复 待解决
签名算法不支持RSA|PKCS8|SHA1
194浏览 • 1回复 待解决