OpenPGP js 在消息解密时返回 [object Object]

问题描述

我正在尝试使用 OpenPGP.js 中的解密函数解密消息,但返回对象上的“数据”字段仅包含 [对象对象]。我试过 JSON.stringify 但这没有任何作用。 我已经阅读了文档,它说认情况下“数据”字段应该是字符串类型。

这是我的代码

async function generateKeys(name,email) {
  const key = await openpgp.generateKey({
    userIds: { name: name,email: email },})
  return { public: key.publicKeyArmored,private: key.privateKeyArmored }
}

export async function decrypttest() {
  // Creating 2 users
  const user1 = await generateKeys('user1','user1@mail.com')
  const user2 = await generateKeys('user22','user2@mail.com')

  // Creating Key objects for both users

  // User1 Key Objects

  const user1PrivateKeyObject = await openpgp.readKey({
    armoredKey: user1.private,})
  const user1PublicKeyObject = await openpgp.readKey({
    armoredKey: user1.public,})

  //User2 Key Objects

  const user2PrivateKeyObject = await openpgp.readKey({
    armoredKey: user2.private,})
  const user2PublicKeyObject = await openpgp.readKey({
    armoredKey: user2.public,})

  // Creating Message object
  const messageObj = openpgp.Message.fromText({
    text: 'This is a message',})

  // Encrypting message with User1 private key
  const encryptedMessage = await openpgp.encrypt({
    message: messageObj,publicKeys: user2PublicKeyObject,privateKeys: user1PrivateKeyObject,})

  // Decrypting message

  // Creating Message object from armored string
  const encryptedMessageObj = await openpgp.readMessage({
    armoredMessage: encryptedMessage,})

  // Decrypting Message object with User2 Private Key Object
  const decryptedMessage = await openpgp.decrypt({
    message: encryptedMessageObj,privateKeys: user2PrivateKeyObject,})

  console.log(decryptedMessage)
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...