当前位置: 首页 > 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 反代 无法登录

http://www.xdnf.cn/news/361423.html

相关文章:

  • 在SpringBoot中使用MQTT实现消息的订阅
  • Element-UI字体图标不显示
  • Oracle — 数据管理
  • LVGL源码学习之渲染、更新过程(2)---无效区域的处理
  • 电厂数据库未来趋势:时序数据库 + AI 驱动的自优化系统
  • 期货跟单软件如何对实盘进行风控?
  • go语言封装、继承与多态:
  • 【A2A】管中窥豹,google源码python-demo介绍
  • Go语言中 源文件开头的 // +build 注释的用法
  • 母亲节祝福网页制作
  • 推荐一个很方便的浏览器管理插件Wetab插件
  • 水印云:AI赋能,让图像处理变得简单高效
  • VSCode如何解决打开html页面中文乱码的问题
  • 工业软件自主化突围:RTOS 如何打破 “协议栈 - 控制器” 生态垄断
  • 零件画图实战提升案例(上)
  • 企业高性能WEB服务器—Nginx
  • 【论文阅读】基于客户端数据子空间主角度的聚类联邦学习分布相似性高效识别
  • 深度解析动态IP业务核心场景:从技术演进到行业实践
  • 住宅IP的深度解析与合理运用
  • 探索Stream流:高效数据处理的秘密武器
  • TOGAF 企业架构介绍(4A架构)
  • [javascript]取消异步请求
  • 26考研——中央处理器_指令执行过程(5)
  • qiankun微前端任意位置子应用
  • Kubernetes调度策略深度解析:NodeSelector与NodeAffinity的正确打开方式
  • 网络安全体系架构:核心框架与关键机制解析
  • kubernetes服务自动伸缩-HPA
  • C++ 访问者模式详解
  • Redis面试题
  • 力扣26——删除有序数组中的重复项