$theTitle=wp_title(" - ", false); if($theTitle != "") { ?>
About Virtualization, VDI, SBC, Application Compatibility and anything else I feel like
After figuring out how to encode and decode the Citrix passwords my next step for the upcoming Citrix Launcher is experiment with config.xml and authenticating to the Citrix Web Interface.
I imported the NFuse.dtd from the Citrix Web Interface into Delphi with the XML Data Binding Wizard. The results in an NFuse Unit so I can easily create the XML data.
To create an authentication packet I use the following code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 | procedure TForm1.NFuseTest; var NFuse: IXMLNFuseProtocolType; begin NFuse := NewNFuseProtocol; NFuse.Version := '4.6'; with NFuse.RequestAppData do begin ServerType.Add('x'); ServerType.Add('win32'); ClientType.Add('ica30'); ClientType.Add('content'); with Credentials do begin Username := 'administrator'; Password.Encoding := 'ctx1'; Password.NodeValue := Ctx1Encode('password'); Domain.Type_ := 'NT'; Domain.NodeValue := 'CONTOSO'; end; ClientName := GetComputerName; ClientAddress.NodeValue := '192.168.2.23'; end; end; |
And this produces the following XML:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <NFuseProtocol version="4.6"> <RequestAppData> <ServerType>x</ServerType> <ServerType>win32</ServerType> <ClientType>ica30</ClientType> <ClientType>content</ClientType> <Credentials> <UserName>administrator</UserName> <Password encoding="ctx1">NFHALEBBMHGCLEBBMDGGKMAJNOHLLKBP</Password> <Domain type="NT">CONTOSO</Domain> </Credentials> <ClientName>REMLAPTOP</ClientName> <ClientAddress>192.168.2.23</ClientAddress> </RequestAppData> </NFuseProtocol> |
Leave a reply