快速自签名证书
跳转到“快速自签名证书”# 1.genrsa私钥文件(private.key)openssl genrsa -out private.key 2048# -out private.key: 指定输出文件名,存储生成的RSA私钥# 2048: 私钥的位大小,这里使用2048位长度,增强安全性
# 2.根据私钥生成证书签名请求文件(Certificate Signing Request,简称CSR文件)openssl req -new -key private.key -out cert.csr# -new: 创建一个新的CSR# -key private.key: 使用指定的私钥文件生成CSR。这里使用上一步生成的私钥# -out cert.csr: 指定输出的CSR文件名
# 3.使用私钥对证书申请进行签名从而生成证书文件(pem文件)openssl x509 -req -in cert.csr -out cacert.pem -signkey private.key# -req: 表示输入的是一个CSR文件# -in cert.csr: 指定输入的CSR文件名# -out cacert.pem: 指定输出的证书文件名,这里生成的是一个PEM格式的证书文件# -signkey private.key: 使用这个私钥对CSR文件进行签名在 Windows 环境下,你仍然可以使用 OpenSSL 来生成私钥和 CSR(证书签名请求),尽管这可能需要你先下载和安装 OpenSSL。一旦安装了 OpenSSL,你可以按照以下步骤操作:
安装 OpenSSL
- 下载 OpenSSL:访问OpenSSL 官网或一个提供预编译 Windows 版本的网站,如SLProweb。Win32/Win64 OpenSSL Installer for Windows - Shining Light Productions (slproweb.com)
- 安装 OpenSSL:下载适合你系统的版本(32 位或 64 位),并按照安装程序指示完成安装。
生成私钥和 CSR
-
打开命令提示符(CMD)。
-
转到 OpenSSL 的 bin 目录,例如,如果你安装在
C:\OpenSSL-Win64,输入:终端窗口 cd C:\OpenSSL-Win64\bin -
使用以下命令生成私钥和 CSR:
终端窗口 openssl req -new -newkey rsa:2048 -nodes -keyout jes.cn.key -out jes.cn.csr这将在当前目录下创建一个名为
jes.cn.key的私钥文件和一个名为jes.cn.csr的 CSR 文件。
提交 CSR 并获取 SSL 证书
将jes.cn.csr文件内容提交给你选择的证书颁发机构(CA)。完成验证过程后,CA 将提供 SSL 证书(通常是.crt或.pem文件)和中间证书(如果适用)。
配置 Apache 使用 SSL 证书和私钥
-
将你从 CA 获得的证书和中间证书(如果有的话)保存到服务器上的某个目录,例如
C:\Apache24\conf\。 -
编辑 Apache 的 SSL 配置文件(通常是
conf\extra\httpd-ssl.conf),设置SSLCertificateFile、SSLCertificateKeyFile和SSLCertificateChainFile(如果需要)指向相应的文件:SSLCertificateFile "C:/Apache24/conf/jes.cn.crt"SSLCertificateKeyFile "C:/Apache24/conf/jes.cn.key"SSLCertificateChainFile "C:/Apache24/conf/ca_bundle.crt" -
保存配置文件并重启 Apache 服务。
在 Windows 上,你可以通过服务管理器找到 Apache 服务并重启,或使用命令行:
终端窗口 httpd -k restart
确保你的防火墙和安全组设置允许 HTTPS(端口 443)的流量。这样,你的网站就可以通过 HTTPS 安全地提供服务了。
Openssl 如何生成证书
一、生成 CA 证书
目前不使用第三方权威机构的 CA 来认证,自己充当 CA 的角色。
网上下载一个 openssl 软件
# 一、生成CA证书# 1.创建私钥 :openssl genrsa -out jscn-key.pem 1024
# 2.创建证书请求 :openssl req -new -out jscn-req.csr -key jscn-key.pem
>> Country Name (2 letter code) [AU]:cn>> State or Province Name (full name) [Some-State]:zhejiang>> Locality Name (eg, city) []:hangzhou>> Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision>> Organizational Unit Name (eg, section) []:test>> Common Name (eg, YOUR name) []:root>> Email Address []:sky
# 3.自签署证书 :openssl x509 -req -in jscn-req.csr -out jscn-cert.pem -signkey jscn-key.pem -days 3650
# 4.将证书导出成浏览器支持的.p12格式 :openssl pkcs12 -export -clcerts -in jscn-cert.pem -inkey jscn-key.pem -out jscn.p12# 密码:changeit
# 二、生成server证书# 1.创建私钥 :openssl genrsa -out server/server-key.pem 1024
# 2.创建证书请求 :openssl req -new -out server/server-req.csr -key server/server-key.pem
>> Country Name (2 letter code) [AU]:cn>> State or Province Name (full name) [Some-State]:zhejiang>> Locality Name (eg, city) []:hangzhou>> Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision>> Organizational Unit Name (eg, section) []:test>> Common Name (eg, YOUR name) []:192.168.1.246 注释:一定要写服务器所在的ip地址>> Email Address []:sky
# 3.自签署证书 :openssl x509 -req -in server/server-req.csr -out server/server-cert.pem -signkey server/server-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
# 4.将证书导出成浏览器支持的.p12格式 :openssl pkcs12 -export -clcerts -in server/server-cert.pem -inkey server/server-key.pem -out server/server.p12密码:changeit
# 三、生成client证书# 1.创建私钥 :openssl genrsa -out client/client-key.pem 1024
# 2.创建证书请求 :openssl req -new -out client/client-req.csr -key client/client-key.pem
>> Country Name (2 letter code) [AU]:cn>> State or Province Name (full name) [Some-State]:zhejiang>> Locality Name (eg, city) []:hangzhou>> Organization Name (eg, company) [Internet Widgits Pty Ltd]:skyvision>> Organizational Unit Name (eg, section) []:test>> Common Name (eg, YOUR name) []:sky>> Email Address []:sky 注释:就是登入中心的用户名>> Please enter the following ‘extra’ attributes>> to be sent with your certificate request>> A challenge password []:123456>> An optional company name []:tsing
# 3.自签署证书 :openssl x509 -req -in client/client-req.csr -out client/client-cert.pem -signkey client/client-key.pem -CA ca/ca-cert.pem -CAkey ca/ca-key.pem -CAcreateserial -days 3650
# 4.将证书导出成浏览器支持的.p12格式 :openssl pkcs12 -export -clcerts -in client/client-cert.pem -inkey client/client-key.pem -out client/client.p12密码:changeit