使用PGP基于收件人公钥

时间:2017-11-22 16:31:20

标签: java encryption javamail bouncycastle pgp

我想知道下一个案例是否真实。让我们说我需要在我的java应用程序中发送邮件。我也有一个收件人的公钥。我想要做的就是用用户的公钥加密电子邮件并发送给他。我为此目的使用BouncyCastle。我只使用用户的PGP公钥加密电子邮件正文文本。算法如下:

  1. 用户提供他的pgp公钥作为文本
  2. 我创建了MimeMessage message;
  3. 在BouncyCastle的帮助下,我解析了PGPPublicKey
  4. 使用PGPPublicKey我将正文plain文本加密为encrypted文字
  5. 制作message.setText(encrypted)
  6. 但问题是这封邮件不会被视为PGP加密邮件(我已经使用Thunderbird进行过测试),而且用户无法解密已加密的电子邮件'文本。好像我没有足够的知识来完成这项任务。有人能帮助我吗?

    更新

    我在加密电子邮件内容时做了类似的事情(我使用Spring邮件客户端)

    MimeMessage message = mailSender.createMimeMessage();
    MimeMessageHelper helper = new MimeMessageHelper(message, false, "utf-8");
    helper.setTo("recepient's email here");
    helper.setSubject("hello");
    message.setContent(MyPGPUtil.encryptMessageWithPGPKey("very important message to encrypt", "recipient's public key as string"), "text/plain");
    mailSender.send(message);
    

    在收件人方面,我收到了如下图所示的信息 thunderbird

0 个答案:

没有答案