/// Encryption used (only in AS-REP and TGS-REP)
pub etype: Option<EncryptionType>,
+ /// Encryption used for ticket
+ pub ticket_etype: Option<EncryptionType>,
+
/// Error code, if request has failed
pub error_code: Option<ErrorCode>,
tx.cname = Some(kdc_rep.cname);
tx.realm = Some(kdc_rep.crealm);
tx.sname = Some(kdc_rep.ticket.sname);
+ tx.ticket_etype = Some(kdc_rep.ticket.enc_part.etype);
tx.etype = Some(kdc_rep.enc_part.etype);
self.transactions.push(tx);
if test_weak_encryption(kdc_rep.enc_part.etype) {
tx.msg_type = MessageType::KRB_TGS_REP;
tx.cname = Some(kdc_rep.cname);
tx.realm = Some(kdc_rep.crealm);
+ tx.ticket_etype = Some(kdc_rep.ticket.enc_part.etype);
tx.sname = Some(kdc_rep.ticket.sname);
tx.etype = Some(kdc_rep.enc_part.etype);
self.transactions.push(tx);
realm: None,
sname: None,
etype: None,
+ ticket_etype: None,
error_code: None,
id: id,
tx_data: applayer::AppLayerTxData::new(),
jsb.set_string("sname", &sname)?;
jsb.set_string("encryption", &encryption)?;
jsb.set_bool("weak_encryption", tx.etype.map_or(false,test_weak_encryption))?;
+ if let Some(x) = tx.ticket_etype {
+ let refs = format!("{:?}", x);
+ jsb.set_string("ticket_encryption", &refs)?;
+ jsb.set_bool("ticket_weak_encryption", test_weak_encryption(x))?;
+ }
return Ok(());
}