Openfire XMPP Server on Windows Server 2012 R2 with Spark SSO
Jonathan Murch
[email protected] Page 2
Step by Step
Active Directory Configuration
Log on to the Domain Controller with a domain Administrator account.
1. Create a new account, for the lab I will use the logon name of xmpp-openfire, give the
account a secure password and record it for later, clearing the User must change
password at next logon flag. The account only needs to be a member of the Domain
Users security group. You can use which ever naming convention you wish for your
environment.
2. On the Account tab of the xmpp-openfire account, set the Account options to:
User cannot change password
Password never expires
Do not require Kerberos preauthentication
3. Create a standard user account; I created my own account Jonathan for testing later on.
4. Open a command prompt to create and assign a service principal name to the xmpp-
openfire account using the setspn utility. To use setspn you must run it from an elevated
command prompt.
setspn –U –S XMPP/app1.test.com xmpp-openfire
Replace app1.test.com with your Openfire application server and use the fully qualified
domain name.
5. From the same command prompt use the ktpass utility to map the Kerberos XMPP
service principal name created in the previous step to the xmpp-openfire account.
ktpass /princ XMPP/
[email protected] /mapuser xmpp
[email protected] /pass *
/ptype KRB5_NT_PRINCIPAL /crypto RC4-HMAC-NT
[email protected] is the full active directory username of the account. If you do
not put the name of the active directory domain that the account was created in on the
end, the utility may not be able to find the user account in active directory and report an
error. The /pass * parameter will indicate to the ktpass utility to prompt you for the
password for the xmpp-openfire account.