背景:
需求:
1.支持配置证书导入有效性校验(基本约束和密钥用法等)
2.香港某局点述求:关闭bmc证书校验扩展字段或则开发一个功能开关来启用或则禁用
现状
决策点1:
新增redfish字段:ExtVerifyEnabled 用于查询证书扩展字段校验使能
uri: /redfish/v1/CertificateService
变化类型:新增OEM属性
操作类型: GET
应用场景:用于查询证书证书扩展字段校验使能
详细描述:
在"Oem": “{{OemIdentifier}}”: 下新增
| 属性名称 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 | 约束 |
|---|---|---|---|---|---|---|---|
| ExtVerifyEnabled | boolean | 证书扩展字段校验使能 | true/false | true | ReadOnly | 否 | 无 |
uri: /redfish/v1/CertificateService
变化类型:新增OEM属性
操作类型: PATCH
应用场景:用于设置证书扩展字段校验使能
详细描述:
在"Oem": “{{OemIdentifier}}”: 下新增
| 属性名称 | 取值类型 | 说明 | 取值范围 | 默认值 | 操作权限 | 是否频繁变化并需要屏蔽变化事件 | 约束 |
|---|---|---|---|---|---|---|---|
| ExtVerifyEnabled | boolean | 证书扩展字段校验使能 | true/false | true | SecurityMgmt | 否 | 无 |
schema说明(必填):
"ExtVerifyEnabled": {
"type": "boolean",
"readonly": false,
"description": "Indicates whether verification of certificate extensions is enabled.",
"longDescription": "This property specifies whether the system performs verification of standard and/or custom extensions within X.509 certificates during certificate validation processes. When set to true, the system will check for the correct presence, absence, or values of extensions (e.g., Extended Key Usage (EKU), Basic Constraints) as per relevant RFCs and security policies. Setting this to false may reduce security by allowing certificates with invalid or inappropriate extensions to be accepted. This setting applies to all certificate validation operations performed by the system."
}
错误说明:无权限返回401,正常设置返回200
性能说明:bool类型属性,无影响
兼容性策略:如果证书校验对现网已有使用有影响,可使用patch接口关闭校验
示例:新增属性
{
"Oem": {
"{{OemIdentifier}}": {
"ExtVerifyEnabled": "true"
}
}
}
决策点2:
新增属性:ExtVerifyEnabled 用于承载证书扩展字段校验使能
资源path: /bmc/kepler/CertificateService (原有)
资源interface: bmc.kepler.CertificateService.Capabilities(原有)
属性:ExtVerifyEnabled(新增)
详细描述 :
资源path:/bmc/kepler/CertificateService
资源interface:bmc.kepler.CertificateService.Capabilities
变化类型:新增属性
应用场景:用于设置证书扩展字段校验使能
持久化类型: 掉电持久化
详细描述:
| 属性名称 | 变化类型 | 签名 | 读写&权限 | 持久化 | 变化通知 | 说明 | 约束 |
|---|---|---|---|---|---|---|---|
| ExtVerifyEnabled | 新增属性 | s | 读:ReadOnly 写:SecurityMgmt | 掉电持久化 | 否 | 默认为true | 无 |
| 取值 | 说明 |
|---|---|
| false | 关闭基本约束和密钥用法校验,如果证书用途不合法,可能无法使用 |
| true | 如下表1 |
表1
| 证书校验类型 | 基本约束 | 密钥用法 | ||
|---|---|---|---|---|
| ca证书 | CA | certificate signature | ||
| 双因素客户端证书 | End Entity | digitalSignature(如有key usage) | ||
| ssl证书 | 服务器证书 | 国密 | End Entity | 加密和签名拆分 digitalSignature 和(key Encipherment 或则(Encipher only 和 key Agreement))互斥 |
| 国际 | End Entity | digitalSignature(如有key usage) | ||
| 自定义证书 | 国密 | End Entity | 加密和签名拆分 digitalSignature 和(key Encipherment 或则(Encipher only 和 key Agreement))互斥 | |
| 国际 | End Entity | digitalSignature(如有key usage) |
评审结论
不同意新增redfish接口属性ExtVerifyEnabled和资源协作接口属性ExtVerifyEnabled,原因如下:
1.属性名称和取值没有体现真实含义
2.未明确是否发送事件
3.未明确是否要支持配置导入导出
