You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在env文件中配置供Express项目使用的pem格式公钥与私钥

解决方案

共有两种常用方案可以实现多行pem密钥存入.env文件,最终通过process.env读取:

方案一:替换换行符直接存储

  • 第一步:将pem文件里的所有换行符替换为转义字符\n,把整个密钥内容变成单行字符串
  • 第二步:在.env文件中添加配置,注意整个密钥内容要用双引号包裹,示例如下:
pub_key="-----BEGIN PUBLIC KEY-----\nMIIBIjANBgkqhkiG9w0BAQEFAAO...此处替换为你的公钥内容...\n-----END PUBLIC KEY-----"
pri_key="-----BEGIN PRIVATE KEY-----\nMIIEvQIBADANBgkqhkiG9w0BAQE...此处替换为你的私钥内容...\n-----END PRIVATE KEY-----"
  • 第三步:如果使用dotenv包加载env配置,大部分高版本dotenv会自动解析\n为换行符,直接调用process.env.pub_key就能拿到正常的公钥内容;如果版本较低不自动解析,手动替换一次即可:
const pubKey = process.env.pub_key.replace(/\\n/g, '\n')

方案二:Base64编码存储(兼容性最好,不会出现转义字符解析问题)

  • 第一步:对pem文件内容做Base64编码,本地可以直接用命令行完成编码:
    • Linux/Mac 终端执行:base64 -w 0 你的公钥文件.pem,输出的单行字符串就是编码后的公钥内容
    • Windows cmd执行:certutil -encodehex 你的公钥文件.pem output.b64 0x40000001,打开生成的output.b64就能拿到编码后的内容
  • 第二步:把编码后的字符串直接存到.env文件中,不需要加引号:
pub_key=此处替换为你刚才生成的Base64编码公钥内容
pri_key=此处替换为你刚才生成的Base64编码私钥内容
  • 第三步:在Express代码中读取后解码即可使用:
const pubKey = Buffer.from(process.env.pub_key, 'base64').toString('utf8')
const priKey = Buffer.from(process.env.pri_key, 'base64').toString('utf8')

内容的提问来源于stack exchange,提问作者x86-64

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.04 13:36:00