Java 1.5 is not encoding integers properly
We are using java 1.5 to generate a service ticket token (AP Request) for a service running on Unisys machines.
This token can not be parsed due to ASN encoding errors.
There is an Authenticator in this AP request.
Within the authenticator, there is an optional field for seq_number of type integer.
The seq_number is a unsigned integer that can go from 0 to 2**32 -1 with a random initial value.
During my sample runs, I saw that Java 1.5 implementation is either sending an integer encoded in 2 bytes or an integer encoded in 4 bytes. When this is encoded in 2 bytes, there is no issue. When this is encoded in 4 bytes, the encoding is not correct. The value looks something like FFFFXXXX (A706 0204 FFFFXXXX).
As per ASN encoding, this should be encoded as 00FFFFXXXX (A707 0205 00FFFFXXXX) since ASN encoding does not allow top 9 bit to be either all ones or all zeroes.

