绝大部分demo和姿势都可以在nodejs官网查看到。可以多多查阅

自签名的证书生成(不推荐2333)

openssl genrsa -out server.key 2048//这是秘钥
openssl req -new -sha256 -key server.key -out csr.pem//这好像是签名请求?没在意 
openssl x509 -req -in csr.pem -signkey server.key -out cert.pem//这是证书

以下代码来自官网demo改编

https 服务器端 servers

// curl -k https://localhost:8000/const https = require('https');
const fs = require('fs');const options = {key: fs.readFileSync('./ssl/server.pem'),//这是我在ssl目录下生成的server.key改名为server.pemcert: fs.readFileSync('./ssl/cert.pem'),requestCert:true,  //请求客户端证书rejectUnauthorized:false //如果没有请求到客户端来自信任CA颁发的证书,拒绝客户端的连接
};https.createServer(options, (req, res) => {res.writeHead(200);console.log(req);console.log(typeof req);console.log(req.method);res.end('hello world\n');
}).listen(9000);console.log("server https is running 9000");

//接下来是https post请求demo 以验证证书,其实可以此时可以用浏览器访问你的端口,注意看浏览器栏,左边一般有个红色三角感叹号,那就是说有个证书,但是证书不规范233

//以下程序也来自官方demo改编

const https = require('https');
const fs = require('fs');
const querystring = require("querystring");const postData = querystring.stringify({'msg': 'Hello World!'
});const options = {hostname: '127.0.0.1',port: 9000,path: '/',method: 'POST',requestCert:true,  //请求客户端证书rejectUnauthorized: false, //不拒绝不受信任的证书headers: {'Content-Type': 'application/x-www-form-urlencoded','Content-Length': Buffer.byteLength(postData)}
};const req = https.request(options, (res) => {console.log(`STATUS: ${res.statusCode}`);console.log(`HEADERS: ${JSON.stringify(res.headers)}`);res.setEncoding('utf8');res.on('data', (chunk) => {console.log(`BODY: ${chunk}`);});res.on('end', () => {console.log('No more data in response.');});
});req.on('error', (e) => {console.error(`problem with request: ${e.message}`);
});// write data to request body
req.write(postData);
req.end();

nodejs中https和ca证书相关推荐

  1. HTTP HTTPS 创建CA证书

    目录 http 1.安装apache环境依赖 2.基本设置 3.配置主文件 4.配置完重启HTTP生效 https的实现 1.安装专门的mod_ssl模块 2.申请CA证书 3.编辑.conf配置文件 ...

  2. https及ca证书

    非对称算法个人理解主要解决两个问题,无论是https协议中用到的还是区块链交易中使用的: 1.通过私钥加密,公钥解密,证明身份,比如证明消息是由某个网站发出的: 2.通过公钥加密,私钥解密,进行安全传 ...

  3. HTTPS及CA证书详解

    https目录 HTTPS 术语解释 1. HTTP 2. SSL/TLS(Secure sockets Layer/transport layer security) 3. HTTPS 4. 对称加 ...

  4. php微信小程序项目本地调试https和CA证书问题

    项目场景: 提示:这里简述项目相关背景: 微信小程序和PHP项目本地调试 1.问题描述 "不在以下 request 合法域名列表中"导致无法进行. 解决方案: 提示:右上角详情按钮 ...

  5. Https的CA证书是如何验证其有效性的?

    一.证书作用 证书验证的过程是使用非对称加密的,客户端对服务器端发起请求,服务器返回一个证书,客户端验证这个证书的合法性,如果这个证书是合法的,那么就生成一个随机值,利用这个随机值作为对称加密的钥匙 ...

  6. 本地局域网HTTPS解决方案 CA证书

    本地局域网HTTPS访问web站点解决方案 windows平台安装mkcert linux平台安装mkcert 使用证书 windows平台安装mkcert 安装choco powershell管理员 ...

  7. Android https 自签名和CA证书验证(基于OkHttp)

    Android HTTPS自签名和CA证书验证(基于OkHttp) HTTPS介绍 CA证书 自签名证书 问题描述 域名校验 OkHttp设置 总结 HTTPS介绍 HTTPS是一种通过计算机网络进行 ...

  8. php 微信支付 ca证书,微信公众号红包接口开发PHP开发 CA证书出错,请登陆微信支付商户平台下载证书...

    微信红包接口调试过程中一直提示"CA证书出错,请登陆微信支付商户平台下载证书",经反复调试,大致解决方法如下: 1.首先确保CA证书的路径是否正确,一定得是绝对路径,因为是PHP开 ...

  9. Autosar之自签名证书与CA证书

    文章目录 一.安全传输 1.框架 2.如何实现传输安全? 3. 对称加密和非对称加密的区别? 4.伪随机数和真随机数 5.数字签名 -- 验证完整性 & 认证数据来源 6.为什么使用摘要算法的 ...

最新文章

  1. Spring Boot 工程集成全局唯一ID生成器 Vesta
  2. JavaScript的基本使用
  3. Spanning-tree Potocol(整理)
  4. html5图片自动翻转特效,CSS3带动态阴影效果的3D图片翻转特效
  5. 肖仰华 | 知识图谱研究的回顾与展望
  6. java 栈 先进后出_栈先进后出,堆先进先出
  7. 苹果手机mov文件如何复制到电脑_如何在手机上访问电脑上的文件(超详细步骤) iPhone版...
  8. [C++] - 面向对象-院校管理系统
  9. Navicat 添加唯一索引
  10. newifi3刷机 php,newifi3breed解锁新路由3刷机免解锁刷breed详细方法老毛子Padavan固件...
  11. 计算机里电子 邮件格式,邮箱格式怎么写?
  12. Thrift 入门教程【转】
  13. WebStorm下载与安装
  14. 新颖的自我介绍_新颖一分钟自我介绍4篇
  15. 如何从根本上防止服务器被攻击
  16. 操作系统------资源分配图化简
  17. 使用Excel数据分析工具进行多元线性回归分析
  18. 【夏季美女们穿的“清凉”容易引男生的狼眼】
  19. 基于JavaWeb的公司人才招聘系统 课程论文+流程图及源文件+项目源码
  20. vue+element-ui+js页面打印(打印elementui的table)

热门文章

  1. Python进行表格拆分
  2. 微信小程序学习笔记一 + 小程序介绍 前置知识
  3. 计算机专业的创意文案,高考借势广告文案又双叒叕来了,这些借势扎心了!
  4. BOOT模式选择启动、Error -6311 PRSC modulefailedtowritetoa register。
  5. Ubuntu20.04下面使用pycharm时候无法输入汉语的问题
  6. TCP编程服务器与客户端对话
  7. 多款AE字幕条模板动画
  8. 解决webbench运行时卡住的问题
  9. window.onload的使用
  10. 全国高级计算机高新技术考证合格证书能申请人才入户吗?