shishi_kdc_process(3)
π shishi_kdc_process β the glow-up your KDC exchange deserves π
okay so bestie, welcome to shishi_kdc_process(3) from the shishi manual. yes we're reading a manpage together, this is our little date. it's giving "cryptographic API but make it cute". π
β¨ NAME β¨
shishi_kdc_process β it's an API function, babes. that's the whole vibe.
πΈ SYNOPSIS πΈ
#include <shishi.h>
int shishi_kdc_process(Shishi * handle, Shishi_asn1 kdcreq, Shishi_asn1
kdcrep, Shishi_key * key, int keyusage, Shishi_asn1 * enckdcreppart);
look at her. six whole arguments. she's thriving. π
π¦ ARGUMENTS π¦
the receipts, one by one:
Shishi * handleβ the Shishi handle, allocated for you byshishi_init(). your main character. πShishi_asn1 kdcreqβ input variable holding the transmitted KDC-REQ. the message you sent out into the world, no cap.Shishi_asn1 kdcrepβ input variable holding the received KDC-REP. what the world sent back. πShishi_key * keyβ input pointer to the key for decrypting parts ofkdcrep. the little key to the little lock. πint keyusageβ Kerberos key usage code. it's exactly what it sounds like, bestie, just a number with a job.Shishi_asn1 * enckdcreppartβ output pointer for the extracted EncKDCRepPart. this is where the goodies land. π
π DESCRIPTION π
so what does she do. she processes a KDC client exchange and extracts a decrypted EncKDCRepPart β that's the thing holding all the details about the received ticket. the way that works?? iconic honestly.
π‘ if you actually want the ticket itself, use shishi_kdcrep_get_ticket() to extract it. this function is about the part, not the ticket. don't get it twisted.
she also verifies the various conditions that must hold if the response is even gonna be considered valid. she's a vibe check, essentially. specifically:
- she compares nonces, using
shishi_kdc_check_nonce(). β¨ - and if the exchange was an AS exchange, she also checks
cnameandcrealm, usingshishi_as_check_cname()andshishi_as_check_crealm(). thorough queen behavior, we love to see it.
π«Ά real talk though: usually you should useshishi_as_process()andshishi_tgs_process()instead of calling this one directly. they simplify computation of the decryption key, and honestly, why do extra work when someone already did it for you. that's called delegating and it's a skill.
π RETURN VALUE π
returns SHISHI_OK if the KDC client exchange was successful. and bestieβ¦ multiple failure conditions are possible. so many. a whole buffet of ways things can go sideways. π
π REPORTING BUGS π
found a bug? not me gatekeeping. report bugs to <bug-shishi@gnu.org>.
- GNU Shishi home page:
http://www.gnu.org/software/shishi/ - General help using GNU software:
http://www.gnu.org/gethelp/
they literally want to hear from you. it's giving community. π«Ά
π COPYRIGHT π
Copyright Β© 2002-2022 Simon Josefsson.
Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.
(that's fancy-speak for "go ahead, just keep the receipts attached". π)
β SEE ALSO β
The full documentation for shishi is maintained as a Texinfo manual. If the info and shishi programs are properly installed at your site, the command
info shishi
should give you access to the complete manual. iykyk β it's all in there. πβ¨
and that's the whole page, bestie!! you read a manpage, you understood a manpage, you ate. this was shishi version 1.0.3, page shishi_kdc_process(3). mwah, go decrypt something. π
πΈπ¦
π¦ where this page comes from
- debian bookworm: shishi-doc 1.0.3-1 Β· GPL-3.0-or-later
- debian trixie: shishi-doc 1.0.3-5 Β· GPL-3.0-or-later
- nixos 26.05: shishi 1.0.3
- nixpkgs unstable: shishi 1.0.3
- ubuntu noble: shishi-doc 1.0.3-2.1build2 Β· GPL-3.0-or-later
- ubuntu questing: shishi-doc 1.0.3-5
- ubuntu resolute: shishi-doc 1.0.3-5build1 Β· GPL-3.0-or-later
- ubuntu stonking: shishi-doc 1.0.3-7 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms