KRB5_RD_SAFE(3)
π KRB5_RD_SAFE(3) β the krb5_rd_safe / krb5_rd_priv page π
okay bestie, so this is the man page for krb5_rd_safe and krb5_rd_priv β they're the verifiers. the ones who check that your messages are actually real and not somebody being shady. π
β¨ NAME β¨
krb5_rd_safe, krb5_rd_priv β verifies authenticity of messages π
π LIBRARY π
Kerberos 5 Library (libkrb5, -lkrb5)
π SYNOPSIS π
#include <krb5.h>
krb5_error_code
krb5_rd_priv(krb5_context context, krb5_auth_context auth_context,
const krb5_data *inbuf, krb5_data *outbuf,
krb5_replay_data *outdata);
krb5_error_code
krb5_rd_safe(krb5_context context, krb5_auth_context auth_context,
const krb5_data *inbuf, krb5_data *outbuf,
krb5_replay_data *outdata);
like. look at them. twins. π―ββοΈ
πΈ DESCRIPTION πΈ
so here's the vibe: krb5_rd_safe() and krb5_rd_priv() both parse KRB-SAFE and KRB-PRIV messages β the ones that got made by krb5_mk_safe(3) and krb5_mk_priv(3), bestie, you know the ones π β and they pull those messages out of inbuf and then verify the message's integrity. like a vibe check but for cryptography. if it's fake, they will KNOW. π₯
the user data part of the message ends up in outbuf. that's the actual good stuff, the payload, the main character of the whole operation. π
the encryption state β including the keyblocks and the addresses β gets taken from auth_context. it's all in there already, you don't have to hand it over again. π«Ά
and THEN β this is the fun bit β if the KRB5_AUTH_CONTEXT_RET_SEQUENCE flag or the KRB5_AUTH_CONTEXT_RET_TIME flag is set in the auth_context, then the sequence number and the time come back to you in the outdata parameter. it's giving "yes and here's the receipts". π§Ύβ¨
ngl, no return-value lore on this page β the synopsis literally says both functions hand you a krb5_error_code, so check that. no cap. π
π SEE ALSO π
the whole little friend group. go read them, they're all part of the same era. π¦
written by the lovely people at HEIMDAL, dated May 1, 2006 β a classic, honestly, an absolute icon of a timestamp, and it ate π β¨π
π¦ where this page comes from
- alpine 3.22: heimdal-doc 7.8.0-r4 Β· BSD-3-Clause
- alpine 3.23: heimdal-doc 7.8.0-r5 Β· BSD-3-Clause
- alpine 3.24: heimdal-doc 7.8.0-r5 Β· BSD-3-Clause
- debian bookworm: heimdal-dev 7.8.git20221117.28daf24+dfsg-2 Β· BSD-3-Clause
- debian trixie: heimdal-dev 7.8.git20221117.28daf24+dfsg-9+deb13u1 Β· BSD-3-Clause
- epel 10: heimdal-devel 7.8.0-26.el10_2 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- epel 9: heimdal-devel 7.8.0-5.el9 Β· BSD and MIT
- fedora 43: heimdal-devel 7.8.0-26.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 43: heimdal-devel 7.8.0-26.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-26.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-26.fc43 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-28.fc44 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- fedora 44: heimdal-devel 7.8.0-28.fc44 Β· BSD-2-Clause AND BSD-3-Clause AND HPND-export-US AND HPND-export2-US AND LicenseRef-Fedora-Public-Domain
- nixpkgs unstable: heimdal 7.8.0-unstable-2024-09-10
- ubuntu jammy: heimdal-dev 7.7.0+dfsg-3ubuntu1 Β· BSD-3-Clause
- ubuntu noble: heimdal-dev 7.8.git20221117.28daf24+dfsg-5ubuntu3 Β· BSD-3-Clause
- ubuntu questing: heimdal-dev 7.8.git20221117.28daf24+dfsg-9ubuntu1
- ubuntu resolute: heimdal-dev 7.8.git20221117.28daf24+dfsg-11ubuntu1 Β· BSD-3-Clause
- ubuntu stonking: heimdal-dev 7.8.git20240113.1b4565a+dfsg-2ubuntu1 Β· BSD-3-Clause
- Copyright (c) 2003 Kungliga Tekniska HΓΆgskolan
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms