Я пытаюсь поставить цифровую подпись на XML-документ с помощью Java. У меня есть реализация, работающая с некоторыми ссылками, которые я нашел, которые используют различные реализации в _ 1_ пакет.
Однако моя текущая реализация похожа на многие из примеры Я посмотрел - он довольно подробный и предполагает использование не менее 23 различных классов API из пакетов java.xml.crypto.dsig
, javax.xml.transform
и java.security
, среди прочих. Такое ощущение, что я вошел на территорию factory factory factory, и это заняло мне несколько часов, чтобы понять, что происходит.
У меня вопрос: есть ли более простой способ сделать это? Если у меня есть файлы с открытым / закрытым ключом и я хочу добавить <Signature/>
в XML-документ, есть ли там библиотека, которая просто позволяет мне называть что-то вроде:
OutputStream signFile(InputStream xmlFile, File privateKey)
... без всего сумасшествия XMLSignatureFactory / CanonicalizationMethod / DOMSignContext?
Я не очень хорошо разбираюсь в криптографии, и предоставляемый Java API кажется довольно сложным для разработчиков, вроде меня, пытающихся познакомиться с цифровой подписью. Если все это необходимо или в настоящее время нет более дружелюбного API, это нормально, и я готов принять это как ответ. Я просто хотел бы знать, не выбираю ли я здесь без надобности трудный путь.