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:
text
Download
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:
text
Download
<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>