使用openSSL构造一个支持https的nodejs服务器-阿里云开发者社区

开发者社区> 努力滴码农> 正文

使用openSSL构造一个支持https的nodejs服务器

简介: 使用openSSL构造一个支持https的nodejs服务器
+关注继续查看

首先通过下面的链接下载openSSL

https://slproweb.com/products/Win32OpenSSL.html


下载完毕后,执行openssl进入交互式界面:



使用命令生成privatekey.pem 1024意思是1024位长度。


openssl genrsa -out privatekey.pem 1024



生成的privatekey.pem,打开看一看长啥样:




什么是pem文件?


.pem - Defined in RFCs 1421 through 1424, this is a container format that may include just the public certificate (such as with Apache installs, and CA certificate files /etc/ssl/certs), or may include an entire certificate chain including public key, private key, and root certificates. Confusingly, it may also encode a CSR (e.g. as used here) as the PKCS10 format can be translated into PEM. The name is from Privacy Enhanced Mail (PEM), a failed method for secure email but the container format it used lives on, and is a base64 translation of the x509 ASN.1 keys.


简单的说,就是一个密钥文件。


第二步,基于第一步生成的密钥文件生成一个证书请求:

openssl req -new -key privatekey.pem -out certrequest.csr



如果懒得维护证书明细,直接敲回车,会自动填入默认值:



最后基于第一步生成的密钥和证书请求生成一个数字证书:当然颁发机构就是自己了,仅用于测试目的。

openssl x509 -req -in certrequest.csr -signkey privatekey.pem -out certificate.pem



至此我们有了privatekey.pem和Certificate.pem两个证书了。


下面是我https服务器的代码,很简单,只有50几行:

image.pngimage.png从代码里不难理解这两个pem文件是如何用在https服务器里的。

最后在浏览器里测试。因为是自己颁发的证书,没有经过CA验证,所以浏览器会显示一个警告。

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
使用Nginx反向代理和proxy_cache缓存搭建CDN服务器加快Web访问速度
碰到问题:移动用户访问web服务器www.osyunwei.com很慢解决办法:1、在移动机房放置一台nginx反向代理服务器2、通过域名DNS智能解析,所有移动用户访问www.osyunwei.com时解析到nginx反向代理服务器3、nginx反向代理服务器与web服务器之间采用专线连接系统运维  www.
1637 0
教你如何使用阿里云云服务器搭建https的网站
所需材料: 域名1个。 虚拟机或者云服务器1台。 ssl证书1个。 前提准备: 域名最好要备案,在国内使用比较方便。 推荐使用阿里云服务器。 ECS为Linux系统,安装的是宝塔控制面板 阿里云可以免费申请ssl证书。
1223 0
基于Python3.X/阿里云云解析API运用于树梅派做家庭服务器的DDNS服务,使用ThreadTimer和sh服务
基于Python3.X/阿里云云解析API运用于树梅派做家庭服务器的DDNS服务 加入配置管理/日志管理/外网出口IP模块 本项目主要用于学习研究Python在linux下定时任务及将脚本注册成系统服务 本项目将呈现开箱即用的程度,满足广大树梅派爱好者基本所需 本项目依赖的库请自行安装 sudo .
3465 0
在vc6上使用OpenSSL进行编程
在VC6上如何使用已经编译好的OpenSSL呢。 1. 首先就是要拿到两个动态链接库文件。 将OpenSSL编译完成后,在*\openssl\out32dll文件夹下会得到两个dll文件:ssleay32.dll和llibeay32.dll,这两个文件就是在release产品时需要“随身携带”的。
553 0
Linux(1)——在Linux下安装Nodejs(详细教程,包会),并成功创建一个简单的服务器
操作系统: CentOS 6.5 64位,用的阿里云的ECS里最便宜的(但还是好贵啊!)   【0】下载 https://nodejs.org/en/download/ nodejs的官网, 我下的是64位。   文件的上传:上传到服务器的话,我是用ftp,对于我这种新手来说,用ftp来处理文件的转移/复制/粘贴最方便了。 如果是虚拟机的话,我不太清楚,反正感觉li
3912 0
2497
文章
0
问答
来源圈子
更多
+ 订阅
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载