npm 包 https-pem 使用教程

阅读时长 4 分钟读完

简介

HTTPS 是一种保护 Web 通信安全的协议,而 HTTPS 证书则是这种协议的重要组成部分。生成 HTTPS 证书需要使用 OpenSSL 这样的工具,但对于前端开发者来说,使用 OpenSSL 并不方便,因此有了一个开源的 npm 包:https-pem。

https-pem 是一个可以用来快速生成自签名 SSL/TLS 证书的 npm 包,同时也支持将证书和私钥导出成 PEM 格式,以便在 Node.js 和浏览器中使用。

本文将介绍如何在项目中使用 https-pem 这个 npm 包,并为读者提供一个详细的指南,使其能够轻松地生成 SSL/TLS 证书,以及将证书与私钥导出到 PEM 文件中。

安装

我们首先需要安装 https-pem 包,使用以下命令进行安装:

生成证书

接下来,让我们开始生成证书。在项目根目录下创建一个文件 generate-ssl.js,并添加以下代码:

-- -------------------- ---- -------
----- -------- - ---------------------

----- ------- - -
  ----------- ------------
  --------- --------------
  ----- ----
--

----- - ----- --- - - ------------------------------------

------------------
-----------------
展开代码

在上面的例子中,我们调用了 httpsPem.createCertificate 方法来生成证书,并将返回的 cert 和 key 打印出来。在这里,我们指定了一些选项,例如:

  • commonName:通常是你的域名。
  • altNames:除了 commonName 之外,其他可能用于访问网站的主机名或 IP 地址。
  • days:证书的有效期限。

执行以下命令:

你应该可以看到类似以下输出:

PEM 导出

有了证书和私钥之后,我们可以将它们导出到 PEM 格式文件中。在项目根目录下创建一个文件 export-pem.js,并添加以下代码:

-- -------------------- ---- -------
----- -------- - ---------------------
----- -- - --------------

----- ------- - -
  ----------- ------------
  --------- --------------
  ----- ----
--

----- - ----- --- - - ------------------------------------

----------------------------------- ------
---------------------------------- -----
展开代码

在上面的例子中,我们使用 fs 模块将证书和私钥分别写入到两个 PEM 文件中。现在,在项目根目录下应该会出现两个文件:server.cert.pemserver.key.pem

使用 PEM 文件

最后,我们可以将 PEM 文件用在 Node.js 或浏览器中。在 Node.js 中,你可以这样做:

-- -------------------- ---- -------
----- ----- - -----------------
----- -- - --------------

----- ------- - -
  ---- ----------------------------------
  ----- -----------------------------------
--

--------------------------- ----- ---- -- -
  -------------------
  -------------- ----------
----------------
展开代码

在浏览器中,你可以使用 window.crypto.subtle API 来加载证书和

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/47950

纠错
反馈

纠错反馈