gpt4 book ai didi

node.js - 尝试解密使用密码保护的私钥

转载 作者:行者123 更新时间:2023-12-04 13:10:13 25 4
gpt4 key购买 nike

我尝试使用加密 nodejs 模块。但我没有成功让它发挥作用。

import * as crypto from 'crypto';
import { RsaPrivateKey } from 'crypto';

const privateKey = crypto.privateDecrypt(rsaPrivateKey, Buffer.from('')).toString();

我得到了密码。我需要这样做,以便我可以在 AWS 中导入我的证书。有人有想法吗?

我知道我们可以在 golang 中用

if x509.IsEncryptedPEMBlock(block) {
der, wrongPass := x509.DecryptPEMBlock(block, []byte(o.passphrase))
-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,XXXXXXXXX

最佳答案

使用两个函数 crypto.createPrivateKey() 可以通过 NodeJS 的加密模块轻松解密用于导入加密 key 和 keyObject.export()用于导出未加密的 key :

crypto = require('crypto');

encryptedPkcs1 = `-----BEGIN RSA PRIVATE KEY-----
Proc-Type: 4,ENCRYPTED
DEK-Info: AES-256-CBC,B2FBBDCE627586CB04423335D9D4EC59

ekUVpHooHO3d5Ao0gTovipGK9DAP0MBXffEvBrtvcNcxhd9vaE6PsIxQPGwxnc/C
v9Y5RiClNwgZHtRol+i+QeZYLQHUQdOs3toymUgpIcN19IHyxU4C17PCWLZQpuVy
7hcD150dxkGv6Ai53QHIIl4Zybk6neBSbHpJtCnKjRMc6dNONpmFGqO/9SCmH/Bv
lHtPNZ9VsCDI67OO9fMQ3AqfpeGmCwJF8HgXf0nquQH1BJkZsYc4bq/xfGLFII0N
odWD1XEnwL4DWQ1r2wH0IvAXyVQUpwUmDeuDeeslQe9S5IERxovlFKIGsJnIrDLu
j420LLuiMjvj4Cipl91zZjlypsxCXgP7Ta8SDNNWo6yi0qAk1VbMAaeu2GsI6mn5
IUmGr0mkZsSxGFSc9614z+2aJjXEuX1jZ1q83nnZMTz0zEKu/0B6M5h+2B7kG5W1
-----END RSA PRIVATE KEY-----`

encryptedKey = crypto.createPrivateKey({
key: encryptedPkcs1,
passphrase: 'myPassword'})

decryptedKey = encryptedKey.export({
format: 'pem',
type: 'pkcs1',})

请注意,出于安全原因,如今在实践中 key 不应小于 2048 位。这里的512位 key 仅用于测试。

输出是:

-----BEGIN RSA PRIVATE KEY-----
MIIBPAIBAAJBAL2D8iI9YRKCxsqDrw9WDFddW+xD2FBx383pxiW4el8M2OangbWH
FzOf8Y8ZQiw5tfocUqTvMhOcS1gThT5zUusCAwEAAQJBAJjTO0IzPwF/ZjFPKa9z
U3ZsOcF4IIsWmUTivMAUWNImFS0XiecmhiOpdgjP4LQ5gkphcC7f9VYS6Xw4suen
ZOECIQDp3GtcMdHJzQKn4fDnmTStHeEVDoqvs2tVE/HaWoYhMQIhAM900ZGxJIxK
GYrdkGU2ETvvkyRH7JStGlj3dIJDGE7bAiEAiSIFmpRkLm+XJRbqiwRdzT3+JLjY
Plt5jvQZGC+JA6ECICzJB0TwfPdcN89mrXlsBqRtv9IhRM2D4SA7q4dDfMfpAiEA
s9/2kHpLVmtpEDyw+u4Qrgt6/xUR1B39nceE1bEBo+U=
-----END RSA PRIVATE KEY-----

关于node.js - 尝试解密使用密码保护的私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66229823/

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