def validate_aead_otp(self, public_id, otp, key_handle, aead):
if type(public_id) is not str:<EOL><INDENT>assert()<EOL><DEDENT>if type(otp) is not str:<EOL><INDENT>assert()<EOL><DEDENT>if type(key_handle) is not int:<EOL><INDENT>assert()<EOL><DEDENT>if type(aead) is not str:<EOL><INDENT>assert()<EOL><DEDENT>return pyhsm.validate_cmd.YHSM_Cmd_AEAD_Validate_OTP(self.stick, public_id, otp, key_handle, aead).execute()<EOL>
Ask YubiHSM to validate a YubiKey OTP using an AEAD and a key_handle to
decrypt the AEAD.

@param public_id: The six bytes public id of the YubiKey
@param otp: The one time password (OTP) to validate
@param key_handle: The key handle that can decrypt the AEAD
@param aead: AEAD containing the cryptographic key and permission flags
@type public_id: string
@type otp: string
@type key_handle: integer or string
@type aead: L{YHSM_GeneratedAEAD} or string

@returns: validation response
@rtype: L{YHSM_ValidationResult}

@see: L{pyhsm.validate_cmd.YHSM_Cmd_AEAD_Validate_OTP}