【发布时间】:2021-10-27 05:53:59
【问题描述】:
我正在尝试使用 Node.js 包 openPGP 解密使用 GnuPG 2.2.28 加密的文件,但我什至似乎无法加载私钥开始,并且出现以下错误:
{
"errorType": "Runtime.UnhandledPromiseRejection",
"errorMessage": "Error: Misformed armored text",
"trace": [
"Runtime.UnhandledPromiseRejection: Error: Misformed armored text",
" at process.<anonymous> (/var/runtime/index.js:35:15)",
" at process.emit (events.js:314:20)",
" at process.EventEmitter.emit (domain.js:483:12)",
" at processPromiseRejections (internal/process/promises.js:209:33)",
" at processTicksAndRejections (internal/process/task_queues.js:98:32)"
]
}
在我的代码中,看起来我已经正确提供了装甲钥匙,使用反引号将钥匙括起来:
const openpgp = require('openpgp');
async() => {
try {
const passphrase = `changeit`;
const priv_key = `-----BEGIN PGP PRIVATE KEY BLOCK-----
lQPGBGEcehABCAC2/ws+pKo/9DB2JgQI3IXUXtj666KfHiFF2GjfEY5FvWIqm7Cq
MneNHyp+HfgjI6L0C1UAhUtUZaHFpKYfCbKoXH4Odwvor8f1RaxA7/IdvY+JJdx2
2tv/ZJdAP35XXRp0XrHPQIyEnTlvWPTPNFKb3kRaEFJnJfbCGSfocSWq9mrPc1J3
...
-----END PGP PRIVATE KEY BLOCK-----`;
const privateKey = await openpgp.decryptKey({
privateKey: await openpgp.readPrivateKey({
armoredKey: priv_key
}),
passphrase
});
} catch (e) {
console.log("ERROR: Unexpected error in PGP decryption", e.stack);
}
//...
}
有没有其他人遇到过类似的问题?
【问题讨论】: