背景
支持导入/导出以及查询框内通信证书的北向接口
关联ISSUE
[需求]: 支持导入/查询身份证书的北向接口 - openUBMC/rackmount - AtomGit | GitCode
整体方案
支持单独导入身份证书
- 新增ipmi导出框内通信证书的CSR以及导入框内通信证书
支持查询框内通信身份证书
- 新增rest接口查询框内通信证书
支持框内管理板与节点板通信,web界面需要获取当前框内通信使能状态
- /UI/Rest/AccessMgnt/AdvancedSecurity GET接口新增InterChassisCertificateAuthEnabled返回字段,用于指示当前框内通信使能状态
评审点1:web界面获取框内通信使能状态的接口和字段名称
场景1:变更webrest接口
-
URI:/UI/Rest/AccessMgnt/AdvancedSecurity
-
操作类型:GET
-
变化类型:新增返回字段
-
新增返回字段:
| 属性名称 | 属性说明 | 属性类型 |
|---|---|---|
| InterChassisCertificateAuthEnabled | 框内通信使能 | bool |
RspBody响应体示例:
{
"InterChassisCertificateAuthEnabled": true
}
评审点2:支持IPMI接口导入框内通信证书
ipmi命令File Action系列下新增对框内通信证书的文件操作(导出CSR(FileType取值11h)、导入证书(FileType取值12h))
命令名称:File Action
命令权限:SecurityMgmt
是否锁定之后可以访问: 否
是否有敏感数据: 否
命令样式:
-
请求:
ipmitool raw 0x30 0x93 <ManufacturerId><SubCmd> <CmdType> <ActionType> <FileType> <Reserved> <CertId> -
响应:
<ManufactureId> <CompletionCode>
命令请求参数:
| 字节顺序 | 域取值说明 |
|---|---|
| NetFn | 30h |
| Cmd | 93h |
| 1:3 | Manufacturer ID |
| 4 | SubCmd,固定为 57h |
| 5 | CmdType, 命令行为 0- 设置 1- 查询 |
| 6 | ActionType, 操作类型 1- 导出文件 2- 导入文件 |
| 7 | FileType,文件类型 11h 框内通信CSR文件(只支持导出) 12h 框内通信身份证书(只支持导入) |
| 8 | Reserved, 预留扩展,填0 |
| 9 | CertId 扩展信息长度 |
| 10 | FileNameLength 文件名长度 Byte5 = 1时 该字段不需要填写 |
| 11~N | FileName 文件名(需要带路径),Byte5 = 1时,该字段不需要填写 |
| 11+N~11+N+M | 扩展信息 |
命令响应参数:
| 字节顺序 | 域取值说明 |
|---|---|
| 1 | CompletionCode,完成码00h = 【标准完成码】命令响应成功CCh = 【标准完成码】命令入参超过支持范围80h = 命令的长度和参数不匹配81h = 命令的参数无法支持 |
| 2 | ManufactureId |
评审点3:新增Rest接口获取框内通信证书
- URI:/UI/Rest/AccessMgnt/CertMgnt/CertsInformation/InterChassisCertificateAuthCert
- 操作类型: GET
- 变化类型: 新增接口
- 应用场景:客户导入框内通信证书,查询当前框内通信证书的信息
详细描述:
| 取值类型 | 范围 | 默认 | 操作权限 | 约束 |
|---|---|---|---|---|
| object | GET接口返回证书object | “” | ReadOnly | 返回证书结构体,字段信息遵循x509标准 |
RspBody响应体示例:
{
"RootCert": {
"ValidNotBefore": "Sep 04 2025 UTC",
"Subject": "CN=RootTest, OU=, O=, L=, S=, C=",
"SerialNumber": "63 c6 8a b2 c1 70 eb 7e",
"ValidNotAfter": "Sep 04 2035 UTC",
"Issuer": "CN=RootTest, OU=, O=, L=, S=, C="
},
"ServerCert": {
...
},
"IntermediateCert": [
{
...
}
]
}
评审结论
- 通过,同意 UIRest 接口
/UI/Rest/AccessMgnt/AdvancedSecurity新增属性InterChassisCertificateAuthEnabled,表征当前设备框内安全校验使能;属性操作类型为 GET,取值类型为 bool - 通过,同意 IPMI 接口 FileAction命令(NetFn:30h,Cmd:93h,SubCmd:57h) 的 FileType 进行扩展,用于支持框内设备证书 CSR 文件的导出以及证书的导入;命令的操作权限为 SecurityMgmt,锁定之后不可访问,不带有敏感参数;FileType 扩展属性如下:
11h = 框内通信身份证书CSR文件(只支持导出)
12h = 框内通信身份证书文件(只支持导入) - 通过,同意新增 UIRest 接口
/UI/Rest/AccessMgnt/CertMgnt/CertsInformation/InterChassisCertificateAuthCert,用于 BMC 在 WEB 页面查询框内设备通信认证证书信息;操作类型为 GET,权限为 ReadOnly;接口响应为框内设备通信认证证书的详细信息
遗留问题
无