Hello All,

I admit to going spare in setting up CAS with SPNEGO. Can anyone throw
some light on it for me please?

Basic CAS 3.1.1 is working well for us and is in daily use using our
extensive Active Directory service. The problem is in integrating the
SPNEGO option. I have tried everything in the documentation and
alternate suggestions but I fail to get the SPNEGO module to
authenticate against the keytab. 

The keytab setup:

"c:\Program Files\Support Tools\ktpass.exe" /out spndls2.keytab /princ
HTTP/[EMAIL PROTECTED] /pass * /mapuser DLS2\spndls2
/ptype krb5_nt_principal /crypto des-cbc-md5 +DesOnly
Targeting domain controller: diamrd8139.dls2.diamond.ac.uk
Using legacy password setting method
Successfully mapped HTTP/dls2.diamond.ac.uk to spndls2.
Type the password for HTTP/dls2.diamond.ac.uk:
Type the password again to confirm:
Key created.
Output keytab to spndls2.keytab:
Keytab version: 0x502
keysize 69 HTTP/[EMAIL PROTECTED] ptype 1
(KRB5_NT_PRINCIPAL) vno 4 etype 0x3 (DES-CBC-MD5) keylength 8
(0x4a8ffe1cab40154c)
Account spndls2 has been set for DES-only encryption.

The tests:

c:\Java\bin\klist.exe -k

Key tab: c:\etc\spndls2.keytab, 1 entry found.

[1] Service principal: HTTP/[EMAIL PROTECTED]
         KVNO: 4

c:\Java\bin\kinit.exe [EMAIL PROTECTED]
Password for [EMAIL PROTECTED]:
New ticket is stored in cache file C:\Documents and
Settings\uadmin\krb5cc_uadmin

Part of deployer context

        <bean name="jcifsConfig"
class="org.jasig.cas.support.spnego.authentication.handler.support.JCIFS
Config">
          <property name="jcifsServicePrincipal"
value="HTTP/[EMAIL PROTECTED]" />
          <property name="jcifsServicePassword" value="[te%cset1]" />
          <property name="kerberosDebug" value="true" />
          <property name="kerberosConf" value="C:\windows\krb5.ini" />
          <property name="loginConf" value="C:\etc\login.conf" />
        </bean>


krb5.ini

[logging]
 default = c:\etc\logs\default.log
 kdc = c:\etc\logs\kdc.log
 admin_server = c:\etc\logs\admin.log

[libdefaults]
 ticket_lifetime = 24000
 default_realm = DLS2.DIAMOND.AC.UK
 default_keytab_name = c:\etc\spndls2.keytab
 dns_lookup_realm = false
 dns_lookup_kdc = false
 default_tkt_enctypes = DES-CBC-MD5
 default_tgs_enctypes = DES-CBC-MD5

[realms]

 DLS2.DIAMOND.AC.UK = {
  kdc = 172.23.4.17
  admin_server = 172.23.4.17
 }

[appdefaults]
        autologin = true
        forward = true
        forwardable = true
        encrypt = true

Result of SPNEGO login

2008-05-11 18:20:16,925 DEBUG
[org.springframework.web.servlet.view.JstlView] -
<Forwarded to resource [/WEB-INF/view/jsp/default/ui/casLoginView.jsp]
in Intern
alResourceView 'casLoginView'>
default etypes for default_tkt_enctypes: 3.
default etypes for default_tkt_enctypes: 3.
>>> KrbAsReq calling createMessage
>>> KrbAsReq in createMessage
>>> KrbKdcReq send: kdc=172.23.4.17 UDP:88, timeout=30000, number of
retries =3,
 #bytes=167
>>> KDCCommunication: kdc=172.23.4.17 UDP:88, timeout=30000,Attempt =1,
#bytes=1
67
>>> KrbKdcReq send: #bytes read=201
>>> KrbKdcReq send: #bytes read=201
>>> KDCRep: init() encoding tag is 126 req type is 11
>>>KRBError:
         sTime is Sun May 11 18:20:17 BST 2008 1210526417000
         suSec is 18668
         error code is 25
         error Message is Additional pre-authentication required
         realm is DLS2.DIAMOND.AC.UK
         sname is krbtgt/DLS2.DIAMOND.AC.UK
         eData provided.
         msgType is 30
>>>Pre-Authentication Data:
         PA-DATA type = 11
         PA-ETYPE-INFO etype = 3
>>>Pre-Authentication Data:
         PA-DATA type = 2
         PA-ENC-TIMESTAMP
>>>Pre-Authentication Data:
         PA-DATA type = 15
AcquireTGT: PREAUTH FAILED/REQUIRED, re-send AS-REQ
default etypes for default_tkt_enctypes: 3.
Pre-Authentication: Set preferred etype = 3
Updated salt from pre-auth = DLS2.DIAMOND.AC.UKHTTPdls2.diamond.ac.uk
>>>KrbAsReq salt is DLS2.DIAMOND.AC.UKHTTPdls2.diamond.ac.uk
Pre-Authenticaton: find key for etype = 3
AS-REQ: Add PA_ENC_TIMESTAMP now
>>> EType: sun.security.krb5.internal.crypto.DesCbcMd5EType
>>> KrbAsReq calling createMessage
>>> KrbAsReq in createMessage
>>> KrbKdcReq send: kdc=172.23.4.17 UDP:88, timeout=30000, number of
retries =3,
 #bytes=249
>>> KDCCommunication: kdc=172.23.4.17 UDP:88, timeout=30000,Attempt =1,
#bytes=2
49
>>> KrbKdcReq send: #bytes read=180
>>> KrbKdcReq send: #bytes read=180
>>> KDCRep: init() encoding tag is 126 req type is 11
>>>KRBError:
         sTime is Sun May 11 18:20:17 BST 2008 1210526417000
         suSec is 65542
         error code is 24
         error Message is Pre-authentication information was invalid
         realm is DLS2.DIAMOND.AC.UK
         sname is krbtgt/DLS2.DIAMOND.AC.UK
         eData provided.
         msgType is 30
>>>Pre-Authentication Data:
         PA-DATA type = 11
         PA-ETYPE-INFO etype = 3
jcifs.spnego.AuthenticationException: Error performing Kerberos
authentication:
java.lang.reflect.InvocationTargetException
        at
jcifs.spnego.Authentication.processKerberos(Authentication.java:447)
        at
jcifs.spnego.Authentication.processSpnego(Authentication.java:346)
        at jcifs.spnego.Authentication.process(Authentication.java:235)
        at
org.jasig.cas.support.spnego.authentication.handler.support.JCIFSSpne
goAuthenticationHandler.doAuthentication(JCIFSSpnegoAuthenticationHandle
r.java:56)


Huge thanks in advance if anyone can help me.

Bill Pulford
Diamond Light Source
<DIV><FONT size="1" color="gray">This e-mail and any attachments may contain 
confidential, copyright and or privileged material, and are for the use of the 
intended addressee only. If you are not the intended addressee or an authorised 
recipient of the addressee please notify us of receipt by returning the e-mail 
and do not use, copy, retain, distribute or disclose the information in or 
attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not 
necessarily of Diamond Light Source Ltd. 
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments 
are free from viruses and we cannot accept liability for any damage which you 
may sustain as a result of software viruses which may be transmitted in or with 
the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and 
Wales with its registered office at Diamond House, Harwell Science and 
Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom
</FONT></DIV> 
_______________________________________________
Yale CAS mailing list
[email protected]
http://tp.its.yale.edu/mailman/listinfo/cas

Reply via email to