2012-03-20 2 views
1

У меня возникла проблема с подписанием моего файла Silverlight (.xap) на веб-сайте. Мы развертываем этот веб-сайт в интрасети, и, поскольку мы обращаемся к порту usb на клиенте, нам определенно необходимо иметь повышенные права на клиентской машине.silverlight 5 подписать файл xap

Я читал, что это можно сделать, создав сертификат и установив его на клиентскую машину, и я выполнил следующую статью: http://msdn.microsoft.com/en-us/gg315158. Для целей тестирования я создал базовый элемент управления Silverlight, который отображает «Вы подняты» или «Вы не подняты» в зависимости от конфигурации клиента.

Теперь моя проблема заключается в том, что я подписал свой файл xap с моим .pfx-файлом в Visual Studio, но у меня все еще нет повышенных прав на клиентской машине. На моей машине разработки я получаю сообщение «Ты поднял» из-за некоторой конфигурации dev, я думаю ...

Я попытался установить свой сертификат вручную на своей клиентской машине, но он все еще не работает.

При доступе к моему веб-сайту запускается элемент управления silverlight, но отображается, что я не в режиме повышенной готовности. Он не посылает никаких сообщений, чтобы попросить пользователя получить сертификат или что-то еще ...

Что мне не хватает?

+0

эй там! У меня такая же проблема (http://stackoverflow.com/questions/12142523/getting-a-system-net-sockets-socketexception-for-connect-operation) - не могли бы вы найти решение проблемы? –

+0

Я купил сертификат (verisign) и подписал мой файл xap с ним ... Мне пришлось добавить записи реестра, как сказал Rumplin в ответ ниже ... Поскольку он подписан сертифицированным органом, вы больше не получите никакого предупреждения ... Вы попробовали это? –

+0

официальным сертификатом может быть проблема :) однако я не получаю никакого предупреждения с моим самозаверяющим сертификатом ... он просто не работает и выплевывает * no * warning ... –

ответ

2

Перейти к сертификатах и ​​найти вкладку Доверенные издатели, ваш сертификат должен быть там

Каждый клиент должен иметь сертификат есть.

После того, как вы проверили это и может подтвердить, что каждый имеет сертификат, вы должны запустить этот реестр (64bit):

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Silverlight] 
"AllowElevatedTrustAppsInBrowser"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Silverlight\Components] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Silverlight\Components\Debugging] 

(32bit)

Windows Registry Editor Version 5.00 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight] 
"AllowElevatedTrustAppsInBrowser"=dword:00000001 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight\Components] 

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Silverlight\Components\Debugging] 

Просто сохраните это в .txt файл и переименуйте его в .reg и запустите. Это должно решить вашу проблему.

+0

Спасибо за ваш комментарий. У меня есть мой сертификат в этом разделе. Я использовал mmc, чтобы проверить это и в доверенных издателях, я могу видеть свой сертификат. Он все еще не работает ... какая-то идея? –

+2

Я обновил свой anwser с помощью патча реестра, который мне пришлось делать в нашей интрасети. – Rumplin

+0

Еще раз спасибо! К сожалению, все еще не работает ... Должен ли я регистрировать свой сертификат на своей машине dev? Будет ли он работать только на веб-сервере IIS? Я просто создал свой ключ после учебника, затем я подписал свой файл xap в Visual Studio и нажал Ctrl + F5, чтобы запустить свой сайт ... Затем с другого компьютера на моем компьютере я пытаюсь отобразить свой сайт, и поэтому мой файл xap ... Файл xap запускается, но говорит мне, что у меня нет прав с повышенными правами ... –