当前位置: 首页 > news >正文

华为OceanStor 5500 V3存储证书过期问题处理

一、故障现象

客户的华为OceanStor 5500V3的3个证书即使过过期,出现以下告警:
在这里插入图片描述
告警有提示相关的处理建议:
在这里插入图片描述
如果客户有密管服务器,那么从存储中将证书请求导出来后,使用密管服务器对证书请求进行签名,然后将证书导入存储,问题即可解决。

二、处理步骤

由于客户没有配置密管服务器,而且存储的型号比较旧,新型号的存储(OceanStor 6.1.5版本以上)可以使用参考2链接中的方法利用存储内置的CA中心来签发证书,因此需要使用自签名的方法来签发证书。

以下步骤是使用自签名的方法来签发证书:
1.通过以下三种方法之中的一种获取存储的ESN号即序列号:

在这里插入图片描述

在这里插入图片描述
2. 在证书管理界面中导出相应的证书请求。

3.参考“参考1”链接中的方法搭建CA中心。
1)OpenSSL环境准备。
准备一台已经安装OpenSSL工具的Linux设备(一般Ubuntu、CentOS系统都有预装),并使用openssl version命令确认环境中OpenSSL的版本为“1.0.2a”及以上。
# openssl version
OpenSSL 1.0.2p-fips 14 Aug 2018
2)创建临时目录,例如:/tmp/cert,并进入该目录进行后续操作。
# mkdir -p /tmp/cert
# cd /tmp/cert
3)创建并编辑ssl.conf文件。
# vi ssl.conf
复制以下内容到上述的ssl.conf文件中。

[ req ]
default_bits = 4096
distinguished_name = req_distinguished_name[ req_distinguished_name ]
countryName = Country Name (2 letter code)
countryName_default = CN
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = SC
localityName = Locality Name (eg, city)
localityName_default = CD
organizationName = Organization Name (eg, company)
organizationName_default = Huawei
organizationalUnitName = Organizational Unit Name (eg, section)
organizationalUnitName_default = Storage
commonName = Common Name (e.g. server FQDN or YOUR name)
commonName_max = 64
commonName_default = xxxx[ x509_ext ]
subjectKeyIdentifier        = hash
authorityKeyIdentifier    = keyid,issuer[ v3_ca ]
subjectKeyIdentifier=hash
authorityKeyIdentifier=keyid:always,issuer
basicConstraints = CA:true

其中,上述内容里的“xxxx”需要修改为存储阵列的ESN号。

4)使用OpenSSL工具生成CA私钥和CA证书。
a.建立证书文件相关的目录和文件。
# mkdir -p /etc/pki/CA
# touch /etc/pki/CA/index.txt
# touch /etc/pki/CA/serial
# echo 00 > /etc/pki/CA/serial
# mkdir -p /tmp/cert/demoCA
# touch /tmp/cert/demoCA/index.txt
# touch /tmp/cert/demoCA/serial
# echo 00 > /tmp/cert/demoCA/serial

b.生成CA私钥文件。
# openssl genrsa -out os5500v3_ca.key 2048

c.生成CA证书请求。
# openssl req -new -key os5500v3_ca.key -out os5500v3_ca.csr -config ssl.conf -subj “/C=CN/ST=SC/L=CD/O=Huawei/OU=Storage/CN=xxxx”
其中,上述内容里的“xxxx”需要修改为存储阵列的ESN号。

d.生成CA证书文件。
# openssl x509 -req -days 3650 -in os5500v3_ca.csr -signkey os5500v3_ca.key -out os5500v3_ca.crt -extensions v3_ca -extfile ssl.conf

4.使用CA证书给证书请求文件签名。
# mkdir /etc/pki/CA/newcerts
# mkdir /tmp/cert/demoCA/newcerts

1)更改配置文件,以免证书请求的省份和组织名称与CA不匹配导致无法签名。
vi /etc/ssl/openssl.cnf
stateOrProvinceName = optional
organizationName = supplied

2)给双活仲裁证书请求签名。
openssl ca -days 3650 -in os5500v3_da.csr -out os5500v3_da.crt -cert os5500v3_ca.crt -keyfile os5500v3_ca.key -extfile ssl.conf
执行上述命令,根据回显提示输入"y"。回显示例如下。
Using configuration from /etc/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
Certificate Details:
Serial Number: 0 (0x0)
Validity
Not Before: May 1 02:53:09 2025 GMT
Not After : May 2 02:53:09 2035 GMT
Subject:
countryName = CN
organizationName = Huawei
organizationalUnitName = Storage
commonName = xxx
Certificate is to be certified until May 2 02:53:09 2035 GMT (3650 days)
Sign the certificate? [y/n]:y

1 out of 1 certificate requests certified, commit? [y/n]y
Write out database with 1 new entries
Data Base Updated

验证证书有效。
# openssl x509 -in os5500v3_da.crt -text -noout

3)更改以下两个配置文件,允许为同一个CN创建多个证书。
# vi /etc/ssl/openssl.cnf
unique_subject = no # Set to ‘no’ to allow creation of several ctificates with same subject.

# vi /tmp/hw5500/demoCA/index.txt.attr
unique_subject = no

4)使用同样的方法再给其他证书请求签名。

5.将生成的自签名证书和CA证书导入存储阵列。
登录DeviceManager。
选择“设置 > 存储设置> 证书管理”。
选择“证书”,单击“导入证书”。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

双活仲裁证书导入后证书的过期时间延长到2035年。
在这里插入图片描述

三、处理总结

1.此次故障首先尝试参考2链接中的方法利用存储内置的CA中心来签发证书,但是只有新型号的存储(OceanStor 6.1.5版本以上)才可以使用此方法,5500 V3中没有相应的命令。

2.在对证书请求签名的过程中遇到以下几个问题,在上面的步骤中已列出相应的方法来规避掉。
1)问题1:签名提示证书请求中的 stateOrProvinceName缺失导致签名失败,更改配置文件将相应的参数由匹配更改为可选。
Using configuration from /etc/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
The mandatory stateOrProvinceName field was missing

解决方法:
vi /etc/ssl/openssl.cnf
stateOrProvinceName = optional

2)问题2:签名提示证书请求中的组织名称不同导致签名失败,但是输出都是“Huawei”,更改配置文件中相应的参数来规避。
Using configuration from /etc/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
The organizationName field needed to be the same in the
CA certificate (Huawei) and the request (Huawei)

解决方法:
vi /etc/ssl/openssl.cnf
organizationName = supplied

3)问题3:对第二个证书请求进行签名时报CN已经存在一个证书了,不能再签发新的证书。更改配置文件来允许对同一个CN签发多个证书。
Using configuration from /etc/ssl/openssl.cnf
Check that the request matches the signature
Signature ok
ERROR:There is already a certificate for /C=CN/O=Huawei/OU=Storage/CN=XXX

解决方法:
更改以下两个配置文件,允许为同一个CN创建多个证书。
# vi /etc/ssl/openssl.cnf
unique_subject = no # Set to ‘no’ to allow creation of several ctificates with same subject.

# vi /tmp/hw5500/demoCA/index.txt.attr
unique_subject = no



参考:
1.如何通过自签名证书的方法替换带内管理证书

2.获取存储设备ESN序列号

3.通过存储内置CA中心签发证书(适用于6.1.5及后续版本)

4.How do I issue multiple certificates for the same Common Name?

5.OpenSSL创建私有CA

6.harbor 反代 无法登录

相关文章:

  • lambda 表达式
  • 在一台CentOS服务器上开启多个MySQL服务
  • 【高并发】Celery + Redis异步任务队列方案提高OCR任务时的并发
  • 代码随想录第40天:图论1
  • 1、mongodb-- BSON 学习和JSON性能对比
  • qml用PathView实现Cover Flow效果
  • Lightweight App Alternatives
  • 耀圣-气动带刮刀硬密封法兰球阀:攻克颗粒高粘度介质的自清洁 “利器”
  • c++中构造对象实例的两种方式及其返回值
  • 牛客练习赛138-题解
  • 机器人手臂的坐标变换:一步步计算齐次矩阵过程 [特殊字符]
  • 基于大模型预测的足月胎膜早破行阴道分娩全流程研究报告
  • 2025数维杯数学建模A题完整限量论文:空中芭蕾——蹦床运动的力学行为分析
  • 突破跨界传输瓶颈:Zynq OCM与DDR核间数据共享性能深度调优
  • Rust中记录日志:fast_log
  • 什么是分布式光伏系统?屋顶分布式光伏如何并网?
  • 软件测试的概念
  • 老旧 LabVIEW 系统升级改造
  • HTML字符串转换为React元素实现
  • 基于Transformer与SHAP可解释性分析的神经网络回归预测模型【MATLAB】
  • 秦洪看盘|重估叙事主题卷土重来,给A股注入新活力
  • 外交部答澎湃:美方攻击抹黑中加关系与合作的卑劣图谋不会得逞
  • 司法部:民营经济促进法明确禁止违规异地执法、利用行政或者刑事手段违法干预经济纠纷
  • 咖啡戏剧节举办第五年,上生新所“无店不咖啡,空间皆可戏”
  • 金融监管总局将出八大增量政策,李云泽详解稳楼市稳股市“组合拳”
  • 马克思主义理论研究教学名师系列访谈|鲍金:给予学生一碗水、自己就要有一桶水