super.transitions[AuthenticatorStatesEnum.AUTHENTICATOR_CTIME_STATE.ordinal()][KerberosConstants.AUTHENTICATOR_AUTHORIZATION_DATA_TAG] =
new GrammarTransition<AuthenticatorContainer>(
AuthenticatorStatesEnum.AUTHENTICATOR_CTIME_STATE,
AuthenticatorStatesEnum.AUTHENTICATOR_AUTHORIZATION_DATA_STATE,
KerberosConstants.AUTHENTICATOR_AUTHORIZATION_DATA_TAG,
new StoreAuthorizationData() );
// --------------------------------------------------------------------------------------------
// Transition from subkey to seq-number
// --------------------------------------------------------------------------------------------
// Authenticator ::= [APPLICATION 2] SEQUENCE {
// ...
// seq-number [7] UInt32 OPTIONAL,
super.transitions[AuthenticatorStatesEnum.AUTHENTICATOR_SUBKEY_STATE.ordinal()][KerberosConstants.AUTHENTICATOR_SEQ_NUMBER_TAG] =
new GrammarTransition<AuthenticatorContainer>(
AuthenticatorStatesEnum.AUTHENTICATOR_SUBKEY_STATE,
AuthenticatorStatesEnum.AUTHENTICATOR_SEQ_NUMBER_TAG_STATE,
KerberosConstants.AUTHENTICATOR_SEQ_NUMBER_TAG,
new CheckNotNullLength<AuthenticatorContainer>() );
// --------------------------------------------------------------------------------------------
// Transition from subkey to authorization-data
// --------------------------------------------------------------------------------------------
// Authenticator ::= [APPLICATION 2] SEQUENCE {
// ...
// authorization-data [8] AuthorizationData OPTIONAL
super.transitions[AuthenticatorStatesEnum.AUTHENTICATOR_SUBKEY_STATE.ordinal()][KerberosConstants.AUTHENTICATOR_AUTHORIZATION_DATA_TAG] =
new GrammarTransition<AuthenticatorContainer>(
AuthenticatorStatesEnum.AUTHENTICATOR_SUBKEY_STATE,
AuthenticatorStatesEnum.AUTHENTICATOR_AUTHORIZATION_DATA_STATE,
KerberosConstants.AUTHENTICATOR_AUTHORIZATION_DATA_TAG,
new StoreAuthorizationData() );
// --------------------------------------------------------------------------------------------
// Transition from seq-number tag to seq-number value
// --------------------------------------------------------------------------------------------
// Authenticator ::= [APPLICATION 2] SEQUENCE {
// ...
// authorization-data [8] AuthorizationData OPTIONAL
super.transitions[AuthenticatorStatesEnum.AUTHENTICATOR_SEQ_NUMBER_TAG_STATE.ordinal()][UniversalTag.INTEGER.getValue()] =
new GrammarTransition<AuthenticatorContainer>(
AuthenticatorStatesEnum.AUTHENTICATOR_SEQ_NUMBER_TAG_STATE,
AuthenticatorStatesEnum.AUTHENTICATOR_SEQ_NUMBER_STATE,
UniversalTag.INTEGER,
new StoreSeqNumber() );
// --------------------------------------------------------------------------------------------
// Transition from seq-number value to authorization-data
// --------------------------------------------------------------------------------------------
// Authenticator ::= [APPLICATION 2] SEQUENCE {
// ...
// authorization-data [8] AuthorizationData OPTIONAL
// }
super.transitions[AuthenticatorStatesEnum.AUTHENTICATOR_SEQ_NUMBER_STATE.ordinal()][KerberosConstants.AUTHENTICATOR_AUTHORIZATION_DATA_TAG] =
new GrammarTransition<AuthenticatorContainer>(
AuthenticatorStatesEnum.AUTHENTICATOR_SEQ_NUMBER_STATE,
AuthenticatorStatesEnum.AUTHENTICATOR_AUTHORIZATION_DATA_STATE,
KerberosConstants.AUTHENTICATOR_AUTHORIZATION_DATA_TAG,
new StoreAuthorizationData() );
}