我想知道下一个案例是否真实。让我们说我需要在我的java应用程序中发送邮件。我也有一个收件人的公钥。我想要做的就是用用户的公钥加密电子邮件并发送给他。我为此目的使用BouncyCastle。我只使用用户的PGP公钥加密电子邮件正文文本。算法如下:
MimeMessage message;
PGPPublicKey
PGPPublicKey
我将正文plain
文本加密为encrypted
文字message.setText(encrypted)
但问题是这封邮件不会被视为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);