Я использую BouncyCastle / SmimeUtils (https://github.com/markenwerk/java-utils-mail-smime) для расшифровки зашифрованных писем. Все письма без проблем дешифруются, кроме одного от конкретного клиента.
MimeMessage decrypted = SmimeUtil.decrypt(message.getSession(), message, getSmimeKey(user);
При расшифровке писем от этого клиента я получаю следующее исключение:
Caused by: java.io.IOException: unknown tag 28 encountered
at org.bouncycastle.asn1.ASN1InputStream.buildObject(Unknown Source) ~[bcprov-jdk15on-1.56.jar:1.56.0]
at org.bouncycastle.asn1.ASN1InputStream.readObject(Unknown Source) ~[bcprov-jdk15on-1.56.jar:1.56.0]
at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source) ~[bcpkix-jdk15on-1.56.jar:1.56.0.0]
at org.bouncycastle.cms.CMSUtils.readContentInfo(Unknown Source) ~[bcpkix-jdk15on-1.56.jar:1.56.0.0]
at org.bouncycastle.cms.CMSEnvelopedData.<init>(Unknown Source) ~[bcpkix-jdk15on-1.56.jar:1.56.0.0]
Указанные электронные письма зашифрованы и подписаны. Outlook / Thunderbird может читать их успешно.