Windows 下 openssl 生成服务端证书 server.key 与 server.crt

it2025-01-14  5

Key是私用秘钥,通常是RSA算法

csr是证书请求文件,用于申请证书。在制作csr文件时,必须使用自己的私钥来签署申,还可以设定一个密钥。

crt是CA认证后的证书文,签署人用自己的key给你签署凭证。

1) 添加配置文件(openssl.cnf)的环境变量:OPENSSL_CONF

配置文件可从OpenSSL解压后根目录下的apps目录下拷贝,再自行修改配置。也可以在openssl命令中用-config指定配置文件的位置。这个openssl.cnf用于openssl命令程序读取某些缺省配置。

set OPENSSL_CONF=<openssl dir>\openssl.cnf

2)生成 key

openssl genrsa -out server.key 2048

这样是生成RSA密钥,openssl格式,2048位强度。server.key 是密钥文件名。也可以将2048改写为1024。

3) 生成csr 证书请求文件

openssl req -new -key server.key  -out  server.csr

需要依次输入国家,地区,组织,email。 最重要的是有一个common name,可以写你的名字或者域名。 如果为了https申请,这个必须和域名吻合,最好填写IP地址,否则会引发浏览器警报。生成的csr文件将给CA签名后形成服务端自己的证书。

Country Name (2 letter code) [AU]:CN State or Province Name (full name) [Some-State]:Beijing Locality Name (eg, city) []:Handian Organization Name (eg, company) [Internet Widgits Pty Ltd]:hxsoft Organizational Unit Name (eg, section) []:develop Common Name (eg, YOUR name) []:192.168.1.100 如果用于https,一定要用域名或者服务器的IP地址 Email Address []:mymail@yourmail.com

4) 自签署证书--生成cert

openssl x509 -req -in server.csr -signkey server.key -out server.crt -days 3650

生成的server.crt文件就是证书文件,这个文件需要与第二步生成的server.key文件一起用

5)将证书导出成浏览器支持的.p12格式

openssl pkcs12 -export -clcerts -in server.crt -inkey server.key -out server.p12

如果是Nginx,将以上生成的 server.key与server.crt复制到证书相关目录下即可。

 

 

最新回复(0)