The Kerberos v5 library error code table follows. Protocol error codes are ERROR_TABLE_BASE_krb5 + the protocol error code number. Other error codes start at ERROR_TABLE_BASE_krb5 + 128.
| krb5kdc_err_none | No error |
| krb5kdc_err_name_exp | Client's entry in database has expired |
| krb5kdc_err_service_exp | Server's entry in database has expired |
| krb5kdc_err_bad_pvno | Requested protocol version not supported |
| krb5kdc_err_c_old_mast_kvno | Client's key is encrypted in an old master key |
| krb5kdc_err_s_old_mast_kvno | Server's key is encrypted in an old master key |
| krb5kdc_err_c_principal_unknown | Client not found in Kerberos database |
| krb5kdc_err_s_principal_unknown | Server not found in Kerberos database |
| krb5kdc_err_principal_not_unique | Principal has multiple entries in Kerberos database |
| krb5kdc_err_null_key | Client or server has a null key |
| krb5kdc_err_cannot_postdate | Ticket is ineligible for postdating |
| krb5kdc_err_never_valid | Requested effective lifetime is negative or too short |
| krb5kdc_err_policy | KDC policy rejects request |
| krb5kdc_err_badoption | KDC can't fulfill requested option |
| krb5kdc_err_etype_nosupp | KDC has no support for encryption type |
| krb5kdc_err_sumtype_nosupp | KDC has no support for checksum type |
| krb5kdc_err_padata_type_nosupp | KDC has no support for padata type |
| krb5kdc_err_trtype_nosupp | KDC has no support for transited type |
| krb5kdc_err_client_revoked | Clients credentials have been revoked |
| krb5kdc_err_service_revoked | Credentials for server have been revoked |
| krb5kdc_err_tgt_revoked | TGT has been revoked |
| krb5kdc_err_client_notyet | Client not yet valid try again later |
| krb5kdc_err_service_notyet | Server not yet valid try again later |
| krb5kdc_err_key_exp | Password has expired |
| krb5kdc_preauth_failed | Preauthentication failed |
| krb5kdc_err_preauth_require | Additional pre-authentication required |
| krb5kdc_err_server_nomatch | Requested server and ticket don't match |
| krb5krb_ap_err_bad_integrity | Decrypt integrity check failed |
| krb5krb_ap_err_tkt_expired | Ticket expired |
| krb5krb_ap_err_tkt_nyv | Ticket not yet valid |
| krb5krb_ap_err_repeat | Request is a replay |
| krb5krb_ap_err_not_us | The ticket isn't for us |
| krb5krb_ap_err_badmatch | Ticket/authenticator don't match |
| krb5krb_ap_err_skew | Clock skew too great |
| krb5krb_ap_err_badaddr | Incorrect net address |
| krb5krb_ap_err_badversion | Protocol version mismatch |
| krb5krb_ap_err_msg_type | Invalid message type |
| krb5krb_ap_err_modified | Message stream modified |
| krb5krb_ap_err_badorder | Message out of order |
| krb5placehold_43 | KRB5 error code 43 |
| krb5krb_ap_err_badkeyver | Key version is not available |
| krb5krb_ap_err_nokey | Service key not available |
| krb5krb_ap_err_mut_fail | Mutual authentication failed |
| krb5krb_ap_err_baddirection | Incorrect message direction |
| krb5krb_ap_err_method | Alternative authentication method required |
| krb5krb_ap_err_badseq | Incorrect sequence number in message |
| krb5krb_ap_err_inapp_cksum | Inappropriate type of checksum in message |
| krb5krb_err_generic | Generic error (see e-text) |
| krb5krb_err_field_toolong | Field is too long for this implementation |
| krb5_libos_badlockflag | Invalid flag for file lock mode |
| krb5_libos_cantreadpwd | Cannot read password |
| krb5_libos_badpwdmatch | Password mismatch |
| krb5_libos_pwdintr | Password read interrupted |
| krb5_parse_illchar | Illegal character in component name |
| krb5_parse_malformed | Malformed representation of principal |
| krb5_config_cantopen | Can't open/find configuration file |
| krb5_config_badformat | Improper format of configuration file |
| krb5_config_notenufspace | Insufficient space to return complete information |
| krb5_badmsgtype | Invalid message type specified for encoding |
| krb5_cc_badname | Credential cache name malformed |
| krb5_cc_unknown_type | Unknown credential cache type |
| krb5_cc_notfound | Matching credential not found |
| krb5_cc_end | End of credential cache reached |
| krb5_no_tkt_supplied | Request did not supply a ticket |
| krb5krb_ap_wrong_princ | Wrong principal in request |
| krb5krb_ap_err_tkt_invalid | Ticket has invalid flag set |
| krb5_princ_nomatch | Requested principal and ticket don't match |
| krb5_kdcrep_modified | KDC reply did not match expectations |
| krb5_kdcrep_skew | Clock skew too great in KDC reply |
| krb5_in_tkt_realm_mismatch | Client/server realm mismatch in initial ticket requst |
| krb5_prog_etype_nosupp | Program lacks support for encryption type |
| krb5_prog_keytype_nosupp | Program lacks support for key type |
| krb5_wrong_etype | Requested encryption type not used in message |
| krb5_prog_sumtype_nosupp | Program lacks support for checksum type |
| krb5_realm_unknown | Cannot find KDC for requested realm |
| krb5_service_unknown | Kerberos service unknown |
| krb5_kdc_unreach | Cannot contact any KDC for requested realm |
| krb5_no_localname | No local name found for principal name |
| krb5_rc_type_exists | Replay cache type is already registered |
| krb5_rc_malloc | No more memory to allocate (in replay cache code) |
| krb5_rc_type_notfound | Replay cache type is unknown |
| krb5_rc_unknown | Generic unknown RC error |
| krb5_rc_replay | Message is a replay |
| krb5_rc_io | Replay I/O operation failed XXX |
| krb5_rc_noio | Replay cache type does not support non-volatile storage |
| krb5_rc_parse | Replay cache name parse/format error |
| krb5_rc_io_eof | End-of-file on replay cache I/O |
| krb5_rc_io_malloc | No more memory to allocate (in replay cache I/O code) |
| krb5_rc_io_perm | Permission denied in replay cache code |
| krb5_rc_io_io | I/O error in replay cache i/o code |
| krb5_rc_io_unknown | Generic unknown RC/IO error |
| krb5_rc_io_space | Insufficient system space to store replay information |
| krb5_trans_cantopen | Can't open/find realm translation file |
| krb5_trans_badformat | Improper format of realm translation file |
| krb5_lname_cantopen | Can't open/find lname translation database |
| krb5_lname_notrans | No translation available for requested principal |
| krb5_lname_badformat | Improper format of translation database entry |
| krb5_crypto_internal | Cryptosystem internal error |
| krb5_kt_badname | Key table name malformed |
| krb5_kt_unknown_type | Unknown Key table type |
| krb5_kt_notfound | Key table entry not found |
| krb5_kt_end | End of key table reached |
| krb5_kt_nowrite | Cannot write to specified key table |
| krb5_kt_ioerr | Error writing to key table |
| krb5_no_tkt_in_rlm | Cannot find ticket for requested realm |
| krb5des_bad_keypar | DES key has bad parity |
| krb5des_weak_key | DES key is a weak key |
| krb5_bad_keytype | Keytype is incompatible with encryption type |
| krb5_bad_keysize | Key size is incompatible with encryption type |
| krb5_bad_msize | Message size is incompatible with encryption type |
| krb5_cc_type_exists | Credentials cache type is already registered. |
| krb5_kt_type_exists | Key table type is already registered. |
| krb5_cc_io | Credentials cache I/O operation failed XXX |
| krb5_fcc_perm | Credentials cache file permissions incorrect |
| krb5_fcc_nofile | No credentials cache file found |
| krb5_fcc_internal | Internal file credentials cache error |
| krb5_cc_nomem | No more memory to allocate (in credentials cache code) |
| krb5_invalid_flags | Invalid KDC option combination (library internal error) |
| krb5_no_2nd_tkt | Request missing second ticket |
| krb5_nocreds_supplied | No credentials supplied to library |
| krb5_sendauth_badauthvers | Bad sendauth version was sent |
| krb5_sendauth_badapplvers | Bad application version was sent (via sendauth) |
| krb5_sendauth_badresponse | Bad response (during sendauth exchange) |
| krb5_sendauth_rejected | Server rejected authentication (during sendauth exchange) |
| krb5_sendauth_mutual_failed | Mutual authentication failed (during sendauth exchange) |
| krb5_preauth_bad_type | Unsupported preauthentication type |
| krb5_preauth_no_key | Required preauthentication key not supplied |
| krb5_preauth_failed | Generic preauthentication failure version number errors |
| krb5_rcache_badvno | Unsupported replay cache format version number |
| krb5_ccache_badvno | Unsupported credentials cache format version number |
| krb5_keytab_badvno | Unsupported key table format version number other errors |
| krb5_prog_atype_nosupp | Program lacks support for address type |
| krb5_rc_required | Message replay detection requires rcache parameter |
| krb5_err_bad_hostname | Hostname cannot be canonicalized |
| krb5_err_host_realm_unknown | Cannot determine realm for host |
| krb5_sname_unsupp_nametype | Conversion to service principal undefined for name type |
| krb5krb_ap_err_v4_reply | Initial Ticket Response appears to be Version 4 error |
| krb5_realm_cant_resolve | Cannot resolve KDC for requested realm |
| krb5_tkt_not_forwardable | Requesting ticket can't get forwardable tickets |
ERROR CODES 128 through 255 | |
| krb5_kdb_inuse | Entry already exists in database |
| krb5_kdb_uk_serror | Database store error |
| krb5_kdb_uk_rerror | Database read error |
| krb5_kdb_unauth | Insufficient access to perform requested operation |
| krb5_kdb_noentry | No such entry in the database |
| krb5_kdb_ill_wildcard | Illegal use of wildcard |
| krb5_kdb_db_inuse | Database is locked or in use-try again later |
| krb5_kdb_db_changed | Database was modified during read |
| krb5_kdb_truncated_record | Database record is incomplete or corrupted |
| krb5_kdb_recursivelock | Attempt to lock database twice |
| krb5_kdb_notlocked | Attempt to unlock database when not locked |
| krb5_kdb_badlockmode | Invalid kdb lock mode |
| krb5_kdb_dbnotinited | Database has not been initialized |
| krb5_kdb_dbinited | Database has already been initialized |
| krb5_kdb_illdirection | Bad direction for converting keys |
| krb5_kdb_nomasterkey | Cannot find master key record in database |
| krb5_kdb_badmasterkey | Master key does not match database |
| krb5_kdb_invalidkeysize | Key size in database is invalid |
| krb5_kdb_cantread_stored | Cannot find/read stored master key |
| krb5_kdb_badstored_mkey | Stored master key is corrupted |
| krb5_kdb_cantlock_db | Insufficient access to lock database |
| krb5_kdb_db_corrupt | Database format error |
| krb5_kdb_bad_version | Unsupported version in database entry |
ERROR CODES 128 through 255 | |
| kv5m_none | Kerberos V5 magic number table |
| kv5m_principal | Bad magic number for krb5_principal structure |
| kv5m_data | Bad magic number for krb5_data structure |
| kv5m_keyblock | Bad magic number for krb5_keyblock structure |
| kv5m_checksum | Bad magic number for krb5_checksum structure |
| kv5m_encrypt_block | Bad magic number for krb5_encrypt_block structure |
| kv5m_enc_data | Bad magic number for krb5_enc_data structure |
| kv5m_cryptosystem_entry | Bad magic number for krb5_cryptosystem_entry structure |
| kv5m_cs_table_entry | Bad magic number for krb5_cs_table_entry structure |
| kv5m_checksum_entry | Bad magic number for krb5_checksum_entry structure |
| kv5m_authdata | Bad magic number for krb5_authdata structure |
| kv5m_transited | Bad magic number for krb5_transited structure |
| kv5m_enc_tkt_part | Bad magic number for krb5_enc_tkt_part structure |
| kv5m_ticket | Bad magic number for krb5_ticket structure |
| kv5m_authenticator | Bad magic number for krb5_authenticator structure |
| kv5m_tkt_authent | Bad magic number for krb5_tkt_authent structure |
| kv5m_creds | Bad magic number for krb5_creds structure |
| kv5m_last_req_entry | Bad magic number for krb5_last_req_entry structure |
| kv5m_pa_data | Bad magic number for krb5_pa_data structure |
| kv5m_kdc_req | Bad magic number for krb5_kdc_req structure |
| kv5m_enc_kdc_rep_part | Bad magic number for krb5_enc_kdc_rep_part structure |
| kv5m_kdc_rep | Bad magic number for krb5_kdc_rep structure |
| kv5m_error | Bad magic number for krb5_error structure |
| kv5m_ap_req | Bad magic number for krb5_ap_req structure |
| kv5m_ap_rep | Bad magic number for krb5_ap_rep structure |
| kv5m_ap_rep_enc_part | Bad magic number for krb5_ap_rep_enc_part structure |
| kv5m_response | Bad magic number for krb5_response structure |
| kv5m_safe | Bad magic number for krb5_safe structure |
| kv5m_priv | Bad magic number for krb5_priv structure |
| kv5m_priv_enc_part | Bad magic number for krb5_priv_enc_part structure |
| kv5m_cred | Bad magic number for krb5_cred structure |
| kv5m_cred_info | Bad magic number for krb5_cred_info structure |
| kv5m_cred_enc_part | Bad magic number for krb5_cred_enc_part structure |
| kv5m_pwd_data | Bad magic number for krb5_pwd_data structure |
| kv5m_address | Bad magic number for krb5_address structure |
| kv5m_keytab_entry | Bad magic number for krb5_keytab_entry structure |
| kv5m_context | Bad magic number for krb5_context structure |
| kv5m_os_context | Bad magic number for krb5_os_context structure |
| asn1_bad_timeformat | ASN.1 failed call to system time library |
| asn1_missing_field | ASN.1 structure is missing a required field |
| asn1_misplaced_field | ASN.1 unexpected field number |
| asn1_type_mismatch | ASN.1 type numbers are inconsistent |
| asn1_overflow | ASN.1 value too large |
| asn1_overrun | ASN.1 encoding ended unexpectedly |
| asn1_bad_id | ASN.1 identifier doesn't match expected value |
| asn1_bad_length | ASN.1 length doesn't match expected value |
| asn1_bad_format | ASN.1 badly-formatted encoding |
| asn1_parse_error | ASN.1 parse error |