В настоящее время я пытаюсь создать CMSSignedData
, используя только данные сертификата и подписанные данные, которые генерируются из внешнего программного обеспечения (поэтому у меня нет доступа к закрытому ключу и генерация подписи прозрачна для меня). Мне нужно, чтобы кодированные данные добавляли его к содержимому подписи SMIME
.Генерировать CMSSignedData без личного ключа в JAVA
Поиск в Интернете Я выясню решение с BouncyCastle
, которое использует закрытый ключ и данные для подписки, чтобы получить CMSSignedData
. Но это не касается моей проблемы, потому что у меня нет доступа к закрытому ключу, и подпись уже создана.
Есть ли способ создать объект CMS, используя только данные сертификата, открытый ключ и ранее сгенерированную подпись?
Любой подход или библиотека, которую я могу использовать или попробовать?
Это очень хороший подход. Я начал делать то, что вы сказали об использовании классов Bouncy Castle в качестве шаблона, но я нашел это немного сложнее. Затем я нашел библиотеку под названием [j4sign] (http://j4sign.sourceforge.net/), которая реализует только то, что мне нужно (и она использует Bouncy Castle). – banshee20
@ banshee20 Да, BC не совсем прост в использовании, код не очень хорошо документирован и трудно читается, если у вас мало опыта работы с ASN.1. С другой стороны, это всеобъемлющий, хорошо протестированный, и вы можете делать почти все с ним, если знаете, как это сделать. Во всяком случае, я рад, что вы нашли легкое решение для своей проблемы. – Omikron