Hapi 安全连接
一个将自定义 CA 证书装入节点 tls.securityContext 的插件 .
安装
npm install @defra/hapi-secure-context
使用量
插件会从环境变量中装入自定义证书 . 这在注册时通过插件的选项来控制 .
注册插件
在创建服务器时应该这样做 .
import { secureContext } from '@defra/hapi-secure-context'
await server.register({
plugin: secureContext.plugin,
options: {}
})
默认情况下, 插件将尝试从任何环境变量开始加载证书 TRUSTSTORE_。 。 。 .
选项
插件选择以下选项:
- 密钥
- 前缀
密钥
设置 keys 限制插件只从列表中的环境变量加载证书 .
环境变量必须包含一个基础64编码证书.
await server.register({
plugin: secureContext.plugin,
options: { keys: ['CERT_1', 'CERT_2'] }
})
前缀
设置 prefix 覆盖默认前缀.
await server.register({
plugin: secureContext.plugin,
options: { prefix: 'MY_CUSTOM_PREFIX_' }
})
在上述例子中,它将试图加载任何以下列内容开头的环境变量: MY_CUSTOM_PREFIX_。 。 。 .
使用量
注册后,任何证书都会被添加到默认的安全Context中. 使用默认节点 tls. SecurityContext 的库会自动取取这些证书 .
插件将装饰 server 带有安全背景的物体,例如. server.secureContext。 。 。 .
如果您想要手工加载自定义证书, 插件也会装饰 server 对象为 a customCACerts 字段.
这里面有一个