Info Path 2007 Full Trust XSN Не распознает действительный сертификат подписи кода, выданный доменом

Мы используем формы InfoPath 2007 на рабочих станциях в качестве формы ввода для медицинского пакета EMR, который разработчик написал самостоятельно, пользователь хотел, чтобы форма выглядела красиво и имела возможность печатать именно так, как это было на экране, так что это было решение, которое придумал разработчик. Формы являются частью приложения Windows и открываются в нашем приложении с помощью средства просмотра InfoPath 2007 .Net Control.

Мы использовали самоподписанный сертификат и вставляли его в хранилище сертификатов Trusted Publisher при запуске приложения, чтобы мы могли обновить приложение с помощью самораспаковывающегося zip-файла, однако мы усиливаем безопасность на наших машинах на работе и на практике. разрешение приложению управлять сертификатами больше не будет работать, поскольку они блокируют права пользователя, также, на мой взгляд, это плохая практика. Было решено отказаться от этой практики и использовать сертификат, развернутый нашим промежуточным центром сертификации домена, и использовать групповую политику для развертывания сертификатов на пользовательских машинах.

У меня есть подписанная форма InfoPath 2007 с использованием сертификата подписи кода, выданного центром сертификации домена, с использованием алгоритма подписи sha256RSA и хэша sha256. Сертификат содержит закрытый ключ и импортируется в личное хранилище сертификатов разработчика. Мы создаем форму полного доверия InfoPath и подписываем ее на машине разработчика, используя сертификат, упомянутый в предыдущем предложении. Затем мы экспортировали двоичный файл .cer сертификата и развернули этот сертификат с помощью групповой политики на всех пользовательских машинах в нашем организационном подразделении в хранилище сертификатов доверенного издателя локального компьютера. Чтобы протестировать часть подписи, мы щелкаем файл InfoPath .xsn вне среды приложения, чтобы запустить форму в собственном InfoPath 2007. Если мы получаем сообщение об ошибке, что форма не может проверить подпись, мы знаем, что она не будет работать в нашем приложении, поскольку Форма не может отображаться элементом управления .NET средства просмотра Microsoft InfoPath. Это как если бы форма InfoPath не могла распознать сертификат, установленный в хранилище сертификатов. Я проверяю хранилище сертификатов и вижу сертификат, однако я не вижу никаких записей в реестре, где я ожидал бы, что они будут жить:

HKLM \ Software \ Microsoft \ SystemCertificates \ TrustedPublisher

Я не понимаю, почему ничего из этого не работает.

Кто-нибудь знает, почему сертификат не распознается InfoPath. Может ли InfoPath 2007 использовать сертификаты, подписанные и хешированные sha256?


person ASCII ZERO    schedule 25.04.2017    source источник


Ответы (1)


Проблема в том, что до InfoPath 2007 Build 12.0.6735.5000 SP3 MSO (12.0.6766.5000) сертификаты, использующие алгоритмы SHA256, не поддерживаются. Обновите InfoPath до последней сборки.

person ASCII ZERO    schedule 26.04.2017