1krb5_k_decrypt_iov - Decrypt data in place supporting AEAD (operates on opaque key). 2====================================================================================== 3 4.. 5 6.. c:function:: krb5_error_code krb5_k_decrypt_iov(krb5_context context, krb5_key key, krb5_keyusage usage, const krb5_data * cipher_state, krb5_crypto_iov * data, size_t num_data) 7 8.. 9 10 11:param: 12 13 **[in]** **context** - Library context 14 15 **[in]** **key** - Encryption key 16 17 **[in]** **usage** - Key usage (see KRB5_KEYUSAGE macros) 18 19 **[in]** **cipher_state** - Cipher state; specify NULL if not needed 20 21 **[inout]** **data** - IOV array. Modified in-place. 22 23 **[in]** **num_data** - Size of *data* 24 25 26.. 27 28 29:retval: 30 - 0 Success; otherwise - Kerberos error codes 31 32 33.. 34 35 36 37 38 39 40 41This function decrypts the data block *data* and stores the output in-place. The actual decryption key will be derived from *key* and *usage* if key derivation is specified for the encryption type. If non-null, *cipher_state* specifies the beginning state for the decryption operation, and is updated with the state to be passed as input to the next operation. The caller must allocate the right number of krb5_crypto_iov structures before calling into this API. 42 43 44 45 46 47 48 49 50 51 52.. 53 54.. seealso:: 55 krb5_k_encrypt_iov() 56 57 58 59 60 61 62.. note:: 63 64 On return from a krb5_c_decrypt_iov() call, the *data->length* in the iov structure are adjusted to reflect actual lengths of the ciphertext used. For example, if the padding length is too large, the length will be reduced. Lengths are never increased. 65 66 67 68 69