需求来源于使用Node.js创建一个Websocket服务器,如果使用ws://协议则不需要证书。但出于安全考虑,通常使用wss://协议传输数据。这就要用到签名证书,通常需要从可信任的证书颁发机构获取,但是自己内部使用可以使用OpenSSL创建自签名证书。
使用OpenSSL创建自签名证书需要用到openssl.exe工具,可在这里下载(windows版本)。
创建证书步骤如下:
1. 生成私钥key文件(例: 名称为“private.key”)
openssl genrsa 1024 > private.key
若出现提示:
Generating RSA private key, 1024 bit long modulus (2 primes)
......+++++
..+++++
e is 65537 (0x010001)
表示创建成功。
此处直接使用文件名,也可使用全路径名或相对路径名。
2. 通过私钥文件生成CSR证书签名请求文件(例: 名称为“req_csr.pem”)
openssl req -new -key private.key -out req_csr.pem
此步骤会提示填写国家代码、省、市、公司、人名、邮箱等信息,可按需要填写或填入“."保持空白,或直接回车。
Country Name (2 letter code) [AU]:CN
State or Province Name (full name) [Some-State]:
Locality Name (eg, city) []:
Organization Name (eg, company) [Internet Widgits Pty Ltd]:
Organizational Unit Name (eg, section) []:
Common Name (e.g. server FQDN or YOUR name) []:
Email Address []:Please enter the following 'extra' attributes
to be sent with your certificate request
A challenge password []:
An optional company name []:
3. 通过私钥文件和CSR证书签名生成证书文件(例: 名称为“server.crt”)
openssl x509 -req -days 365 -in req_csr.pem -signkey private.key -out server.crt
提示如下信息表示签名成功:
Signature ok
subject=C = CN, ST = Some-State, O = Internet Widgits Pty Ltd
Getting Private key
大功告成!

本文详述了如何使用OpenSSL工具为内部使用创建自签名SSL证书,包括生成私钥、创建CSR请求和签名证书的步骤。适用于提高Websocket服务器的安全性,确保数据传输的加密。
5685

被折叠的 条评论
为什么被折叠?



