rel=canonical won't work if the domain Google sees you on is different from the one specified as canonical.  This is to prevent people capable of content injection from hijacking entire websites in a subtle manner.