Solved

Kerberos Authentication and Websphere

Posted on 2013-02-05
1
831 Views
Last Modified: 2013-04-28
I am trying to implement a web service on WAS 7.0 that uses JNDI to communicate with an Active Directory running Windows Server 2008 R2.

Before I begin, I'd like to mention that I have not much knowledge in Kerberos authentication but have read up on the mechanism.

I have successfully implemented and tested a change password function using a web service call from a client to the AD through WAS.
System.setProperty("javax.net.ssl.trustStore", keystore);
env.setProperty(Context.SECURITY_AUTHENTICATION, "Simple");
env.setProperty(Context.SECURITY_PROTOCOL, "ssl");
env.setProperty(Context.SECURITY_PRINCIPAL, principal);
env.setProperty(Context.SECURITY_CREDENTIALS, credentials);
env.setProperty(Context.PROVIDER_URL, providerUrl);
InitialLdapContext ctx = new InitialLdapContext(env, null);

// Call change password function using ctx

Open in new window

I understand that to implement Kerberos authentication in JNDI, the code below should be used instead.
env.setProperty(Context.SECURITY_AUTHENTICATION, "GSSAPI");

Open in new window

I have also successfully implemented Kerberos authentication without WAS (no web services) by using the kinit command on the client to retrieve the cache and then running the modified code on the console. This can't be the right way to proceed as I cannot expect the client to open the command prompt to key kinit every time he uses the system.
LoginContext lc = new LoginContext("krb5.conf");
lc.login();

Open in new window

I have executed the above code and managed to get a successfully authentication. The krb5.conf, keytab and keystore are stored locally on the client for this testing purpose. I understand that these are supposed to be configured within WAS.

The problem arises when I am trying to integrate WAS with the code I have. I'm not too familiar with the settings within WAS and assuming the settings within have been set up correctly (by someone else), what should I do to within my code to perform the task at hand? I should not be utilizing files such as the keytab directly.

What I have at the moment is very similar to this Link and I believe that WAS should be handling most of it for me, but I am not sure how.

Thanks in advance.
0
Comment
Question by:pcssecure
1 Comment
 
LVL 20

Accepted Solution

by:
Radhakrishnan Rajayyan earned 500 total points
ID: 38858164
Hi,

I have seen enabling kerberos authentication in IIS but not WAS. I believe that the configuration will be similar. Please check this article and see it makes any shades http://support.microsoft.com/kb/326089

http://www.ibm.com/developerworks/websphere/library/techarticles/0910_jain1/0910_jain1.html
0

Join & Write a Comment

Suggested Solutions

Mapping Drives using Group policy preferences Are you still using old scripts to map your network drives if so this article will show you how to get away for old scripts and move toward Group Policy Preference for mapping them. First things f…
Meet the world's only “Transparent Cloud™” from Superb Internet Corporation. Now, you can experience firsthand a cloud platform that consistently outperforms Amazon Web Services (AWS), IBM’s Softlayer, and Microsoft’s Azure when it comes to CPU and …
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
Viewers will learn about basic arrays, how to declare them, and how to use them. Introduction and definition: Declare an array and cover the syntax of declaring them: Initialize every index in the created array: Example/Features of a basic arr…

762 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

16 Experts available now in Live!

Get 1:1 Help Now