在前端开发中,经常需要用到证书验证,而自签名证书则是用于测试和开发过程中的一种简单的验证方式。在这里我们介绍一款 npm 包 selfsigned.js,该包可以用于生成自签名证书,方便我们测试和开发过程中的 HTTPS 请求。
安装
使用 npm 安装 selfsigned.js:
npm install selfsigned
使用
生成证书
生成自签名证书的方式非常简单,只需要引入 selfsigned 包,然后调用 selfsigned.generate([attributes], [options], [callback])
方法,并将返回的对象中的两个字段 private
和 public
分别传递给 HTTPS 服务器即可。
-- -------------------- ---- ------- ----- ---------- - ---------------------- ----- ----- - -- ----- ------------- ------ ----------- -- - ----- -------------- ------ ---- -- - ---------- ----- ------ -------- -- - ----- ------------------- ------ ------ ---- -- - ---------- ----- ------ ----- --- ----- ---- - -------------------------- - ----- --- --- ----- ------ - -------------------- ---- ------------- ----- --------- -- ----- ------------------- -- -- ------------------ ------ ------- -- ---- -----------
上述例子中根据自己项目的需求设置了几个属性,如 commonName 设置为 localhost,countryName 设置为 GB,生成的证书有效期为 365 天。
生成 CA 证书
使用官方里面的代码生成一下,可以选择生成 1024\2048\4096 的大小。
-- -------------------- ---- ------- ----- -- - ------------------------- - ----------- - - ----- ------------------- --- ---- - -- ----- --- --- ------------------------ ---------------------
生成之后即可开始签发证书了。
签发证书
如果你想生成一个证书并且值得被浏览器信任,这就需要依赖到实际中信任证书颁发机构(Certificate Authority,简称 CA)。
假设我们的 CA 证书存储在文件中,下面的代码会基于它生成完还会添加一个 SAN 条目,该条目将 sanity-check.com 添加到主要名称之外,从而进行授权:
-- -------------------- ---- ------- ----- ------ - ------------------------- - -------- ----- ----- ---- --- ---------------------------- ---------------- ---------------------------- ------------- --------------- ------- ----- -- --------- ---- ----- -- ----------- ----- ----- - -- ----- ------------- ------ ------------------ --- -------------------------- - ------------------ ----- -- ------ ----- ----- ---- -- ------ --- -- ---- --- --------- --- ------ -- --- ------ ---- ----- --- -- --- -------- -------- ---- --- --------------- ------- ----- -- ----- -- -- ----- ---- -- --- -- ----- -- ---- --- ------------- --- ---- - ------ ------------ -- --------- -- ----- - ------- -- -- -- --- ----- ---- ------ ---- --- --------- ---- ---- ----- ----- --- --- -- ----- -- ----- ----- -- --------- -- ------- -------------- -------------- -- ------ --- ---- ---- --- ------ --- ------- -------------------- ------------------- --------------- -------------------------- -- ----- ----- -- - -- ----- - ------------------------- ------- - ---------------------------- -------------- ---------------------------- ----------- ------------------------------ ------------- -------------------- --- ----- -- ----------- ------------------------ ----- -- ----------- ------------------- ---- ----- -- ------------- ---
结语
以上就是 npm 包 selfsigned.js 的使用介绍。自签名证书在测试和开发过程中是一种十分便利的验证方式,通过 selfsigned.js 包的使用,我们可以快速地生成自签名证书,方便我们测试和开发。希望以上内容可以为大家提供帮助。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/5eedab36b5cbfe1ea06106a3