Quorum Key Manager报错ST100:无法创建Hashicorp密钥求助
Quorum Key Manager与Hashicorp Vault集成创建密钥失败的修复方案
问题场景
测试Quorum Key Manager(QKM)与Hashicorp Vault集成,使用consensys/quorum-hashicorp-vault-plugin管理以太坊密钥。已完成基础连接,可执行部分密钥操作,但调用创建以太坊账户API:
curl -X POST --data '{"keyId":"my-key-account"}' -H "Content-Type:application/json" 'http://localhost:8080/stores/my-ethereum-store/ethereum'
返回错误:
{"message":"ST100: failed to create Hashicorp key","code":"ST100"}
QKM日志核心报错:
key-manager_1 | 2022-08-04T12:42:38.593Z ERROR stores failed to create Hashicorp key {"name": "hashicorp-keys", "vault": "hashicorp-vault", "secret_store": "", "id": "my-key-account", "error": "ST100: Error making API request.\n\nURL: PUT http://vault:8200/v1/secret/keys\nCode: 404. Errors:\n\n"}
错误原因
QKM尝试访问Vault的/v1/secret/keys路径,但该路径无效:
- 默认的
secret挂载点是Vault内置的KV存储引擎,不支持Quorum插件所需的/keys端点。 - Quorum Hashicorp Vault插件需要单独挂载到自定义路径,而非复用默认KV挂载点。
修复步骤
重新挂载Quorum插件到自定义路径
在Vault中执行命令,将插件挂载到新路径(示例用quorum,可自定义):# 若不需要默认secret挂载点,可先卸载 vault secrets disable secret # 挂载Quorum插件到指定路径 vault secrets enable -path=quorum -plugin-name=quorum-hashicorp-vault-plugin plugin若需保留默认secret挂载点,可将插件挂载到其他路径,比如
quorum-keys:vault secrets enable -path=quorum-keys -plugin-name=quorum-hashicorp-vault-plugin plugin更新QKM清单配置
修改Vault的mount_point为刚创建的挂载路径:- kind: Vault type: hashicorp name: hashicorp-vault specs: mount_point: quorum # 替换为实际挂载的路径 address: http://vault:8200 token: xxxxxxxxxxxxxxxxxxx重启QKM服务
重新加载配置清单,确保新挂载点生效。验证修复
再次调用创建账户API,确认可正常生成以太坊密钥账户。
内容的提问来源于stack exchange,提问作者jfc
相关产品推荐
相关产品推荐

