📚往期笔录记录🔖:
🔖鸿蒙(HarmonyOS)北向开发知识点记录~
🔖鸿蒙(OpenHarmony)南向开发保姆级知识点汇总~
🔖鸿蒙应用开发与鸿蒙系统开发哪个更有前景?
🔖嵌入式开发适不适合做鸿蒙南向开发?看完这篇你就了解了~
🔖对于大前端开发来说,转鸿蒙开发究竟是福还是祸?
🔖鸿蒙岗位需求突增!移动端、PC端、IoT到底该怎么选?
🔖记录一场鸿蒙开发岗位面试经历~
🔖持续更新中……
场景描述
密钥库使用过程中除了用于加解密外,还用于程序访问控制认证和签名验签,常见的两个场景问题如下:
1、对于密钥库中用户认证以及签名验签的属性配置参数的问题
2、密钥库中细粒度访问控制和普通访问控制的使用问题,以及在访问控制中进行签名验签使用问题
场景一:使用创建的密钥去做用户认证、加签验签以及加解密时,密钥参数如何配置
方案:
1、对于密钥属性的使用,创建的每个密钥对的目的不同,也决定了他的使用方式,例如:加签验签的密钥,不可以用于加解密。
2、对于存在密钥失效的情况,在设置授权访问类型的时候选择密钥总是有效,也可以设置别的类型,请参考: HuksAuthAccessType使用 也可以通过校验密钥是否存在来判断设置类型是否生效,以及检查密钥是在什么过程导致的失效。
3、使用ECC加签验签,不可以用于加解密,ECC不支持加解密。
算法 | 签名验签 | 支持的规格 | 加解密 | 支持的规格 |
---|---|---|---|---|
RSA | 支持签名验签 | RSA/SHA256/PKCS1_V1_5 RSA/SHA384/PKCS1_V1_5 RSA/SHA512/PKCS1_V1_5 RSA/SHA256/PSS RSA/SHA384/PSS RSA/SHA512/PSS |
支持加解密 | RSA/ECB/NoPadding RSA/ECB/PKCS1_V1_5 RSA/ECB/OAEP OAEP (备注:ECB为默认模式,可以不写) |
SM2 | 支持签名验签 | SM2/SM3 | 支持加解密 | SM2/NoPadding SM2/SM3 |
AES | 不支持签名验签 | \ | 支持加解密 | AES/CBC/NoPadding AES/CBC/PKCS7 AES/CTR/NoPadding AES/GCM/NoPadding |
SM4 | 不支持签名验签 | \ | 支持加解密 | SM4/CTR/NoPadding SM4/CBC/NoPadding |
ECC | 支持签名验签 | ECC/SHA256 ECC/SHA384 ECC/SHA512 |
不支持加解密 | \ |
效果图: