2023年12月

一、安装cfssl

在github上拉取最新版本代码:https://github.com/cloudflare/cfssl.git,然后进入代码目录执行make all编译二进制。编译成功后会在当前目录下的bin/目录下生成几个二进制:

bin
├── cfssl
├── cfssl-bundle
├── cfssl-certinfo
├── cfssl-newkey
├── cfssl-scan
├── cfssljson
├── mkbundle
└── multirootca

二、生成CA

// todo

三、生成中间CA

// todo

四、生成服务器证书

填写需要生成的证书的信息:

{
  "CN": "example.com",
  "hosts": [
    "example.com",
    "www.example.com"
  ],
  "key": {
    "algo": "rsa",
    "size": 2048
  },
  "names": [
    {
      "C": "US",
      "ST": "California",
      "L": "Mountain View",
      "O": "Your Org Name",
      "OU": "Your Org Unit"
    }
  ]
}

生成csr:

./cfssl genkey certs/server.json | ./cfssljson  -bare server

签发证书:

./cfssl sign -ca certs/intermediate.crt -ca-key certs/intermediate-key.pem -config certs/rootca-config.json -profile server server.csr | ./cfssljson -bare server

参数说明:

  • -ca/-ca-key: CA证书和私钥
  • -config: 证书的配置文件,包含了一系列的证书参数,如过期时间、加密方式等等
  • -profile: 定义于config中的配置,一个config可以包含多个profile

NVM(Node Version Manager)是一个用于管理和切换不同版本Node.js的命令行工具。它允许用户在同一台计算机上轻松安装、使用和管理多个Node.js版本,从而确保开发者可以在不同项目中使用不同版本的Node.js,避免版本冲突带来的问题。

NVM的主要功能和特点包括:

  1. 安装和卸载Node.js版本:NVM允许用户快速安装和卸载Node.js的不同版本,以便在不同项目中使用。
  2. 切换Node.js版本:NVM可以轻松切换当前正在使用的Node.js版本,这对于在不同项目中使用不同Node.js版本的开发者来说非常有用。
  3. 设置默认Node.js版本:NVM允许用户设置一个默认的Node.js版本,以便在新的终端会话中自动使用。
  4. 查看已安装的Node.js版本:NVM可以列出已安装的所有Node.js版本,方便用户查看和管理。
  5. 支持自定义安装路径:NVM支持自定义Node.js的安装路径,可以根据用户需求进行配置。
  6. 无需管理员权限:NVM不需要管理员权限,用户可以在自己的用户空间内安装和管理Node.js版本。

通过NVM,开发者可以更方便地在不同版本的Node.js之间进行切换,从而提高开发效率和降低潜在的兼容性问题。以下是NVM的一些常用命令:

安装NVM

注意:需要外网环境,可以先到github.com上把Install.sh脚本内容拷贝到本地文件中

curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.38.0/install.sh | bash

或者:

curl -o- https://file.maqian.xin/scripts/nvm_install.sh | bash

安装版本

nvm install 14.17.0

切换版本

nvm use 14.17.0

设置默认版本

nvm alias default 14.17.0

查看已安装的所有版本

nvm ls

查看可用的Node.js版本

nvm ls-remote

卸载

nvm uninstall 14.17.0