Ich verwende den Beispielcode von Citrix als Basis und versuche, ICA-Dateien zu generieren, die den Client anweisen, seinen Secure Gateway (CSG) -Anbieter zu verwenden. Meine Konfiguration ist, dass die Serveradresse der ICA-Datei durch ein CSG-Ticket ersetzt wird und der Datenverkehr gezwungen ist, zum CSG zu gehen.Wie kann ich Citrix Websites so codieren, dass sie ein Secure Gateway (CSG) verwenden?
Die Herausforderung besteht darin, dass sowohl der Citrix App Server (der die ICA-Sitzung auf 1494 bereitstellt) als auch die CSG über eine Secure Ticket Authority (STA) koordiniert werden müssen. Das bedeutet, dass mein Code beim Erstellen der ICA-Datei mit der STA kommunizieren muss, da die STA ein Ticket enthält, das die CSG in die ICA-Datei einbinden muss. Verwirrend? Sicher! Aber es ist viel sicherer.
Die Pre-CSG-Code sieht wie folgt aus:
AppLaunchInfo launchInfo = (AppLaunchInfo)userContext.launchApp(appID, new AppLaunchParams(ClientType.ICA_30));
ICAFile icaFile = userContext.convertToICAFile(launchInfo, null, null);
ich in die ICA Generation zur SSLEnabled Informationen versucht, aber es war nicht genug. hier ist der Code:
launchInfo.setSSLEnabled(true);
launchInfo.setSSLAddress(new ServiceAddress("CSG URL", 443));
Jetzt sieht es aus wie ich die STA registrieren müssen, wenn ich meine Farm konfigurieren:
ConnectionRoutingPolicy policy = config.getDMZRoutingPolicy();
policy.getRules().clear();
//Set the Secure Ticketing Authorities (STAs).
STAGroup STAgr = new STAGroup();
STAgr.addSTAURL(@"http://CitrixAppServerURL/scripts/ctxsta.dll");
//creat Secure Gateway conenction
SGConnectionRoute SGRoute = new SGConnectionRoute(@"https://CSGURL");
SGRoute.setUseSessionReliability(false);
SGRoute.setGatewayPort(80);
SGRoute.setTicketAuthorities(STAgr);
// add the SGRoute to the policy
policy.setDefault(SGRoute);
Dies basiert auf Code, den ich auf dem Citrix Forums gefunden; Es bricht jedoch meine Fähigkeit, sich mit der Farm zu verbinden und meine Anwendungsliste zu bekommen!
Kann mir jemand auf ein Beispiel von Code hinweisen, der funktioniert? Oder ein Referenzdokument?