首页 > 解决方案 > 如何使用 node.js 从 .cer 文件中提取公钥?

问题描述

我有一个包含实体公钥的 .cer 文件,要向我需要使用此公钥(RSA 算法)加密会话密钥的实体发出请求。如何从 .cer 文件中获取要在此处使用的公钥?

const encrypted = crypto.publicEncrypt(publicKey, buffer)

标签: node.jsopensslcryptographycryptojs

解决方案


CER 文件用于存储 X.509 证书。该文件包含有关证书所有者和公钥的信息。CER 文件可以是二进制 (ASN.1 DER) 或使用 Base-64 编码

公钥将在一个块中(如果是 base64,则在解码后)

-----BEGIN PUBLIC KEY-----
MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCsM+whXrxmbCkPfkwY2EehYpIp
*blah blah blah blah*
-----END PUBLIC KEY-----

使用模块打开文件fs并解码是否已使用 base64 编码。然后你可以拆分整个字符串,-----这将为你提供一个数组,其第二个元素将成为键。


推荐阅读