Toon posts:

[.NET] Publisher cannot be trusted

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakers,

Ik heb een heeel mooi C# .NET tooltje gebouwt dat een werkplek mooi instelt wanneer iemand aanmeld. Dit tooltje staat op een netwerklocatie en in de GPO geef ik aan dat iedereen deze bij aanmelden moet starten.

Nu start het kreng alleen niet. Ik krijg bij starten de melding "The publisher could not be verified. Are you sure you want to run this software?".

Nu vind ik het prima dat Microsoft wat aan hun veiligheidsbeleid doet, maar dit is naar. Als ik zeg "run" dan draait het ding wel, maar dan moet ik dat de volgende keer doodleuk weer doen.

Wat heb ik al geprobeerd
Ik heb de assembly via de .NET Configuration wizzard toegevoegd aan de trusted assembly's. Hiervoor heb ik mijn project dus strong-name gesigned en de hele strong name fully trusted gemaakt. Ik had dus de hoop dat dit zou werken, maar het haalt helemaal niets uit.

Daarna heb ik in internet explorer de share waarvan de applicatie start toegevoegd aan de trusted sites. Ook dat had weer eens helemaal geen effect.

De tool draait wel op een lokale schijf. Het gaat echt om het starten van een netwerkschijf. Ook als je er een mapping van maakt naar een "echte" schijf dan gaat het nog fout.

Nu ben ik wat aan het rommelen gegaan om de securityprincipal in de applicatie in te stellen, maar ik denk niet dat dat wat uit gaat maken. Hij begint namelijk al te zeuren voordat hij start. Rommelen met securityprincipals maakt dan volgens mij ook niets uit.

Nu heb ik dus even geen idee meer, maar het lijkt mij onmogelijk dat je met C# geen applicatie zou kunnen bouwen die vanaf een netwerkshare gestart zou kunnen worden zonder nagscreen.

Iemand enig idee?

  • WormLord
  • Registratie: September 2003
  • Laatst online: 30-03 16:26

WormLord

Devver

Heb je ook de netwerk locatie op trusted gezet in de .net configuration? Dat is namelijk wat ik heb gedaan om een progje van een netwerkschijf te kunnen starten.

Dus in 'Microsoft .NET Framework 1.1 Configuration' onder 'Runtime Security Policy -> Machine -> Code Groups -> All_Code -> LocalIntranetZone' een nieuwe group aanmaken met condition type 'URL' en als Url je netwerkpad (bv. 'file://machine/share/*')

[ Voor 44% gewijzigd door WormLord op 22-12-2005 07:27 ]


  • whoami
  • Registratie: December 2000
  • Laatst online: 17:18
In .NET is het zo dat de 'security' onder meer bepaald wordt door 'vanwaar wordt de code uitgevoerd'. Naast de 'identity' van de gebruiker die de code uitvoert, wordt dus ook de 'plaats vanwaar de code wordt uitgevoerd' in acht genomen.
De CLR ziet dus dat die code die je wilt uitvoeren vanaf een netwerkshare wordt uitgevoerd, en onderneemt die actie.

Naast de oplossing die Wormlord aanbiedt (veranderen van de security policy voor de local intranet zone, kan je ook de assembly gaan 'trusten'. Je zal dat dan wel op iedere pc waar je dat programma wilt gebruiken, moeten doen dacht ik.

https://fgheysels.github.io/


  • Infinitive
  • Registratie: Maart 2001
  • Laatst online: 25-09-2023
Ik dacht te lezen dat je het programma start bij login? Dan zou je namelijk ook de applicatie eerst naar de harddisk kunnen kopieren en daarna pas starten. Dan bespaar je jezelf al dat gerommel in de security settings...

putStr $ map (x -> chr $ round $ 21/2 * x^3 - 92 * x^2 + 503/2 * x - 105) [1..4]


Verwijderd

Topicstarter
Bedankt voor alle info. Hij blijft alleen zeuren. Ik heb de tip van WormLord opgevolgd. Helaas werkt het niet. Hij blijft die publisher not trusted melding gegeven. Ik kan i.p.v. een URL ook publisher aangeven, deze kan geimporteerd worden vanuit de assembly, maar mijn assembly kent geen publisher. Iemand een idee hoe je dit kan toevoegen?

De hele assembly heb ik ook al op full trust gezet. Ik denk dat alleen de oplossing van Infinitive overblijft, maar het zou toch belachelijk zijn als ik dit niet met een C# applicatie voor elkaar kon krijgen.

Verwijderd

Topicstarter
AAAAARGH... ik wordt echt helemaal gek van dat .NET. Begin er echt aan te denken om het tooltje om te bouwen naar VB6, dat draait in elk geval overal.

Ik had bedacht dat hele .NET security onzin verhaal gewoon om zeep te helpen. Zou ook moeten kunnen met de CASPOL tool, namelijk CASPOL -s off. Door dat uit te voeren meld hij ook doodleuk "Success". Maar die waarschuwing blijft nog steeds.

  • whoami
  • Registratie: December 2000
  • Laatst online: 17:18
Verwijderd schreef op donderdag 22 december 2005 @ 19:23:
AAAAARGH... ik wordt echt helemaal gek van dat .NET. Begin er echt aan te denken om het tooltje om te bouwen naar VB6, dat draait in elk geval overal.

Ik had bedacht dat hele .NET security onzin verhaal gewoon om zeep te helpen. Zou ook moeten kunnen met de CASPOL tool, namelijk CASPOL -s off. Door dat uit te voeren meld hij ook doodleuk "Success". Maar die waarschuwing blijft nog steeds.
Mja, weet dan wel dat je admin moet zijn om die code access security uit te zetten, en ik zou je gewoon aanraden om dat toch maar niet te doen.
Ik zou zeggen, lees eens eea over code access security; normaal gezien moet je, door die assembly te 'trusten' toch wel verder kunnen.
Of, je moet met behulp van een manifest aangeven dat die assembly getrust is.

leesvoer
klik

[ Voor 19% gewijzigd door whoami op 22-12-2005 21:12 ]

https://fgheysels.github.io/

Pagina: 1