使用Utimaco HSM cxitool登录时出现NO_DEVICE_AVAILABLE错误求助
cxitool登录报错HSM::ConnectionException(Error::NO_DEVICE_AVAILABLE)的排查与解决
问题现象
- 执行cxitool命令时登录失败:
返回错误信息:cxitool Dev=3005@localhost LogonSign=CRYPTO_USER,CRYPTO_USER.key#123456 ListKeysHSM::ConnectionException thrown in login Error::NO_DEVICE_AVAILABLE - 使用csadm执行同用户身份的命令却能正常登录并操作:
csadm Dev=3005@localhost LogonSign=CRYPTO_USER,CRYPTO_USER.key#123456 ListUsers - 补充发现:归属CXI_GROUP的用户(如USR_0000)可正常使用cxitool完成操作。
原因分析
这个错误本质是用户缺少对应HSM设备的访问权限。cxitool与csadm的权限校验逻辑存在差异:
- csadm作为管理工具,对用户的设备访问权限校验更宽松,或默认允许管理类操作的用户访问设备;
- CRYPTO_USER所属的用户组未被授予HSM设备的访问权限,而CXI_GROUP是拥有设备访问权限的预设组,因此该组下的用户可正常使用cxitool。
解决方案
检查用户所属组
用管理员权限的用户执行csadm命令,查看CRYPTO_USER的组归属:csadm Dev=3005@localhost LogonSign=ADMIN_USER,ADMIN.key#xxxxxx GetUserInfo User=CRYPTO_USER将用户添加到CXI_GROUP
确认CRYPTO_USER不在CXI_GROUP后,执行添加命令:csadm Dev=3005@localhost LogonSign=ADMIN_USER,ADMIN.key#xxxxxx AddUserToGroup User=CRYPTO_USER Group=CXI_GROUP验证修复效果
重新用CRYPTO_USER执行cxitool命令,确认错误消失:cxitool Dev=3005@localhost LogonSign=CRYPTO_USER,CRYPTO_USER.key#123456 ListKeys
内容的提问来源于stack exchange,提问作者cryingCat
相关产品推荐
相关产品推荐

