You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@directory.apache.org by el...@apache.org on 2010/12/09 01:12:08 UTC
svn commit: r1043790 [5/6] - in /directory/apacheds/trunk/protocol-kerberos:
./ src/main/java/org/apache/directory/server/kerberos/kdc/
src/main/java/org/apache/directory/server/kerberos/kdc/authentication/
src/main/java/org/apache/directory/server/ker...
Modified: directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/PreAuthenticationTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/PreAuthenticationTest.java?rev=1043790&r1=1043789&r2=1043790&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/PreAuthenticationTest.java (original)
+++ directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/PreAuthenticationTest.java Thu Dec 9 00:12:07 2010
@@ -20,28 +20,31 @@
package org.apache.directory.server.kerberos.protocol;
+import static org.junit.Assert.assertEquals;
+
+import java.nio.ByteBuffer;
+
import javax.security.auth.kerberos.KerberosPrincipal;
import org.apache.directory.server.kerberos.kdc.KdcServer;
-import org.apache.directory.server.kerberos.shared.KerberosMessageType;
import org.apache.directory.server.kerberos.shared.crypto.encryption.CipherTextHandler;
import org.apache.directory.server.kerberos.shared.crypto.encryption.KeyUsage;
-import org.apache.directory.server.kerberos.shared.io.encoder.EncryptedDataEncoder;
-import org.apache.directory.server.kerberos.shared.messages.ErrorMessage;
-import org.apache.directory.server.kerberos.shared.messages.KdcRequest;
-import org.apache.directory.server.kerberos.shared.messages.value.EncryptedData;
-import org.apache.directory.server.kerberos.shared.messages.value.EncryptedTimeStamp;
-import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey;
-import org.apache.directory.server.kerberos.shared.messages.value.KdcOptions;
-import org.apache.directory.server.kerberos.shared.messages.value.KerberosTime;
-import org.apache.directory.server.kerberos.shared.messages.value.PaData;
-import org.apache.directory.server.kerberos.shared.messages.value.RequestBodyModifier;
-import org.apache.directory.server.kerberos.shared.messages.value.types.PaDataType;
import org.apache.directory.server.kerberos.shared.store.PrincipalStore;
+import org.apache.directory.shared.kerberos.KerberosTime;
+import org.apache.directory.shared.kerberos.codec.options.KdcOptions;
+import org.apache.directory.shared.kerberos.codec.types.PaDataType;
+import org.apache.directory.shared.kerberos.components.EncryptedData;
+import org.apache.directory.shared.kerberos.components.EncryptionKey;
+import org.apache.directory.shared.kerberos.components.KdcReq;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.kerberos.components.PaData;
+import org.apache.directory.shared.kerberos.components.PaEncTsEnc;
+import org.apache.directory.shared.kerberos.exceptions.ErrorType;
+import org.apache.directory.shared.kerberos.messages.AsReq;
+import org.apache.directory.shared.kerberos.messages.KrbError;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
-import static org.junit.Assert.assertEquals;
/**
@@ -95,20 +98,21 @@ public class PreAuthenticationTest exten
@Test
public void testPreAuthenticationRequired()
{
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setClientName( getPrincipalName( "hnelson" ) );
- modifier.setServerName( getPrincipalName( "hnelson" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setCName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setSName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
- KdcRequest message = new KdcRequest( 5, KerberosMessageType.AS_REQ, null, modifier.getRequestBody() );
+ KdcReq message = new AsReq();
+ message.setKdcReqBody( kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "Additional pre-authentication required", 25, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "Additional pre-authentication required", ErrorType.KDC_ERR_PREAUTH_REQUIRED, error.getErrorCode() );
}
@@ -126,32 +130,38 @@ public class PreAuthenticationTest exten
@Test
public void testPreAuthenticationIntegrityFailed() throws Exception
{
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setClientName( getPrincipalName( "hnelson" ) );
- modifier.setServerName( getPrincipalName( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setCName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setSName( getPrincipalName( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
- modifier.setKdcOptions( new KdcOptions() );
+ kdcReqBody.setKdcOptions( new KdcOptions() );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
String passPhrase = "badpassword";
- PaData[] paData = getPreAuthEncryptedTimeStamp( clientPrincipal, passPhrase );
+ PaData[] paDatas = getPreAuthEncryptedTimeStamp( clientPrincipal, passPhrase );
- KdcRequest message = new KdcRequest( 5, KerberosMessageType.AS_REQ, paData, modifier.getRequestBody() );
+ KdcReq message = new AsReq();
+ message.setKdcReqBody( kdcReqBody );
+
+ for ( PaData paData : paDatas )
+ {
+ message.addPaData( paData );
+ }
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "Integrity check on decrypted field failed", 31, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "Integrity check on decrypted field failed", ErrorType.KRB_AP_ERR_BAD_INTEGRITY, error.getErrorCode() );
}
@@ -165,34 +175,40 @@ public class PreAuthenticationTest exten
@Test
public void testPreAuthenticationFailed() throws Exception
{
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setClientName( getPrincipalName( "hnelson" ) );
- modifier.setServerName( getPrincipalName( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setCName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setSName( getPrincipalName( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
- modifier.setKdcOptions( new KdcOptions() );
+ kdcReqBody.setKdcOptions( new KdcOptions() );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
KerberosTime timeStamp = new KerberosTime( 0 );
String passPhrase = "secret";
- PaData[] paData = getPreAuthEncryptedTimeStamp( clientPrincipal, passPhrase, timeStamp );
+ PaData[] paDatas = getPreAuthEncryptedTimeStamp( clientPrincipal, passPhrase, timeStamp );
- KdcRequest message = new KdcRequest( 5, KerberosMessageType.AS_REQ, paData, modifier.getRequestBody() );
+ KdcReq message = new AsReq();
+ message.setKdcReqBody( kdcReqBody );
+
+ for ( PaData paData : paDatas )
+ {
+ message.addPaData( paData );
+ }
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
- assertEquals( "Pre-authentication information was invalid", 24, error.getErrorCode() );
+ assertEquals( "Pre-authentication information was invalid", ErrorType.KDC_ERR_PREAUTH_FAILED, error.getErrorCode() );
}
@@ -205,32 +221,38 @@ public class PreAuthenticationTest exten
@Test
public void testPreAuthenticationNoSupport() throws Exception
{
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setClientName( getPrincipalName( "hnelson" ) );
- modifier.setServerName( getPrincipalName( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setCName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setSName( getPrincipalName( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
- modifier.setKdcOptions( new KdcOptions() );
+ kdcReqBody.setKdcOptions( new KdcOptions() );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
String passPhrase = "secret";
- PaData[] paData = getPreAuthPublicKey( clientPrincipal, passPhrase );
+ PaData[] paDatas = getPreAuthPublicKey( clientPrincipal, passPhrase );
- KdcRequest message = new KdcRequest( 5, KerberosMessageType.AS_REQ, paData, modifier.getRequestBody() );
+ KdcReq message = new AsReq();
+ message.setKdcReqBody( kdcReqBody );
+
+ for ( PaData paData : paDatas )
+ {
+ message.addPaData( paData );
+ }
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
- assertEquals( "KDC has no support for padata type", 16, error.getErrorCode() );
+ assertEquals( "KDC has no support for padata type", ErrorType.KDC_ERR_PADATA_TYPE_NOSUPP, error.getErrorCode() );
}
@@ -271,13 +293,14 @@ public class PreAuthenticationTest exten
{
PaData[] paData = new PaData[1];
- EncryptedTimeStamp encryptedTimeStamp = new EncryptedTimeStamp( timeStamp, 0 );
+ PaEncTsEnc encryptedTimeStamp = new PaEncTsEnc( timeStamp, 0 );
EncryptionKey clientKey = getEncryptionKey( clientPrincipal, passPhrase );
- EncryptedData encryptedData = lockBox.seal( clientKey, encryptedTimeStamp, KeyUsage.NUMBER1 );
+ EncryptedData encryptedData = lockBox.seal( clientKey, encryptedTimeStamp, KeyUsage.AS_REQ_PA_ENC_TIMESTAMP_WITH_CKEY );
- byte[] encodedEncryptedData = EncryptedDataEncoder.encode( encryptedData );
+ ByteBuffer buffer = ByteBuffer.allocate( encryptedData.computeLength() );
+ byte[] encodedEncryptedData = encryptedData.encode( buffer ).array();
PaData preAuth = new PaData();
preAuth.setPaDataType( PaDataType.PA_PK_AS_REQ );
Modified: directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingEncryptionTypeTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingEncryptionTypeTest.java?rev=1043790&r1=1043789&r2=1043790&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingEncryptionTypeTest.java (original)
+++ directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingEncryptionTypeTest.java Thu Dec 9 00:12:07 2010
@@ -31,19 +31,19 @@ import javax.security.auth.kerberos.Kerb
import org.apache.directory.server.kerberos.kdc.KdcServer;
import org.apache.directory.server.kerberos.protocol.AbstractAuthenticationServiceTest.KrbDummySession;
import org.apache.directory.server.kerberos.shared.crypto.encryption.CipherTextHandler;
-import org.apache.directory.server.kerberos.shared.crypto.encryption.EncryptionType;
import org.apache.directory.server.kerberos.shared.crypto.encryption.KerberosKeyFactory;
import org.apache.directory.server.kerberos.shared.crypto.encryption.RandomKeyFactory;
-import org.apache.directory.server.kerberos.shared.messages.KdcRequest;
-import org.apache.directory.server.kerberos.shared.messages.TicketGrantReply;
-import org.apache.directory.server.kerberos.shared.messages.components.EncTicketPartModifier;
-import org.apache.directory.server.kerberos.shared.messages.components.Ticket;
-import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey;
-import org.apache.directory.server.kerberos.shared.messages.value.KdcOptions;
-import org.apache.directory.server.kerberos.shared.messages.value.KerberosTime;
-import org.apache.directory.server.kerberos.shared.messages.value.RequestBody;
-import org.apache.directory.server.kerberos.shared.messages.value.RequestBodyModifier;
import org.apache.directory.server.kerberos.shared.store.PrincipalStore;
+import org.apache.directory.shared.kerberos.KerberosTime;
+import org.apache.directory.shared.kerberos.codec.options.KdcOptions;
+import org.apache.directory.shared.kerberos.codec.types.EncryptionType;
+import org.apache.directory.shared.kerberos.components.EncTicketPart;
+import org.apache.directory.shared.kerberos.components.EncryptionKey;
+import org.apache.directory.shared.kerberos.components.KdcReq;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.kerberos.components.PrincipalName;
+import org.apache.directory.shared.kerberos.messages.TgsRep;
+import org.apache.directory.shared.kerberos.messages.Ticket;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -72,7 +72,7 @@ public class TicketGrantingEncryptionTyp
/*
* Body checksum verification must be disabled because we are bypassing
- * the codecs, where the body bytes are set on the KdcRequest message.
+ * the codecs, where the body bytes are set on the KdcReq message.
*/
config.setBodyChecksumVerified( false );
@@ -103,40 +103,39 @@ public class TicketGrantingEncryptionTyp
{
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( new PrincipalName( new KerberosPrincipal( "ldap/ldap.example.com@EXAMPLE.COM" ) ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
Set<EncryptionType> encryptionTypes = new HashSet<EncryptionType>();
encryptionTypes.add( EncryptionType.DES_CBC_MD5 );
- modifier.setEType( encryptionTypes );
+ kdcReqBody.setEType( encryptionTypes );
- modifier.setNonce( random.nextInt() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", TicketGrantReply.class, msg.getClass() );
- TicketGrantReply reply = ( TicketGrantReply ) msg;
+ assertEquals( "session.getMessage() instanceOf", TgsRep.class, msg.getClass() );
+ TgsRep reply = ( TgsRep ) msg;
assertEquals( "Encryption type", EncryptionType.DES_CBC_MD5, reply.getEncPart().getEType() );
}
@@ -157,40 +156,39 @@ public class TicketGrantingEncryptionTyp
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
Set<EncryptionType> encryptionTypes = new HashSet<EncryptionType>();
encryptionTypes.add( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- modifier.setEType( encryptionTypes );
+ kdcReqBody.setEType( encryptionTypes );
- modifier.setNonce( random.nextInt() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", TicketGrantReply.class, msg.getClass() );
- TicketGrantReply reply = ( TicketGrantReply ) msg;
+ assertEquals( "session.getMessage() instanceOf", TgsRep.class, msg.getClass() );
+ TgsRep reply = ( TgsRep ) msg;
assertEquals( "Encryption type", EncryptionType.DES_CBC_MD5, reply.getEncPart().getEType() );
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getTicket().getEncPart()
@@ -213,11 +211,11 @@ public class TicketGrantingEncryptionTyp
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
sessionKey = RandomKeyFactory.getRandomKey( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- encTicketPartModifier.setSessionKey( sessionKey );
+ encTicketPart.setKey( sessionKey );
// Seal the ticket for the server.
String principalName = "krbtgt/EXAMPLE.COM@EXAMPLE.COM";
@@ -230,34 +228,33 @@ public class TicketGrantingEncryptionTyp
preAuthEncryptionTypes );
EncryptionKey serverKey = keyMap.get( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
Set<EncryptionType> encryptionTypes = new HashSet<EncryptionType>();
encryptionTypes.add( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- modifier.setEType( encryptionTypes );
+ kdcReqBody.setEType( encryptionTypes );
- modifier.setNonce( random.nextInt() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", TicketGrantReply.class, msg.getClass() );
- TicketGrantReply reply = ( TicketGrantReply ) msg;
+ assertEquals( "session.getMessage() instanceOf", TgsRep.class, msg.getClass() );
+ TgsRep reply = ( TgsRep ) msg;
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getEncPart().getEType() );
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getTicket().getEncPart()
@@ -279,11 +276,11 @@ public class TicketGrantingEncryptionTyp
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
sessionKey = RandomKeyFactory.getRandomKey( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- encTicketPartModifier.setSessionKey( sessionKey );
+ encTicketPart.setKey( sessionKey );
// Seal the ticket for the server.
String principalName = "krbtgt/EXAMPLE.COM@EXAMPLE.COM";
@@ -296,35 +293,34 @@ public class TicketGrantingEncryptionTyp
preAuthEncryptionTypes );
EncryptionKey serverKey = keyMap.get( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
Set<EncryptionType> encryptionTypes = new HashSet<EncryptionType>();
encryptionTypes.add( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- modifier.setEType( encryptionTypes );
+ kdcReqBody.setEType( encryptionTypes );
int nonce = random.nextInt();
- modifier.setNonce( nonce );
+ kdcReqBody.setNonce( nonce );
KdcOptions kdcOptions = new KdcOptions();
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", TicketGrantReply.class, msg.getClass() );
- TicketGrantReply reply = ( TicketGrantReply ) msg;
+ assertEquals( "session.getMessage() instanceOf", TgsRep.class, msg.getClass() );
+ TgsRep reply = ( TgsRep ) msg;
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getEncPart().getEType() );
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getTicket().getEncPart()
@@ -348,11 +344,11 @@ public class TicketGrantingEncryptionTyp
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
sessionKey = RandomKeyFactory.getRandomKey( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- encTicketPartModifier.setSessionKey( sessionKey );
+ encTicketPart.setKey( sessionKey );
// Seal the ticket for the server.
String principalName = "krbtgt/EXAMPLE.COM@EXAMPLE.COM";
@@ -365,34 +361,33 @@ public class TicketGrantingEncryptionTyp
preAuthEncryptionTypes );
EncryptionKey serverKey = keyMap.get( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
Set<EncryptionType> encryptionTypes = new HashSet<EncryptionType>();
encryptionTypes.add( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- modifier.setEType( encryptionTypes );
+ kdcReqBody.setEType( encryptionTypes );
- modifier.setNonce( random.nextInt() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", TicketGrantReply.class, msg.getClass() );
- TicketGrantReply reply = ( TicketGrantReply ) msg;
+ assertEquals( "session.getMessage() instanceOf", TgsRep.class, msg.getClass() );
+ TgsRep reply = ( TgsRep ) msg;
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getEncPart().getEType() );
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getTicket().getEncPart()
@@ -415,11 +410,11 @@ public class TicketGrantingEncryptionTyp
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
sessionKey = RandomKeyFactory.getRandomKey( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- encTicketPartModifier.setSessionKey( sessionKey );
+ encTicketPart.setKey( sessionKey );
// Seal the ticket for the server.
String principalName = "krbtgt/EXAMPLE.COM@EXAMPLE.COM";
@@ -432,36 +427,35 @@ public class TicketGrantingEncryptionTyp
preAuthEncryptionTypes );
EncryptionKey serverKey = keyMap.get( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
Set<EncryptionType> encryptionTypes = new HashSet<EncryptionType>();
encryptionTypes.add( EncryptionType.AES128_CTS_HMAC_SHA1_96 );
- modifier.setEType( encryptionTypes );
+ kdcReqBody.setEType( encryptionTypes );
- modifier.setNonce( random.nextInt() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
subSessionKey = RandomKeyFactory.getRandomKey( EncryptionType.DES_CBC_MD5 );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", TicketGrantReply.class, msg.getClass() );
- TicketGrantReply reply = ( TicketGrantReply ) msg;
+ assertEquals( "session.getMessage() instanceOf", TgsRep.class, msg.getClass() );
+ TgsRep reply = ( TgsRep ) msg;
assertEquals( "Encryption type", EncryptionType.DES_CBC_MD5, reply.getEncPart().getEType() );
assertEquals( "Encryption type", EncryptionType.AES128_CTS_HMAC_SHA1_96, reply.getTicket().getEncPart()
Modified: directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingPolicyTest.java
URL: http://svn.apache.org/viewvc/directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingPolicyTest.java?rev=1043790&r1=1043789&r2=1043790&view=diff
==============================================================================
--- directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingPolicyTest.java (original)
+++ directory/apacheds/trunk/protocol-kerberos/src/test/java/org/apache/directory/server/kerberos/protocol/TicketGrantingPolicyTest.java Thu Dec 9 00:12:07 2010
@@ -30,19 +30,19 @@ import javax.security.auth.kerberos.Kerb
import org.apache.directory.server.kerberos.kdc.KdcServer;
import org.apache.directory.server.kerberos.protocol.AbstractAuthenticationServiceTest.KrbDummySession;
import org.apache.directory.server.kerberos.shared.crypto.encryption.CipherTextHandler;
-import org.apache.directory.server.kerberos.shared.messages.ErrorMessage;
-import org.apache.directory.server.kerberos.shared.messages.KdcRequest;
-import org.apache.directory.server.kerberos.shared.messages.components.EncTicketPartModifier;
-import org.apache.directory.server.kerberos.shared.messages.components.Ticket;
-import org.apache.directory.server.kerberos.shared.messages.value.EncryptionKey;
-import org.apache.directory.server.kerberos.shared.messages.value.HostAddress;
-import org.apache.directory.server.kerberos.shared.messages.value.HostAddresses;
-import org.apache.directory.server.kerberos.shared.messages.value.KdcOptions;
-import org.apache.directory.server.kerberos.shared.messages.value.KerberosTime;
-import org.apache.directory.server.kerberos.shared.messages.value.RequestBody;
-import org.apache.directory.server.kerberos.shared.messages.value.RequestBodyModifier;
-import org.apache.directory.server.kerberos.shared.messages.value.flags.TicketFlag;
import org.apache.directory.server.kerberos.shared.store.PrincipalStore;
+import org.apache.directory.shared.kerberos.KerberosTime;
+import org.apache.directory.shared.kerberos.codec.options.KdcOptions;
+import org.apache.directory.shared.kerberos.components.EncTicketPart;
+import org.apache.directory.shared.kerberos.components.EncryptionKey;
+import org.apache.directory.shared.kerberos.components.HostAddress;
+import org.apache.directory.shared.kerberos.components.HostAddresses;
+import org.apache.directory.shared.kerberos.components.KdcReq;
+import org.apache.directory.shared.kerberos.components.KdcReqBody;
+import org.apache.directory.shared.kerberos.exceptions.ErrorType;
+import org.apache.directory.shared.kerberos.flags.TicketFlag;
+import org.apache.directory.shared.kerberos.messages.KrbError;
+import org.apache.directory.shared.kerberos.messages.Ticket;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -71,7 +71,7 @@ public class TicketGrantingPolicyTest ex
/*
* Body checksum verification must be disabled because we are bypassing
- * the codecs, where the body bytes are set on the KdcRequest message.
+ * the codecs, where the body bytes are set on the KdcReq message.
*/
config.setBodyChecksumVerified( false );
@@ -106,41 +106,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.FORWARDABLE );
+ encTicketPart.setFlag( TicketFlag.FORWARDABLE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.FORWARDABLE );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -158,41 +157,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.FORWARDABLE );
+ encTicketPart.setFlag( TicketFlag.FORWARDABLE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.FORWARDED );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -210,46 +208,45 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.FORWARDABLE );
+ encTicketPart.setFlag( TicketFlag.FORWARDABLE );
HostAddress[] address =
{new HostAddress( InetAddress.getByAddress( new byte[4] ) )};
HostAddresses addresses = new HostAddresses( address );
- encTicketPartModifier.setClientAddresses( addresses );
+ encTicketPart.setClientAddresses( addresses );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.FORWARDED );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -267,41 +264,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.PROXIABLE );
+ encTicketPart.setFlag( TicketFlag.PROXIABLE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.PROXIABLE );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -319,46 +315,45 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.PROXIABLE );
+ encTicketPart.setFlag( TicketFlag.PROXIABLE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.PROXY );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
HostAddress[] address =
{new HostAddress( InetAddress.getLocalHost() )};
HostAddresses addresses = new HostAddresses( address );
- modifier.setAddresses( addresses );
+ kdcReqBody.setAddresses( addresses );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -376,46 +371,45 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.PROXIABLE );
+ encTicketPart.setFlag( TicketFlag.PROXIABLE );
HostAddress[] address =
{new HostAddress( InetAddress.getByAddress( new byte[4] ) )};
HostAddresses addresses = new HostAddresses( address );
- encTicketPartModifier.setClientAddresses( addresses );
+ encTicketPart.setClientAddresses( addresses );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.PROXY );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -433,41 +427,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.MAY_POSTDATE );
+ encTicketPart.setFlag( TicketFlag.MAY_POSTDATE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.ALLOW_POSTDATE );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -485,41 +478,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.MAY_POSTDATE );
+ encTicketPart.setFlag( TicketFlag.MAY_POSTDATE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.POSTDATED );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -537,42 +529,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.INVALID );
+ encTicketPart.setFlag( TicketFlag.INVALID );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "hnelson" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.VALIDATE );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long currentTime = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( currentTime + KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
-
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -594,31 +584,29 @@ public class TicketGrantingPolicyTest ex
Ticket tgt = getTgt( clientPrincipal, serverPrincipal, serverPassword );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "hnelson" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "hnelson" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.RENEW );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long currentTime = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( currentTime + KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
-
- RequestBody requestBody = modifier.getRequestBody();
+ kdcReqBody.setTill( requestedEndTime );
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -636,41 +624,40 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.RENEWABLE );
+ encTicketPart.setFlag( TicketFlag.RENEWABLE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.RENEWABLE_OK );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + KerberosTime.WEEK );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
@@ -688,43 +675,42 @@ public class TicketGrantingPolicyTest ex
// Get the mutable ticket part.
KerberosPrincipal clientPrincipal = new KerberosPrincipal( "hnelson@EXAMPLE.COM" );
- EncTicketPartModifier encTicketPartModifier = getTicketArchetype( clientPrincipal );
+ EncTicketPart encTicketPart = getTicketArchetype( clientPrincipal );
// Make changes to test.
- encTicketPartModifier.setFlag( TicketFlag.RENEWABLE );
+ encTicketPart.setFlag( TicketFlag.RENEWABLE );
// Seal the ticket for the server.
KerberosPrincipal serverPrincipal = new KerberosPrincipal( "krbtgt/EXAMPLE.COM@EXAMPLE.COM" );
String passPhrase = "randomKey";
EncryptionKey serverKey = getEncryptionKey( serverPrincipal, passPhrase );
- Ticket tgt = getTicket( encTicketPartModifier, serverPrincipal, serverKey );
+ Ticket tgt = getTicket( encTicketPart, serverPrincipal, serverKey );
- RequestBodyModifier modifier = new RequestBodyModifier();
- modifier.setServerName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
- modifier.setRealm( "EXAMPLE.COM" );
- modifier.setEType( config.getEncryptionTypes() );
- modifier.setNonce( random.nextInt() );
+ KdcReqBody kdcReqBody = new KdcReqBody();
+ kdcReqBody.setSName( getPrincipalName( "ldap/ldap.example.com@EXAMPLE.COM" ) );
+ kdcReqBody.setRealm( "EXAMPLE.COM" );
+ kdcReqBody.setEType( config.getEncryptionTypes() );
+ kdcReqBody.setNonce( random.nextInt() );
KdcOptions kdcOptions = new KdcOptions();
kdcOptions.set( KdcOptions.RENEWABLE );
- modifier.setKdcOptions( kdcOptions );
+ kdcReqBody.setKdcOptions( kdcOptions );
long now = System.currentTimeMillis();
KerberosTime requestedEndTime = new KerberosTime( now + 1 * KerberosTime.DAY );
- modifier.setTill( requestedEndTime );
+ kdcReqBody.setTill( requestedEndTime );
KerberosTime requestedRenewTillTime = new KerberosTime( now + KerberosTime.WEEK / 2 );
- modifier.setRtime( requestedRenewTillTime );
+ kdcReqBody.setRtime( requestedRenewTillTime );
- RequestBody requestBody = modifier.getRequestBody();
- KdcRequest message = getKdcRequest( tgt, requestBody );
+ KdcReq message = getKdcRequest( tgt, kdcReqBody );
handler.messageReceived( session, message );
Object msg = session.getMessage();
- assertEquals( "session.getMessage() instanceOf", ErrorMessage.class, msg.getClass() );
- ErrorMessage error = ( ErrorMessage ) msg;
- assertEquals( "KDC policy rejects request", 12, error.getErrorCode() );
+ assertEquals( "session.getMessage() instanceOf", KrbError.class, msg.getClass() );
+ KrbError error = ( KrbError ) msg;
+ assertEquals( "KDC policy rejects request", ErrorType.KDC_ERR_POLICY, error.getErrorCode() );
}
}