I use Ragg Top brand kit to care for my canvas tops. I got it at Tweeks and it consists of a cleaner and then another component that's paraffin based to help keep it waterproof. I haven't done it before but I guess you could clean it first with Ragg Top so as to get all the dirt out, then dye it black with fabric dye and after that dries out use the waterproofing component. Just make sure the dye isn't colorfast.