【已评审】支持导入/导出以及查询框内通信证书的北向接口

背景

支持导入/导出以及查询框内通信证书的北向接口

关联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": [
        {
			...
        }
    ]
}

评审结论

  1. 通过,同意 UIRest 接口 /UI/Rest/AccessMgnt/AdvancedSecurity 新增属性 InterChassisCertificateAuthEnabled,表征当前设备框内安全校验使能;属性操作类型为 GET,取值类型为 bool
  2. 通过,同意 IPMI 接口 FileAction命令(NetFn:30h,Cmd:93h,SubCmd:57h) 的 FileType 进行扩展,用于支持框内设备证书 CSR 文件的导出以及证书的导入;命令的操作权限为 SecurityMgmt,锁定之后不可访问,不带有敏感参数;FileType 扩展属性如下:
    11h = 框内通信身份证书CSR文件(只支持导出)
    12h = 框内通信身份证书文件(只支持导入)
  3. 通过,同意新增 UIRest 接口 /UI/Rest/AccessMgnt/CertMgnt/CertsInformation/InterChassisCertificateAuthCert,用于 BMC 在 WEB 页面查询框内设备通信认证证书信息;操作类型为 GET,权限为 ReadOnly;接口响应为框内设备通信认证证书的详细信息

遗留问题