Есть зашифрованный файл в формате DER. Надо его просто засунуть в тело письма, закодировав в base64
messageBodyPart = new MimeBodyPart();
source = new FileDataSource(step4_path);
//System.out.println(source.getContentType());
messageBodyPart.setDataHandler(new DataHandler(source, "application/pkcs7-mime"));
messageBodyPart.setHeader("Content-Type", "application/pkcs7-mime; smime-type=\"enveloped-data\"; name=\"smime.p7m\"");
messageBodyPart.setHeader("Content-Transfer-Encoding", "base64");
messageBodyPart.setFileName("smime.p7m");
message.setContent(messageBodyPart.getContent(), messageBodyPart.getContentType());
ошибка:
Exception in thread "main" javax.activation.UnsupportedDataTypeException: no object DCH for MIME type application/pkcs7-mime; smime-type=enveloped-data;
name=smime.p7m
at javax.activation.ObjectDataContentHandler.writeTo(Unknown Source)
at javax.activation.DataHandler.writeTo(Unknown Source)
at javax.mail.internet.MimeBodyPart.writeTo(MimeBodyPart.java:1476)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1772)
at javax.mail.internet.MimeMessage.writeTo(MimeMessage.java:1748)
at org.aaa.Main.main(Main.java:197)
Какой хэндлер ему подсунуть? Спасибо.