国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務器

這篇具有很好參考價值的文章主要介紹了mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務器。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

注意

mac 自帶 openssl 所以沒必要像 windows 一樣先安裝 openssl,直接生成即可

生成 ssl/自簽名 證書

生成 key

# 生成rsa私鑰,des3算法,server_ssl.key是秘鑰文件名 1024位強度
openssl genrsa -des3 -out server_ssl.key 1024

讓輸入兩次密碼,隨便,但是兩次得是一樣的

移除密碼

# 這里執(zhí)行完上一步的密碼即已經被移除了
openssl rsa -in server_ssl.key -out server_ssl.key

生成 csr

# -new 執(zhí)行生成新的證書請求
# -key 指定密鑰
openssl req -new -key server_ssl.key -out server_ssl.csr
  • Country Name (2 letter code) [國家]:CN

  • State or Province Name (full name) [省份]:Beijing

  • Locality Name (eg, city) [城市]:Beijing

  • Organization Name (eg, company) [組織/公司]:zgp

  • Organizational Unit Name (eg, section) [部門/單位]:zgp

  • Common Name (eg, fully qualified host name) [域名]:test.zgp.cn

  • Email Address [郵箱]:demo@outlook.com

  • Please enter the following ‘extra’ attributes
    to be sent with your certificate request
    A challenge password [上一步已經移除,直接回車即可]:

生成證書

# x509 根據現有的證書請求生成自簽名根證書
# -days 設置證書的有效天數
# -in 指定輸入證書請求文件
openssl x509 -req -days 365 -in server_ssl.csr -signkey server_ssl.key -out server_ssl.crt

執(zhí)行過程截圖

mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務器,nodejs,https,macos,ssl,express,websocket,node.js

創(chuàng)建 nodejs 的 https/wss 服務

創(chuàng)建 express 項目就不多說了,自行查看:nodejs+express自動生成項目
express 文檔地址https://www.expressjs.com.cn/starter/generator.html

修改的 bin/www 文件

#!/usr/bin/env node

/**
 * Module dependencies.
 */

var app = require('../app');
var debug = require('debug')('express-io:server');
const fs = require('fs');
const path = require('path');
// var http = require('http');
var https = require('https');
// 引入 socket.io
const { Server } = require('socket.io')
/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3001');
app.set('port', port);

/**
 * Create HTTPS server.
 * 加上 ssl 證書
 */
const httpsOption = {
  key: fs.readFileSync(path.resolve(__dirname, "../certificate/server_ssl.key")),
  cert: fs.readFileSync(path.resolve(__dirname, "../certificate/server_ssl.crt"))
}
var server = https.createServer(httpsOption, app);
// 創(chuàng)建 websocket 服務器代碼
const io = new Server(server, {
        cors: {
            origin: "*"
        }
    });
    // 客戶端連接成功會輸出連接 id 以及 客戶端傳慘 query
    io.on('connection', (socket)=>{
        console.log(socket.id)
        console.log(socket.handshake.query)
    })
/**
 * Listen on provided port, on all network interfaces.
 */

server.listen(port, () => {
  console.log(`server listening on port: ${port}`)
});
server.on('error', onError);
server.on('listening', onListening);

/**
 * Normalize a port into a number, string, or false.
 */

function normalizePort(val) {
  var port = parseInt(val, 10);

  if (isNaN(port)) {
    // named pipe
    return val;
  }

  if (port >= 0) {
    // port number
    return port;
  }

  return false;
}

/**
 * Event listener for HTTP server "error" event.
 */

function onError(error) {
  if (error.syscall !== 'listen') {
    throw error;
  }

  var bind = typeof port === 'string'
    ? 'Pipe ' + port
    : 'Port ' + port;

  // handle specific listen errors with friendly messages
  switch (error.code) {
    case 'EACCES':
      console.error(bind + ' requires elevated privileges');
      process.exit(1);
      break;
    case 'EADDRINUSE':
      console.error(bind + ' is already in use');
      process.exit(1);
      break;
    default:
      throw error;
  }
}

/**
 * Event listener for HTTP server "listening" event.
 */

function onListening() {
  var addr = server.address();
  var bind = typeof addr === 'string'
    ? 'pipe ' + addr
    : 'port ' + addr.port;
  debug('Listening on ' + bind);
}

創(chuàng)建個客戶端測試

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.socket.io/4.4.1/socket.io.min.js" integrity="sha384-fKnu0iswBIqkjxrhQCTZ7qlLHOFEgNkRmK2vaO/LbTZSXdJfAu6ewRBdwHPhBo/H" crossorigin="anonymous"></script>
    <title>Document</title>
</head>
<body>
    <script>
        (()=>{
           const socket = io('wss://localhost:3001', {
                autoConnect: false,
                query: {
                    openid: 'sajfklsadjflkdsa'
                }
           })
           socket.connect()
           socket.on("connect", ()=>{
            console.log(socket.id)
           })
           socket.io.on('close', ()=>{
            console.log('close');
           })
        })()
    </script>
</body>
</html>

mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務器,nodejs,https,macos,ssl,express,websocket,node.js

mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務器,nodejs,https,macos,ssl,express,websocket,node.js文章來源地址http://www.zghlxwxcb.cn/news/detail-698515.html

到了這里,關于mac制作ssl證書|生成自簽名證書,nodejs+express在mac上搭建https+wss(websocket)服務器的文章就介紹完了。如果您還想了解更多內容,請在右上角搜索TOY模板網以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網!

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。如若轉載,請注明出處: 如若內容造成侵權/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • Nginx實現自簽名SSL證書生成與配置

    Nginx實現自簽名SSL證書生成與配置

    目錄 一、Nginx實現自簽名SSL證書生成與配置 1、名詞介紹 2、生成私鑰 3、生成公鑰 4、生成解密的私鑰key? 5、簽名生成證書 6、配置證書并驗證 7、加密私鑰的報錯 1、名詞介紹 ①key 私鑰? = 明文--自己生成(genrsa ) ②csr 公鑰? = 由私鑰生成 ③crt? 證書? = 公鑰 + 簽名(自簽

    2024年02月15日
    瀏覽(19)
  • 安卓APP證書Android簽名證書.keystore文件制作生成

    安卓APP證書Android簽名證書.keystore文件制作生成

    將app發(fā)布到應用寶時,而上傳安裝包時提示如下圖時, 但您或您的團隊從未上傳該應用,您可以通過認領功能認領應用。認領成功后該應用會自動轉入您的賬戶下,同時保留應用全部數據,您可以在應用管理中進行管理。 1.點擊認領應用 ,確認需認領應用的包名是否是你的

    2024年02月02日
    瀏覽(24)
  • Nginx中實現自簽名SSL證書生成與配置

    Nginx中實現自簽名SSL證書生成與配置

    (1)生成私鑰(Private Key):使用 OpenSSL 工具生成一個私鑰文件,用于加密和解密傳輸的數據。 (2)生成證書簽名請求(Certificate Signing Request,CSR):使用 OpenSSL 工具生成一個 CSR 文件,其中包含你的服務器公鑰和相關的信息,以便用于生成證書。 (3)自簽名證書生成:使

    2024年02月09日
    瀏覽(17)
  • 可運營的SSL證書在線生成系統(tǒng)源碼,附帶圖文搭建教程

    可運營的SSL證書在線生成系統(tǒng)源碼,附帶圖文搭建教程

    安裝教程 運行環(huán)境 PHP8.0.2-8.2最好選用8.0 Nginx1.22.1版本 Mysql5.7 偽靜態(tài)設置為Thinkphp 后臺賬號admin ??密碼123456 系統(tǒng)使用API申請地址:https://www.sslprogen.com/

    2024年01月20日
    瀏覽(96)
  • 自簽名免費(SSL)私有證書

    自簽名免費(SSL)私有證書

    注意: 執(zhí)行后需要輸入密碼,然后依次輸入國家,地區(qū),城市,組織,組織單位,Common Name和Email。其中Common Name,可以寫自己的名字或者域名,如果要支持https,Common Name應該與域名保持一致,否則會引起瀏覽器警告。 注意: 生成rsa私鑰,des3算法,2048位強度,server.key是秘鑰

    2024年02月08日
    瀏覽(15)
  • 理解HTTPS/TLS/SSL(一)基礎概念+配置本地自簽名證書

    理解HTTPS/TLS/SSL(一)基礎概念+配置本地自簽名證書

    對于HTTPS、TLS、SSL相關的概念,平時也是時常接觸到??催^幾篇文章之后,總以為自己真正了解了,實際上并沒有,準備補充一下這一部分的基礎知識,對于更深層次的東西,例如各種標準的解讀,則不打算深入。 我們都知道HTTP是不安全的,以及為什么不安全。但是為了更直

    2024年02月11日
    瀏覽(20)
  • 安卓App生成簽名證書,uniapp生成自有證書打包

    安卓App生成簽名證書,uniapp生成自有證書打包

    uniapp安卓打包生成自有證書,簽名。從HBuilderX3.2.0及以上版本開始支持服務器生成證書(推薦這種方法),服務器生成一鍵操作,比較簡單。自己一步一步操作相對還是比較麻煩的。 服務器生成的證書綁定應用appid,即每個appid會各自生成證書 服務器生成的證書會自動填寫證

    2023年04月08日
    瀏覽(25)
  • 【密碼學】使用mkcert安裝CA、自簽名ssl證書,配置nginx的https 證書筆記

    【密碼學】使用mkcert安裝CA、自簽名ssl證書,配置nginx的https 證書筆記

    CA(Certificate Authority,證書授權)是由認證機構服務者簽發(fā),是數字簽名的技術基礎保障,也是網上實體身份的證明,能夠證明某一實體的身份及其公鑰的合法性,證明該實體與公鑰二者之間的匹配關系。 在電子商務系統(tǒng)中,所有實體的證書都是由證書授權中心即CA中心頒發(fā)并簽

    2024年02月03日
    瀏覽(30)
  • 【SSL】ssl證書簡介、ssl證書生成工具與ssl證書生成步驟

    【SSL】ssl證書簡介、ssl證書生成工具與ssl證書生成步驟

    SSL證書是數字證書的一種,類似于駕駛證、護照和營業(yè)執(zhí)照的電子副本。因為配置在服務器上,也稱為SSL服務器證書。 SSL證書就是遵守 SSL協議,由受信任的數字證書頒發(fā)機構CA,在驗證服務器身份后頒發(fā),具有服務器身份驗證和數據傳輸加密功能。 SSL證書通過在客戶端瀏覽

    2024年02月10日
    瀏覽(19)
  • Android中使用Webview SSL 自簽名CA證書安全校驗方案

    前言:? ? ? ????????因為我們的項目是Android + H5,之前的做法是把H5所需要的資源和html下載到本地這樣證書校驗不會走系統(tǒng)瀏覽器層只需要項目中預埋根證書就可以了,但是如果 用webview加載線上的域名自簽名證書就會走系統(tǒng)級校驗在onReceivedSslError中返回ssl證書不受信,

    2024年02月13日
    瀏覽(41)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包