SSL证书--手动生成自签名IP证书

原文网址:SSL证书--手动生成自签名IP证书-CSDN博客

简介

本文介绍手动生成自签名SSL证书的方法。

目标:用服务器的IP生成一个SSL证书,将证书时间设置的长一些,比如:十年。

本文使用openssl生成一个10年的SSL证书。openssl一般Ubuntu或Centos都会自带,如果没自带,自行安装即可。

这样,别人直接用https://ip的形式即可访问。

1.新建证书配置文件

新建openssl.cfg,内容如下:

复制代码
[req]
distinguished_name = req_distinguished_name
req_extensions = v3_req

[req_distinguished_name]
countryName = Country Name (2 letter code)
countryName_default = CN
stateOrProvinceName = State or Province Name (full name)
stateOrProvinceName_default = GD
localityName = Locality Name (eg, city)
localityName_default = ShenZhen
organizationalUnitName  = Organizational Unit Name (eg, section)
organizationalUnitName_default  = organizationalUnitName
commonName = Internet Widgits Ltd
commonName_max  = 64

[ v3_req ]
# Extensions to add to a certificate request
basicConstraints = CA:FALSE
keyUsage = nonRepudiation, digitalSignature, keyEncipherment
subjectAltName = @alt_names

[alt_names]

# 这里可以指定域名,本处不要写域名,只写下边的ip即可!
#DNS.1 = kb.example.com
#DNS.2 = helpdesk.example.org
#DNS.3 = systems.example.net

# 改成自己的ip
IP.1 = 172.16.24.143
IP.2 = 172.16.24.85

2.生成私钥

本处生成名为test.key的私钥:

复制代码
openssl genrsa -out test.key 2048

执行完之后,会在当前目录下生成test.key文件

3.生成创建CSR文件

本处生成名为test.csr的文件:

复制代码
openssl req -new -out test.csr -key test.key -config openssl.cfg

执行后,系统会提示输入组织等信息,可以直接回车,使用默认值。也可以按提示输入,比如:

上边命令提示里有XXX ,这是默认配置,在"1.新建证书配置文件"里的openssl.cfg文件可配置。

测试CSR文件是否生成成功,可以使用下面的命令检测是否成功:

复制代码
openssl req -text -noout -in test.csr

执行后会输出下边这样的结果:

复制代码
Certificate Request:
    Data:
        Version: 1 (0x0)
        Subject: C = CN, ST = ZJ, L = HangZhou, OU = IT\C3\A9\C2\9B\C2\86\C3\A5\C2\9B\C2\A2, CN = IT
        Subject Public Key Info:
            Public Key Algorithm: rsaEncryption
                RSA Public-Key: (2048 bit)
                Modulus:
                    00:eb:41:7d:05:ec:a8:5a:e3:a6:d3:fd:88:f6:e2:
                    ff:5e:52:bf:0b:f5:a4:7b:73:3f:88:24:79:a7:6b:

4.自签名并创建证书

复制代码
openssl x509 -req -days 3650 -in test.csr -signkey test.key -out test.crt -extensions v3_req -extfile openssl.cfg

执行完之后会在当前目录生成test.crt文件。

上边生成的test.key和test.crt文件都是nginx里要使用的文件。

相关推荐
ITxiaobing202342 分钟前
自研 IP 库与 AppsFlyer 判定不一致的排查实践
网络·网络协议·tcp/ip
2501_937860941 小时前
中篇:TCP 为什么可靠又高效?滑动窗口、流量控制、拥塞控制与粘包全解析
服务器·网络·tcp/ip
刚及格的陆拾伍2 小时前
Wi-Fi核心知识精要:从频段到帧结构全解析
网络·物联网·网络协议·信息与通信·iot
xiaoye-duck2 小时前
《Linux 网络编程》深入理解 IO 多路复用:select 函数详解与 Echo 服务实战
linux·网络
xfan_me3 小时前
SSL 证书落地应用与网站安全加固
网络协议·安全·ssl
SDWAN_Cheap3 小时前
TCP滑动窗口与拥塞控制是什么?从流量控制到网络稳定性的完整解析
网络·tcp/ip·php
广东融科数据服务有限公司3 小时前
无网络仓储库房安防监控改造落地案例|离线闭环存储 + 4G 低功耗远程适配实战优化
网络·仓储改造
YumiProxy3 小时前
动态IP冲突排查实战:从ARP检测到DHCP地址池的完整链路
服务器·网络·网络协议·tcp/ip·ip
Dynadot_tech3 小时前
域名投资中的域名管理策略
网络·域名·域名注册·dynadot·域名管理
CHENKONG_CK4 小时前
RFID 赋能汽车零部件涂装产线,构建全流程数字化追溯体系
网络·人工智能·单片机·网络协议·tcp/ip·汽车