code: def validate_aead_otp(self, public_id, otp, key_handle, aead):
          
          if type(public_id) is not str:
              assert()
          if type(otp) is not str:
              assert()
          if type(key_handle) is not int:
              assert()
          if type(aead) is not str:
              assert()
          return pyhsm.validate_cmd.YHSM_Cmd_AEAD_Validate_OTP( \
              self.stick, public_id, otp, key_handle, aead).execute()
docs: 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}