Mam zestaw .net z metodą, która nie jest weryfikowalna.C# nie można zweryfikować kodu bez niezarejestrowanego zezwolenia
Próbuję załadować ten zespół w domenie aplikacji Sandbox.
Jeśli załaduję się z weryfikacją pominięcia, ale nie z niezarządzanym, otrzymuję wyjątek weryfikacji. Tak:
new SecurityPermission(SecurityPermissionFlag.Execution |
SecurityPermissionFlag.SkipVerification);
Gdybym załadować z niekontrolowana zgody to działa, ale domena aplikacja nie będzie wystarczająco „piaskownicy”.
new SecurityPermission(SecurityPermissionFlag.Execution |
SecurityPermissionFlag.SkipVerification |
SecurityPermissionFlag.UnmanagedCode);
Również - Mam zainstalowany .NET Framework 4, i aby pracować nad musiałem przełączyć się transperancy modelu poziomie 1, tak jak poniżej:
[assembly:SecurityRules(SecurityRuleSet.Level1)]
Więc moje pytanie brzmi:
- Czy istnieje sposób uruchamiania niezweryfikowanego kodu bez uprawnienia UnamangedCode.
- Czy istnieje sposób na wykonanie powyższej pracy przy użyciu zestawu reguł bezpieczeństwa Level2.
Dzięki!
Aplikacja jest piaskownica lub jej nie ma. Co oznacza "nie wystarczy piaskownicy"? Wygląda na to, że potrzebujesz zestawu, który można zweryfikować zamiast próbować utworzyć obejście. –
W tej piaskownicy muszę chronić użytkownika przed samym sobą, a nie przed potencjalnym zagrożeniem. Właśnie dlatego nie martwię się niepotwierdzonym kodem. Ale martwię się o niezarządzany kod. W każdym razie, nie mogę tego zweryfikować z powodu niektórych frameworków .net, których używam. – ravyoli