2.2.2.1.7 ComputeTgsChecksum

The ComputeTgsChecksum structure is used to calculate the MAC and create a keyed checksum over a KRB_KDC_REQ message, which is required for proving authenticity of client requests for a service ticket ([RFC4120]).

When populating this field of the KerbCredIsoRemoteInput structure, the CallId field MUST be set to RemoteCallKerbComputeTgsChecksum.

 struct
 {
     KERB_ASN1_DATA* RequestBody;
     KERB_RPC_ENCRYPTION_KEY* Key;
     ULONG ChecksumType;
 } ComputeTgsChecksum;

RequestBody: A pointer to a KERB_ASN1_DATA structure that contains the DER-encoded KDC-REQ-BODY to be checksummed.

Key: A pointer to a KERB_RPC_ENCRYPTION_KEY structure that contains the key used to authenticate the checksum.

ChecksumType: A ULONG that contains a valid Kerberos checksum type ID, as defined in [RFC3961] or [RFC3962].

When populating this field of the KerbCredIsoRemoteOutput structure, the CallId field MUST be set to RemoteCallKerbComputeTgsChecksum.

 struct
 {
     KERB_ASN1_DATA Checksum;
 } ComputeTgsChecksum;

Checksum: A KERB_ASN1_DATA structure that contains the DER-encoded Kerberos Checksum structure, as defined in [RFC4120] Appendix A.