gpt4 book ai didi

node.js - 从nodejs中的证书获取公钥

转载 作者:太空宇宙 更新时间:2023-11-03 13:33:02 24 4
gpt4 key购买 nike

我需要从服务器的 SSL 证书中获取服务器的公钥。我得到的证书如下:

https.request(options, res => {
const cert = res.connection.getPeerCertificate();
const publicKey = cert.????()
}

不过我找不到从证书中获取公钥的方法。有没有图书馆可以做到这一点?

我希望使用公钥来加密一些数据:

const encryptedBuffer =  crypto.publicEncrypt({
key: publicKey,
padding: crypto.constants.RSA_PKCS1_PADDING
}, utf8Payload)

我看到证书有一个“原始”缓冲区,但将其用作公钥失败。

最佳答案

-----BEGIN CERTIFICATE-----
MIID3DCCAsSgAwIBAgIUOaZ5jqRgBz4HjwilIbDz5+Polh0wDQYJKoZIhvcNAQEL
BQAwXjELMAkGA1UEBhMCQ04xEzARBgNVBAoTClRlbnBheS5jb20xHTAbBgNVBAsT
.....
C1c3RqArBaz/c4SqHhyKaHRFinDs5kjnAz+H4+QvQAH0UXgHG050YEZjeZPXMRJB
4I0fzGC++82WXhcwSPaX+BJZuv2bEIfxbyxdVanGmIJdYsGFwSc9sIf2j1cK22A5
vdboEXXkQnqF552iNy9HGRubNQ1VkqITELToRcqcvAo=
-----END CERTIFICATE-----

如果证书的格式如上,可以用crypto模块来完成。不依赖于其他包。

crypto.createPublicKey(cert).export({type:'spki', format:'pem'})

output format:
-----BEGIN PUBLIC KEY-----
..........................
-----END PUBLIC KEY-----

crypto.createPublicKey(cert).export({type:'pkcs1', format:'pem'})

output format:
-----BEGIN RSA PUBLIC KEY-----
..............................
-----END RSA PUBLIC KEY-----

see more on the document

关于node.js - 从nodejs中的证书获取公钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48872869/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com