在银河麒麟系统上可用OpenSSL快速生成自签名HTTPS证书:先确认openssl version -a正常,再执行openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 3650 -out server.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=Kylin Internal/CN=localhost",最后用openssl x509 -in server.crt -text -noout验证CN、Issuer和有效期。

在银河麒麟操作系统上为内部服务快速启用HTTPS加密,最直接的方式就是生成一张自签名证书,无需依赖外部CA,适用于测试环境、内网API或开发调试场景。
确认OpenSSL已安装并检查版本
打开终端,执行命令验证基础环境是否就绪:
openssl version -a
若提示 command not found,说明OpenSSL未安装,需先运行:
sudo yum install -y openssl
银河麒麟V10 SP3默认预装OpenSSL 1.1.1k,该版本完全支持RSA和SM2算法,但自签名场景下使用RSA更通用、兼容性更好。注意:【不要强行升级到3.x系列,否则req命令参数不兼容,-x509模式会报错】。
创建证书存储目录并初始化结构
按OpenSSL CA标准布局准备路径,避免后续配置混乱:
sudo mkdir -p /etc/pki/CA/{private,newcerts,crl} && sudo touch /etc/pki/CA/index.txt && echo 1000 | sudo tee /etc/pki/CA/serial
这一步不是必须的——因为自签名不走CA签发流程,但提前建好能防止某些脚本或Nginx配置误读路径。如果你只生成单张证书且不打算扩展为私有CA,可跳过此步,直接进下一步。
生成自签名证书(单命令完成)
执行以下命令一次性生成密钥和证书文件:
openssl req -newkey rsa:2048 -nodes -keyout server.key -x509 -days 3650 -out server.crt -subj "/C=CN/ST=Beijing/L=Beijing/O=Kylin Internal/CN=localhost"
其中 -days 3650 设为10年有效期,适合内网长期使用;/CN=localhost 是证书主体名,如需绑定具体域名或IP,请将 localhost 替换为你的目标地址(例如 CN=api.internal 或 CN=192.168.10.5)。
生成后,server.key 和 server.crt 就在当前目录下,可立即用于Nginx、Apache或Java服务。
验证证书内容是否符合预期
用以下命令查看证书关键信息:
openssl x509 -in server.crt -text -noout | grep -E "(Subject|Issuer|Not Before|Not After|Public-Key)"
重点核对三项:Subject 中 CN 值是否为你设置的主机名或IP;Issuer 是否与 Subject 完全一致(自签名特征);Not After 时间是否为你指定的有效期终点。如果 CN 是 IP 地址,部分浏览器会警告“证书不匹配”,这是正常现象,不影响curl或后端服务调用。











