File Action
更新时间: 2025/06/26
在Gitcode上查看源码57h-文件动作(File-Action)
修订记录
| openUBMC版本号 | 修订日期 | 修订内容 |
|---|---|---|
| 25.06 | 2025/06/26 | 初稿,新增命令详情 |
基本信息
功能说明
文件动作。
权限
见命令权限说明附表1 文件动作以及命令权限对照表
命令信息
请求信息
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | 30h |
| CMD | 93h |
| 1:3 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 4 | Sub command,子命令=57h |
| 5 | 命令行为: 0-设置 1-查询 |
| 6 | 操作类型: 1-导出文件 2-导入文件 |
| 7 | 文件类型 01h:DICE CSR文件 02h:DICE CERT0证书 03h:PARTNER HASH,BIOS SOC HASH证书(只支持导入) 04h:未签名维修删除凭据的信息(只支持导出) 05h:签名后维修删除凭据(只支持导入) 06h:SSL CSR文件(只支持导出) 07h:SSL CERT证书(只支持导入) 08h:候备SSL CSR文件 (只支持导出) 09h:候备SSL CERT证书(只支持导入) 0Ah:SSL证书(pfx/p12)(只支持导入) 0Bh:非对称公钥(只支持导出,仅固件加密密钥导入使用) 0Ch:固件加密密钥(只支持导入,导入成功后不可重复导入) 0Dh:国密SSL CSR文件(只支持导出) 0Eh:国密签名SSL CERT证书(只支持导入) 0Fh:国密加密SSL CERT证书(只支持导入) 10h:CA证书(只支持导入) 11h:框内通信CSR文件(只支持导出) 12h:框内通信身份证书(只支持导入) 注意: 文件类型为 0Bh ~ 0Fh 类型的请求操作权限为 SecurityMgmt |
| 8 | 预留扩展,填0 |
| 9 | 扩展信息长度,如果 byte7 的取值等于: 0Ah 时,表示证书的密码 0Bh 时,表示非对称公钥算法,取值有:0: RSA2048, 1: RSA4096 0Ch 时,表示固件加密密钥摘要长度 10h时,表示指定的CA证书id(取值范围:0~32,为0时代表自动分配id,1~32代表指定id) 其它场景均为0 |
| 10 | 文件名长度 说明: Byte5 =1时,该字段不需要填写。 |
| 11~N | 文件名 (需要带路径) 说明: Byte5 =1时,该字段不需要填写。 |
| 11+N~11+N+M | 扩展信息,如果 Byte7 的取值等于: 0Ah 时,该字段需要填写,表示证书密码 0Ch 时,该字段需要填写,表示固件加密密钥摘要值 |
响应信息
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | Completion Code 00h:命令响应成功 CCh:命令入参超过支持范围 80h:环境中烧写的为不支持伙伴模式的efuse(不支持根的导入) 81h:环境中PKCSV15加密算法和PSS算法的根都已经导入 82h:只读 83h:环境中已经存在PKCSV15算法的根 84h:环境中已经存在PSS算法的根 |
| 2:4 | Manufacturer ID,LS Byte first。长度固定3个字节,例如,某厂家ID是2011,对应十六进制为0x0007DB,则字节序为第1个字节为DBh、第2个字节为07h、第3个字节为00h。 |
| 5:N | 该字段仅查询命令有 Byte5: 0-执行操作完成 1-执行操作失败 2-正在执行操作 FFh-空闲状态,未启动。 Byte6: 当 Byte5=2时,显示操作执行进度,取值范围为[0-100] |
附表1 文件动作以及命令权限对照表
| 文件类型(请求第7字节) | 文件类型描述 | 动作类型 | 操作角色 | 操作权限 | 扩展参数(请求第9字节) |
|---|---|---|---|---|---|
| 01h | DICE CSR文件 | 仅导出 | Administrator | BasicSetting | 0 |
| 02h | DICE CERT0证书 | 仅导入 | Administrator | BasicSetting | 0 |
| 03h | PARTNER HASH,BIOS SOC HASH证书 | 仅导入 | Administrator | BasicSetting | 0 |
| 04h | 未签名维修删除凭据的信息 | 仅导出 | Administrator | BasicSetting | 0 |
| 05h | 签名后维修删除凭据 | 仅导入 | Administrator | BasicSetting | 0 |
| 06h | SSL CSR文件 | 仅导出 | Administrator | BasicSetting | 0 |
| 07h | SSL CERT证书 | 仅导入 | Administrator | BasicSetting | 0 |
| 08h | 候备SSL CSR文件 | 仅导出 | Administrator | BasicSetting | 0 |
| 09h | 候备SSL CERT证书 | 仅导入 | Administrator | BasicSetting | 0 |
| 0Ah | SSL证书(pfx/p12) | 仅导入 | Administrator | SecurityMgmt | 表示证书密码长度 |
| 0Bh | 固件加密非对称公钥 | 仅导出 | Administrator | SecurityMgmt | 表示非对称公钥算法 0:RSA2048 1:RSA4096 |
| 0Ch | 固件加密秘钥 | 仅导入 | Administrator | SecurityMgmt | 表示固件加密秘钥摘要长度 |
| 0Dh | 国密SSL CSR文件 | 仅导出 | Administrator | SecurityMgmt | 0 |
| 0Eh | 国密签名SSL CERT证书 | 仅导入 | Administrator | SecurityMgmt | 0 |
| 0Fh | 国密加密SSL CERT证书 | 仅导入 | Administrator | SecurityMgmt | 0 |
| 10h | CA证书 | 仅导出 | Administrator | SecurityMgmt | 表示指定的CA证书id(取值范围:0~32,为0时代表自动分配id,1~32代表指定id) |
| 11h | 框内通信CSR文件 | 仅导出 | Administrator | SecurityMgmt | - |
| 12h | 框内通信身份证书 | 仅导入 | Administrator | SecurityMgmt | - |
命令样例
导出SSL CSR文件"/tmp/server.csr"
请求:
ipmicmd -k "0f 00 30 93 db 07 00 57 00 01 06 00 00 0f 2f 74 6d 70 2f 73 65 72 76 65 72 2e 63 73 72" smi 0
响应:
0f 31 00 93 00 db 07 00导入SSL CERT证书文件"/tmp/server.cer"
请求:
ipmicmd -k "0f 00 30 93 db 07 00 57 00 02 07 00 00 0f 2f 74 6d 70 2f 73 65 72 76 65 72 2e 63 65 72" smi 0
响应:
0f 31 00 93 00 db 07 00