Мне нужно поставить цифровую подпись в файлах MS Office и PDF, которые хранятся на сервере. Я действительно имею в виду цифровую подпись, которая интегрирована в документ в соответствии с каждым конкретным форматом файла.
Это процесс, который я имел в виду:
- Создать хэш содержимого файла
- Отправка хеша в пользовательский написанный Java-апплет в браузере
- Пользователь шифрует хеш своим закрытым ключом (например, на токене usb через PKCS # 11), таким образом, эффективно подписывая файл.
- Затем апплет отправляет подпись на сервер
- На сервере я бы включил подпись в файл (файлы MS Office и PDF могут сделать это без изменения содержимого файла, возможно, просто установив поле метаданных)
Круто то, что вам больше никогда не придется загружать и загружать файл целиком на сервер. Что еще круче, клиенту не нужны Office или PDF Writer для подписи файлов.
Части 2, 3 и 4 в порядке, моя компания купила всю технологию JAVA, которая мне нужна для предыдущего проекта, над которым я работал.
Проблема : Кажется, я не могу найти какую-либо документацию / примеры для выполнения частей 1 и 5 для файлов Office. На этот раз мои навыки Google не подведут?
Есть ли у вас какие-либо ссылки на документацию или примеры для этого для файлов MS Office? Базовая технология не так важна для меня: я могу использовать Java, .Net, COM, любая рабочая технология в порядке!
Примечание. Я на 95% уверен, что могу использовать точки 1 и 5 для файлов PDF с помощью iText
Спасибо
** Редактировать: Если я не могу сделать это с помощью хэшей и должен загрузить полный файл на клиент, это также возможно. Но тогда мне все еще нужна документация, чтобы подписать файл Office ... на этот раз в java (из апплета)