Sicherheitssemantik für J# Browser Controls
J# Browser Controls werden auf Benutzercomputern ausgeführt und greifen hierzu auf die Klassen in der J#-Browser Control-Laufzeitkomponente und in .NET Framework zu. Bei vielen dieser Klassen ist es erforderlich, dass die Aufrufer die entsprechenden Berechtigungen besitzen, bevor sicherheitsrelevante Operationen wie der Zugriff auf oder das Löschen von Dateien ausgeführt werden. Welche Operationen ein J#-Browser Control ausführen darf, hängt vom Downloadort und von der .NET Framework-Sicherheitsrichtlinie auf dem Computer ab. So haben beispielsweise J# Browser Controls, die vom Internet oder Intranet gedownloadet wurden, keinen Zugriff auf Dateien auf dem Computer, auf dem sie ausgeführt werden.
Es gibt einige weitere Sicherheitsaspekte, die Entwickler beachten müssen:
- Die Methoden java.applet.Applet.getAudioClip und java.applet.Applet.getImage ermöglichen nur den Zugriff auf Ressourcen auf dem Webserver, von dem das J#-Browser Control gedownloadet wird.
- J# Browser Controls dürfen nur Sockets erstellen, die TCP als Protokoll verwenden. Die Erstellung von Sockets, die UDP als Protokoll verwenden, wird nicht unterstützt.
Bereitstellen von voll vertrauenswürdigen J# Browser Controls
Mit MSJVM haben Entwickler die Möglichkeit, Java-Applet-Klassen in eine CAB-Datei zu packen, die CAB-Datei mit einem Authenticode-Zertifikat zu signieren und Java-Berechtigungen mit der CAB-Datei zu verknüpfen. Beim Download einer signierten CAB-Datei von einer Seite wird die Signatur daraufhin überprüft, ob sie Berechtigungsdaten enthält. Trifft dies zu, ermitteln Internet Explorer und Microsoft Virtual Machine gemeinsam, welche Aktionen für das Applet zulässig sind. Grundlage hierfür sind die Sicherheitsstufe der Zone, von der die CAB-Datei gedownloadet wurde, die in der CAB-Signatur angeforderten Berechtigungen und die Benutzerantwort (sofern erforderlich). Dieser Mechanismus wird als auf Vertrauenswürdigkeit basierende Sicherheit bezeichnet.
Diese Sicherheit wird von der J#-Browser Control-Laufzeitkomponente nicht unterstützt. Um ein J#-Browser Control als voll vertrauenswürdig auszuführen, muss es mit einer Schlüsselpaardatei signiert sein. Die .NET Framework-Sicherheitsrichtlinie auf Benutzercomputern muss dann so geändert werden, dass Code, der mit dem betreffenden Schlüsselpaar signiert ist, als voll vertrauenswürdig gilt. Der Visual J#-Compiler unterstützt das Signieren von DLLs mit Schlüsselpaardateien. Das Tool sn.exe in .NET Framework SDK kann zum Generieren von Schlüsselpaardateien verwendet werden. Weitere Informationen zum Generieren von Schlüsselpaardateien finden Sie unter Assemblies mit starkem Namen.
Bevor signierte J# Browser Controls Operationen wie Datei-E/A ausführen können, muss die .NET Framework-Sicherheitsrichtlinie auf Endbenutzercomputern aktualisiert werden, um Code, der mit dem Schlüsselpaar signiert ist, zusätzliche Berechtigungen zu gewähren. Die Sicherheitsrichtlinie auf Endbenutzercomputern kann mit Richtliniendateien aktualisiert werden. Das Whitepaper Verwalten und Weitergeben von Sicherheitsrichtlinien in .NET Framework Enterprise enthält Informationen über die verschiedenen Ansätze für die Erstellung und Bereitstellung von .NET Framework-Sicherheitsrichtliniendateien.
Siehe auch
- Visual J# .NET-Artikel
- Klassen, auf die ein J#-Browser Control zugreifen kann
- So debuggen Sie J# Browser Controls
- Unterstützung von J# Browser Controls und Java-Applets auf derselben Seite