In vertrauenswürdiger Browseranwendung Silverlight 5

8

Mit dem neuen Silverlight 5 können wir jetzt eine In-Browser-Anwendung mit erhöhter Vertrauenswürdigkeit verwenden. Ich habe jedoch Probleme beim Bereitstellen der Anwendung.

Wenn ich die Anwendung von Visual Studio aus teste, funktioniert alles gut, denn es gibt automatisch alles richtig, wenn die Website auf dem lokalen Rechner gehostet wird (localhost, 127.0.0.1).

Ich habe auf MSDN gesehen, dass ich drei Schritte befolgen muss, damit es auf jeder Website funktioniert:

  1. Das XAP signiert - ich habe es nach dem Microsoft-Tutorial
  2. gemacht
  3. Installieren Sie den Zertifikatspeicher für vertrauenswürdige Herausgeber - nach dem Microsoft-Lernprogramm
  4. auch
  5. Hinzufügen eines Registrierungsschlüssels mit dem Wert AllowElevatedTrustAppsInBrowser .

Der dritte Schritt ist der, über den ich mich am meisten unsicher bin. Müssen wir diesen Registrierungsschlüssel auf dem lokalen Computer oder auf dem Server hinzufügen? Gibt es eine automatische Funktion in Silverlight, um diesen Schlüssel hinzuzufügen, oder ist es besser, eine Batchdatei zu erstellen?

Selbst mit diesen drei Schritten funktioniert die Anwendung immer noch nicht, wenn sie von einer anderen URL als localhost aufgerufen wird.

Hat jemand erfolgreich eine In-Browser-Anwendung mit erhöhter Vertrauenswürdigkeit implementiert? Siehst du, was ich falsch mache?

Quellen:

Philippe 20.12.2011, 03:32
quelle

5 Antworten

12

Es gibt viele großartige Ressourcen, die diesen Prozess beschreiben, einschließlich der hier in den Antworten erwähnten. Ich wollte die Schritte dokumentieren, die für uns funktionierten. (Silverlight 5.1.10411.0)

Hier sind die Schritte, die wir unternommen haben, um vertrauenswürdige In-Browser-Anwendungen zu aktivieren:

  1. Unterschreiben Sie die Xap-Datei mit dem Codesignaturschlüssel.
  2. Installieren Sie den öffentlichen Code-Signaturschlüssel in "Certificates- & gt; Current User- & gt; Trusted Publishers"
  3. Legen Sie den DWORD-Registrierungsschlüssel AllowElevatedTrustAppsInBrowser = 1 auf
    SL 64 bit path: HKLM\Software\Wow6432Node\Microsoft\Silverlight
    fest %Vor%
  4. Öffnen Sie das Silverlight-Projekt in einem Texteditor und überprüfen Sie, ob die folgenden Einträge vorhanden sind:
    SL 32 bit path: HKLM\Software\Microsoft\Silverlight
  5. Überprüfen Sie, ob die Properties \ InBrowserSettings.xml vorhanden ist und enthält:
    <RequireInBrowserElevation>true</RequireInBrowserElevation>
    <InBrowserSettingsFile>Properties\InBrowserSettings.xml</InBrowserSettingsFile>
    

Hinweis:

  • Wenn Sie während des Tests ein selbstsigniertes Zertifikat verwenden, müssen Sie es auch in "Zertifikate- & gt; Aktuelle Benutzer- & gt; Vertrauenswürdige Stammzertifizierungsstellen" installieren. (Kaufen Sie einen, bevor Sie in Produktion gehen)
  • Sobald Sie eine XAP-Datei signiert haben, können Sie sie nicht entpacken und ändern, da dies die Signierung unterbricht (sie muss resigniert werden).
  • Vergessen Sie nicht, Ihren Browser-Cache zu löschen, wenn Sie die xap-Datei zwischenspeichern.
  • Dies funktionierte unter Windows 7 und Windows 8 Release Preview (Desktop-Modus) mit IE, Chrome, Firefox und Safari.
Fares 12.06.2012, 06:03
quelle
2

Ich habe erfolgreich die Silverlight 5-App im Browser mit erhöhten Rechten erstellt. diesen msdn Artikel . Sie können immer überprüfen, ob Ihre App privilegiert ist mit:

%Vor%

Mein Problem ist, dass es in Firefox 14 problemlos funktioniert, IE9 aber als Administrator in Windows 7 ausgeführt werden muss. Ich bin derzeit auf der Suche nach einer Möglichkeit, um es zu funktionieren, ohne IE als Administrator auszuführen. Wenn jemand weiß, wie das geht, würde ich die Hilfe zu schätzen wissen.

Bearbeiten:

Wow. Der Link von Aaron McIver Post hat mir sehr geholfen. Ich habe gerade "Geschützten Modus aktivieren" ausgeschaltet und jetzt funktioniert es gut ohne Administratorrechte. : D

    
Grzegorz W 25.07.2012 06:09
quelle
1

Die Bearbeitung der Registrierung muss auf dem Clientcomputer erfolgen. Der Computer, auf dem die Silverlight-Anwendung ausgeführt wird.

Es gibt eine Demo-Version über die XAMLGEEK ; denn alles, was du auslegst, sollte dich in einen funktionierenden Zustand versetzen. Mike Taulty hat auch eine ausgezeichnete Spaziergang .

    
Aaron McIver 20.12.2011 03:37
quelle
0

Ich möchte mit der silverlight App eine Verbindung zu Socket auf Port 10001 auf derselben Host-Adresse herstellen, auf der die App gehostet wird.

Ist es möglich, das zu tun, ohne etwas auf der Clientseite zu ändern?

    
aselan 02.01.2013 09:50
quelle
0

Ich bin auch mit der gleichen Art von Problem konfrontiert

wenn wir ein Testzertifikat verwenden, das nur für den lokalen Rechner funktioniert.

Sie müssen Ihre App mit einem anderen Zertifikat signieren, und es wird funktionieren.

Frage Link Silverlight 5 In vertrauenswürdigen Browser-Anwendungen

    
Chirag 12.09.2013 08:58
quelle